diff --git a/.github/workflows/trufflehog.yml b/.github/workflows/trufflehog.yml new file mode 100644 index 00000000000..68424748663 --- /dev/null +++ b/.github/workflows/trufflehog.yml @@ -0,0 +1,60 @@ +#******************************************************************************** +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +#*******************************************************************************/ + +name: "TruffleHog" + +on: + push: + branches: ["main"] + pull_request: + # The branches below must be a subset of the branches above + branches: ["main"] + schedule: + - cron: "0 0 * * *" # Once a day + workflow_dispatch: + +permissions: + actions: read + contents: read + security-events: write + id-token: write + issues: write + +jobs: + ScanSecrets: + name: Scan secrets + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure full clone for pull request workflows + + - name: TruffleHog OSS + id: trufflehog + uses: trufflesecurity/trufflehog@7e78ca385fb82c19568c7a4b341c97d57d9aa5e1 + continue-on-error: true + with: + path: ./ # Scan the entire repository + base: "${{ github.event.repository.default_branch }}" # Set base branch for comparison (pull requests) + extra_args: --filter-entropy=4 --results=verified,unknown --debug + + - name: Scan Results Status + if: steps.trufflehog.outcome == 'failure' + run: exit 1 # Set workflow run to failure if TruffleHog finds secrets diff --git a/.tractusx b/.tractusx index 5dc9c104d23..29bd32e6ce5 100644 --- a/.tractusx +++ b/.tractusx @@ -5,3 +5,5 @@ repositories: - name: "eclipse-tractusx.github.io" usage: "Eclipse-tractusx website repository" url: "https://github.com/eclipse-tractusx/eclipse-tractusx.github.io" +openApiSpecs: +- "https://raw.githubusercontent.com/eclipse-tractusx/eclipse-tractusx.github.io/main/openApi/dt/kit_digital-twin-kit-submodel-api_openAPI.yaml" diff --git a/DEPENDENCIES b/DEPENDENCIES index c87d53f1dd0..74fc085ec63 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -144,7 +144,7 @@ npm/npmjs/-/cose-base/2.2.0, MIT, approved, clearlydefined npm/npmjs/-/cosmiconfig/6.0.0, MIT, approved, clearlydefined npm/npmjs/-/cosmiconfig/7.1.0, MIT, approved, #4975 npm/npmjs/-/cross-fetch/3.1.5, MIT, approved, clearlydefined -npm/npmjs/-/cross-spawn/7.0.3, MIT, approved, clearlydefined +npm/npmjs/-/cross-spawn/7.0.3, MIT, approved, #17146 npm/npmjs/-/crypto-js/4.1.1, MIT AND BSD-2-Clause, approved, #6630 npm/npmjs/-/crypto-random-string/2.0.0, MIT, approved, clearlydefined npm/npmjs/-/css-declaration-sorter/6.3.1, ISC, approved, clearlydefined @@ -1220,7 +1220,7 @@ npm/npmjs/@mui/material/5.11.4, MIT, approved, #6619 npm/npmjs/@mui/private-theming/5.11.2, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #6629 npm/npmjs/@mui/styled-engine/5.11.0, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #6642 npm/npmjs/@mui/system/5.11.4, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #6627 -npm/npmjs/@mui/types/7.2.3, MIT, approved, clearlydefined +npm/npmjs/@mui/types/7.2.3, MIT, approved, #16017 npm/npmjs/@mui/utils/5.11.2, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #6632 npm/npmjs/@nodelib/fs.scandir/2.1.5, MIT, approved, clearlydefined npm/npmjs/@nodelib/fs.stat/2.0.5, MIT, approved, clearlydefined @@ -1228,7 +1228,7 @@ npm/npmjs/@nodelib/fs.walk/1.2.8, MIT, approved, clearlydefined npm/npmjs/@paloaltonetworks/openapi-to-postmanv2/3.1.0-hotfix.1, Apache-2.0 AND (Apache-2.0 AND MIT) AND BSD-2-Clause-Views AND (Apache-2.0 AND BSD-2-Clause AND MIT) AND MIT, approved, #6641 npm/npmjs/@paloaltonetworks/postman-code-generators/1.1.12, Apache-2.0, approved, #6636 npm/npmjs/@paloaltonetworks/postman-collection/4.1.1, Apache-2.0, approved, #6638 -npm/npmjs/@polka/url/1.0.0-next.21, MIT, approved, clearlydefined +npm/npmjs/@polka/url/1.0.0-next.21, MIT, approved, #16183 npm/npmjs/@popperjs/core/2.11.6, MIT, approved, clearlydefined npm/npmjs/@redocly/ajv/8.11.0, MIT, approved, clearlydefined npm/npmjs/@redocly/openapi-core/1.0.0-beta.120, MIT AND Apache-2.0, approved, #6639 @@ -1283,7 +1283,7 @@ npm/npmjs/@types/node/18.11.18, MIT, approved, #5746 npm/npmjs/@types/parse-json/4.0.0, MIT, approved, clearlydefined npm/npmjs/@types/parse5/5.0.3, MIT, approved, clearlydefined npm/npmjs/@types/parse5/6.0.3, MIT, approved, clearlydefined -npm/npmjs/@types/prop-types/15.7.5, MIT, approved, clearlydefined +npm/npmjs/@types/prop-types/15.7.5, MIT, approved, #16176 npm/npmjs/@types/qs/6.9.7, MIT, approved, #13991 npm/npmjs/@types/range-parser/1.2.4, MIT, approved, #10795 npm/npmjs/@types/react-is/17.0.3, MIT, approved, #8424 diff --git a/blog-meeting-minutes/2024-06-20-security-hour.md b/blog-meeting-minutes/2024-06-20-security-hour.md new file mode 100644 index 00000000000..5acf289a5c4 --- /dev/null +++ b/blog-meeting-minutes/2024-06-20-security-hour.md @@ -0,0 +1,15 @@ +--- +slug: security-office-hour-2024-06-20 +title: Security Office Hour 2024-06-20 +authors: + - rohan_krishnamurthy +tags: [security, meeting-minutes] +--- + +## Security Office Hour meeting minutes + +### Announcements + +- Reminder about former GitHub Organisation Catenax-ng +- Reminder to remove any test credentials/sensitive that are present in Catenax-ng +- Reminder to look for the results of the security scans after migration to Eclipse Tractus-x diff --git a/blog-meeting-minutes/2024-07-04-security-hour.md b/blog-meeting-minutes/2024-07-04-security-hour.md new file mode 100644 index 00000000000..d675edc9f9b --- /dev/null +++ b/blog-meeting-minutes/2024-07-04-security-hour.md @@ -0,0 +1,15 @@ +--- +slug: security-office-hour-2024-07-04 +title: Security Office Hour 2024-07-04 +authors: + - rohan_krishnamurthy +tags: [meeting-minutes, security] +--- + +## Security Office Hour meeting minutes + +### Announcements + +- Gitguardian tool for secret scanning will be replaced by TruffleHog. This will be used in parallel with Github's native secret scanning tool. +- Trivy workflow has been updated to address the failure of workflows +- Announcement of Security handover during the committer round diff --git a/blog-meeting-minutes/2024-07-05-community-hour.md b/blog-meeting-minutes/2024-07-05-community-hour.md new file mode 100644 index 00000000000..0c3394c4e7c --- /dev/null +++ b/blog-meeting-minutes/2024-07-05-community-hour.md @@ -0,0 +1,34 @@ +--- +slug: community-office-hour-2024-07-05 +title: Community Office Hour 2024-07-05 +authors: + - rohan_krishnamurthy +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- Info from Test / Infrastructure Management CX Association by [Harald](https://github.com/ds-hzimmer): + - SAP DIM follow up meeting with on 8.7.2024 together with Christian Lahmer (SAP) and Evelyn Gurschler and DoubleSlash Net-Business GmbH + - Work-in-progress with SDE team and importing of test cases + - Access is currently limited –> would be great to make it accessible and available within Tractus-X +- [Tomasz](https://github.com/tomaszbarwicki) - Presented about how do you need to publish your API using .tractusx metafile and publish via GitHub pages - [API Hub](https://github.com/eclipse-tractusx/api-hub). + +### Security team + +- Info from security team by [Rohan](https://github.com/RoKrish14): + - Reminder about replacement of GitGuardian with TruffleHog, see according pull request to update TX release guideline: [#950](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/950) + - Reminder about updates to Trivy workflow , see according pull request to update TX release guideline: [#949](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/949) + - Reminder about about absence of security team members from August 2024 + - Security tools walkthrough in the Committers Meeting of July 5, 2024 (about 20 minutes) - [Rohan](https://github.com/RoKrish14) will announce the walkthrough next week on the TX mailing list while sending out a reminder for the meeting + +### FOSS + +- Don't forget to update the legal docs!! Close the tickets in your repositories if its done: [eclipse-tractusx/sig-infra#477](https://github.com/eclipse-tractusx/sig-infra/issues/477) + +### Open planning / community + +- Info by community manager [Stephan](https://github.com/stephanbcbauer) about the Tractus-X/Catena-X working model and the refinement phase for the 24.12 release +- [Registration](https://eveeno.com/126949167) is open for the Third Eclipse Tractus-X Community Days on December 05 and 06, 2024, ARENA2036 in Stuttgart! diff --git a/blog-meeting-minutes/2024-07-26-community-hour.md b/blog-meeting-minutes/2024-07-26-community-hour.md new file mode 100644 index 00000000000..c2924a2ee00 --- /dev/null +++ b/blog-meeting-minutes/2024-07-26-community-hour.md @@ -0,0 +1,40 @@ +--- +slug: community-office-hour-2024-07-26 +title: Community Office Hour 2024-07-26 +authors: + - matbmoser +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- @SebastianBezold -> Wednesday (31.07.2024) the Catena-NG will be deleted! No more access to the consortia environment will be allowed! + - Friendly reminder from @matbmoser: copy the configuration from the consortia environment argo, so you dont loose it, for the association env;) +- @hzierer -> Most of E2E Tests are already passed! Great job everyone! +- @matbmoser -> Don't forget to document the Quality Gate tickets! +- System team is leaving in wednesday! The participants that will not act as committers please or remove yourself from the list, or contact a project lead. Thank you for you wonderful hard work! + +### Security team + +- @RoKrish14 -> TRG for truffelhog is in review https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/950! + - Example Workflow: https://github.com/RoKrish14/puris/blob/test/.github/workflows/trufflehog.yml + +- @RoKrish14 announce that he is leaving wednesday the project! Thank you for you wonderful hard work too! + +- @matbmoser -> We need to start a discussion and an action plan to solve the vulnerabilities in the eclipse-tractusx.github.io webpage repository. (Transfered to Committer Meeting) + +### FOSS + +- Open Project Lead election for Mathias Brunkow Moser, if you are a committer please vote: https://projects.eclipse.org/projects/automotive.tractusx/elections/election-mathias-brunkow-moser-eclipse-tractus-x-0 + +- @matbmoser -> New TRG 9 for UI/UX Styleguideline compliance: https://eclipse-tractusx.github.io/docs/release/trg-9/trg-9-01! + - If you don't agree with something or want an improvement please open a PR with the changes! The Tractus-X community will support you :) + +### Open planning / community + +- Quality Gates and E2E phase is finishing today (26.07.2024). Make sure to keep your QG tickets updated and +- @agg3fe -> The TRG checklist is outdated + - @matbmoser -> I have created a PR to update the list: https://github.com/eclipse-tractusx/.github/pull/27 + \ No newline at end of file diff --git a/blog-meeting-minutes/2024-08-02-community-hour.md b/blog-meeting-minutes/2024-08-02-community-hour.md new file mode 100644 index 00000000000..f5f28f28387 --- /dev/null +++ b/blog-meeting-minutes/2024-08-02-community-hour.md @@ -0,0 +1,34 @@ +--- +slug: community-office-hour-2024-08-02 +title: Community Office Hour 2024-08-02 +authors: + - tom-rm-meyer-ISST +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- Discussion on catenax-ng + - @matbmoser: please cross-check your own repository, if you reference it! + - @lgblaumeiser: we noticed that the R24.03 MIW needs catenax-ng resources. It temporarily stays up. (see [issue](https://github.com/eclipse-tractusx/managed-identity-wallet/issues/342)) +- Consortia teams are gone. Thanks, it was a pleasure! + +### Security team + +- @matbmoser: Please do check for your security issues on the tab. High and critical issues need to be fixed. We should check this on high level / project level regularly in this meeting +- @tom-rm-meyer-ISST: For Truffle Hog, make sure that the workflow runs before merging. (see [e.g.](eclipse-tractusx/puris#531)) + +### FOSS + +- @AngelikaWittek is gone. Thanks for your work! + +### Open planning / community + +- @stephanbcbauer: + - Refinement Phase went well overall. Committers please join the planning meetings. + - Some QGates are still open, please check. + - Review together the [release preparation](https://github.com/eclipse-tractusx/tractus-x-release/pull/34) + + \ No newline at end of file diff --git a/blog-meeting-minutes/2024-08-30-community-hour.md b/blog-meeting-minutes/2024-08-30-community-hour.md new file mode 100644 index 00000000000..758e4901124 --- /dev/null +++ b/blog-meeting-minutes/2024-08-30-community-hour.md @@ -0,0 +1,23 @@ +--- +slug: community-office-hour-2024-07-26 +title: Community Office Hour 2024-07-26 +authors: + - arno_weiss +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- @ds-hzimmer will continue to report from the monthly infrastructure updates that are to happen every month's last sunday. + - product teams will have to check their deployments after that + +### Security team + +- Trufflehog has now officially replaced GitGuardian as secret-scanning tool for Eclipse Tractus-X. [This is encoded by TRG8.03](https://eclipse-tractusx.github.io/docs/release/trg-8/trg-8-03) +- @ds-hzimmer reports about the sporadic use of the current sonarcloud instance for Eclipse Tractus-X. There's no TRG for it. It's unclear what additional benefit it will bring to those tools that are backed up with TRGs (Trufflehog, trivy, codeql). + +### Q&A + +- @tom-rm-meyer-ISST reports issues with the tls provider which will be checked with the infrastructure team. diff --git a/blog-meeting-minutes/2024-10-11-community-hour.md b/blog-meeting-minutes/2024-10-11-community-hour.md new file mode 100644 index 00000000000..7b3349a2a0e --- /dev/null +++ b/blog-meeting-minutes/2024-10-11-community-hour.md @@ -0,0 +1,49 @@ +--- +slug: community-office-hour-2024-10-11 +title: Community Office Hour 2024-10-11 +authors: + - theresa_hilger +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- [eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) requires just One Committer Review now + - Committers that approve: Please double-check the content, remember you have also responsibility when approving non TRG compliant content + - Expectation for KITs: It should be less stressful to find a committer +- Setup Catena-X STABLE Environment + - Organizational issue that’s why the stable is not there right now but they are working on it + - Questions: Will the STABLE environment stick to the released version or will it evolve with the development of the components? +- Planned general infrastructure maintenance INT environment 2024-09-29 + - 24.12 e2e test phase on INT environment still planned to start 25.10. as communicated in adapted timeline + +### Release Management + +- EDC 0.8.0 to be used during e2e testing. + - The upcoming Eclipse Tractus-X 24.12 release will include EDC version 0.8.0. + - If your component relies on the Eclipse DataspaceConnector (EDC), we highly encourage you to align your development and testing efforts with this version to ensure compatibility. +- Reminder for Refinement Day 1: 16.10 + - Each group will focus on the first steps of skeleton-building for their features, based on the feature template, mapping them to the related roadmap items + - For more information please read the [news blog](https://eclipse-tractusx.github.io/blog/refinement-day-1-R25.03) +- Reminder for Refinement Day 2: 06.11 + - Build on the work from Refinement Day 1 and focus primarily on the identified dependencies + - For more information, please read the [news blog](https://eclipse-tractusx.github.io/blog/refinement-day-2-R25.03) + +### Security + +- [Trufflehog Update] Deprecation of GitGuardian and mandatory update to Trufflehog + - Please update your repositories + - There are still many issues opened and waiting to be resolved by their responsible committer + - [Parent Issue](https://github.com/eclipse-tractusx/sig-security/issues/86) + - The Trufflehog Workflow is a active [TRG](https://eclipse-tractusx.github.io/docs/release/trg-8/trg-8-03/) since March 26,2024 + +### FOSS + +- TRG proposal for product deprecation including a process and criteria to close [Issue #1037](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/issues/1037) +- Please review and provide some input + +### Feedback / Question / Request + +- Add Testmanagement timeline into timeline of the overall release diff --git a/blog-meeting-minutes/2024-10-18-community-hour.md b/blog-meeting-minutes/2024-10-18-community-hour.md new file mode 100644 index 00000000000..5bed08b1f88 --- /dev/null +++ b/blog-meeting-minutes/2024-10-18-community-hour.md @@ -0,0 +1,39 @@ +--- +slug: community-office-hour-2024-10-18 +title: Community Office Hour 2024-10-18 +authors: + - lgblaumeiser +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- Test Environments: + - Currently a blocking issue is with SAP. They want to do a change in the DIF deployment and we are blocked by that. Target for the change is early next week. This involves both STABLE and INT environment. + - It is important that we can start with the deployment for the e2e test of 24/12 on INT, there are school holidays in southern Germany between Oct., 28th and Nov., 1st, so deployment is constrained in time. + - The INT environment has to be wiped to start from scratch with the deployment for 24/12. + - Doubleslash will provide information on how to proceed next week. + +### Release Management + +- EDC 0.8.0 to be used during e2e testing. There will be a RC5 early next week, that should be used as a start for e2e testing +- Release check issues are due on Oct. 18th for release 24/12 + +### FOSS + +- Sources of pictures: Do we need to regulate the availability of sources for binary pictures, as there are pictures in the website repo without editable sources. + - There is already a TRG that specifies the handling of pictures. It should be controlled better by committers. +- Concerning intermediate releases, especially bugfix releases that need to be done in Tractus-X during a operating cycle. There is a task to make a proposal on how to handle the situation from Eclipse Tractus-X perspective. +- Deprecation of Repos. The regulation in TRG 7.09 is currently reworked to be more precise. +- Discussion on a TRG about testing. + - Doubleslash prepares a TRG concerning automated testing + - Some repositories use SonarCloud and code coverage measurements there + - General openness towards a new trial on some specs concering testing + +### Community/Open Planning + +- Files like presentations done during Open Planning are currently not provided in Open Source. The proposal is to store such files in the already existing large files repository attached to the webpage repo. +- Open Meetings page has been enhanced, there are now relevant links like to the task board that is relevant and related release timelines +- Regular New Joiner meeting was canceled. If a session is needed, it needs to be requested diff --git a/blog-meeting-minutes/2024-11-08-community-hour.md b/blog-meeting-minutes/2024-11-08-community-hour.md new file mode 100644 index 00000000000..756912a570f --- /dev/null +++ b/blog-meeting-minutes/2024-11-08-community-hour.md @@ -0,0 +1,42 @@ +--- +slug: community-office-hour-2024-11-08 +title: Community Office Hour 2024-11-08 +authors: + - tom-rm-meyer-ISST +tags: [community, meeting-minutes] +--- + +## Office Hour meeting minutes + +### Infrastructure + +- Test Environments: + - STABLE environment24.12 installations in early december + - Test Management: Reference Quality Gate Checks and walkthrough them in "Test Management" + - Resolved Issue with SAP DIV -> Onboarding should work now + +### Release Management + +- Reminders + - use TX EDC 0.8.0 RC5 -> RC6 is on its way -> Rediscuss in testmanagement daily during next week + - we should improve test automation -> the umbrella helm chart targets to support that + - reminder for open planning + +### Security + +- GitGuardian will be removed soon. + +### FOSS + +- [TRG 7.09](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/1045) +- discuss how to document releases between ecosystem releases and deployment experiences -> ongoing / announcement +- TRG about testing will come up +- Mano's election ended. Reminders + - small amount of participations + - points that would have been great: participation in community & handling of TRGs etc. +- ClearlyDefined is down: revisit on next week and then ask via IP matrix check +- MDX files in KITs: only if needed, is CC-BY-4.0 + +### Community/Open Planning + +- remove the .cal file and just state the time (in an international time format) diff --git a/blog-meeting-minutes/authors.yaml b/blog-meeting-minutes/authors.yaml index 576e41e6a6e..3ab1fd2ccf4 100644 --- a/blog-meeting-minutes/authors.yaml +++ b/blog-meeting-minutes/authors.yaml @@ -14,7 +14,7 @@ almadi_gabor: title: Consortia System Team Member url: https://github.com/almadigabor image_url: https://github.com/almadigabor.png - + fabian_gruen: name: Fabian Grün title: Consortia System Team Member @@ -45,8 +45,32 @@ matbmoser: name: Mathias Brunkow Moser title: DPP Architect, Eclipse Committer url: https://github.com/matbmoser + image_url: https://github.com/matbmoser.png evelyn_gurschler: name: Evelyn Gurschler title: Tractus-X Project Lead url: https://github.com/evegufy + +arno_weiss: + name: Arno Weiß + title: Tractus-X Committer + url: https://github.com/arnoweiss + +tom-rm-meyer-ISST: + name: Tom Meyer + title: PURIS Architect, Eclipse Committer + url: https://github.com/tom-rm-meyer-ISST + image_url: https://github.com/tom-rm-meyer-ISST.png + +lgblaumeiser: + name: Lars Geyer-Blaumeiser + title: EDC responsible + url: https://github.com/lgblaumeiser + image_url: https://github.com/lgblaumeiser.png + +theresa_hilger: + name: Theresa Hilger + title: Data Space Operations Manager + url: https://github.com/ther3sa + image_url: https://github.com/ther3sa.png \ No newline at end of file diff --git a/blog/2024-07-31-open-planning-r24.12.mdx b/blog/2024-07-31-open-planning-r24.12.mdx index 69d8a324630..2d7e8e01110 100644 --- a/blog/2024-07-31-open-planning-r24.12.mdx +++ b/blog/2024-07-31-open-planning-r24.12.mdx @@ -22,7 +22,7 @@ Please feel free to forward this post to anyone interested in contributing, whet ## Open Meetings - **[Refinement Phase - Release 24.12](#refinement-phase---release-2412)** -- **[Refinement Day 1 - Release 24.12](#refinement-day-1---release-2412)** +- ~~**[Refinement Day 1 - Release 24.12](#refinement-day-1---release-2412)**~~ **meeting canceled** - **[Draft Feature Freeze - Release 24.12](#draft-feature-freeze---release-2412)** - **[Refinement Day 2 - Release 24.12](#refinement-day-2---release-2412)** - **[Open Planning Days - Release 24.12](#open-planning-days---release-2412)** @@ -39,7 +39,7 @@ communicating with the relevant contacts themselves. The Teams Session link can - *Monday, 24. June 2024 to Sunday, 28. July 2024 (CEST)* - [open meeting](https://eclipse-tractusx.github.io/community/open-meetings/#Refinement%20Phase%20-%20Release%2024.12) -### Refinement Day 1 - Release 24.12 +### ~~Refinement Day 1 - Release 24.12~~ **meeting canceled This event is organised and moderated by the Catena-X Association. Based on a predefined agenda (depending on the features on the board), individual dependencies are discussed and also documented directly on the feature. If the refinement of the features has already been carried out 'in the refinement phase' and the Definition of Entry (DoE) has already reached, diff --git a/blog/2024-10-16-refinement-day-1-R25.03.mdx b/blog/2024-10-16-refinement-day-1-R25.03.mdx new file mode 100644 index 00000000000..90108857fd8 --- /dev/null +++ b/blog/2024-10-16-refinement-day-1-R25.03.mdx @@ -0,0 +1,103 @@ +--- +title: Refinement Day 1 for Release 25.03 +description: Tractus-X Community Update - Refinement Day 1 for Release 25.03 +slug: refinement-day-1-R25.03 +date: 2024-10-09T09:00 +hide_table_of_contents: false +authors: + - name: Stephan Bauer + title: Platform Domain Manager + url: https://github.com/stephanbcbauer + image_url: https://github.com/stephanbcbauer.png + email: stephan.bauer@catena-x.net +--- + +import RenderImage from './RenderImage' + +![eclipse tractus x logo](@site/static/img/Tractus-X_openplanning.png) + +Hello, Eclipse Tractus-X Community! + +We’re excited to announce **Refinement Day 1**, taking place on **October 16th, from 09:05 to 12:00**. This event is focused on refining features for the +upcoming **Release 25.03**. Unlike previous meetings, this won't just be a feature presentation day — we’ll be diving into hands-on work, helping each other +refine features and identify dependencies. + +The blocker and overall teams session link can be found on our [open-meetings](https://eclipse-tractusx.github.io/community/open-meetings#Refinement%20Day%201%20-%20Release%2025.03) page. We look forward to seeing you all there! + + + +## Agenda for Refinement Day 1 + +Here’s the plan for the day: +- **09:05 - 09:30**: Welcome, Introduction, and Expectations +- **09:30 - 11:15**: Refinement in dedicated groups, grouped by expert groups +- **11:15 - 11:45**: Presenting the results, grouped by expert groups +- **11:45 - 12:00**: Closing and Next Steps + +During the refinement sessions, each group will focus on the first steps of skeleton-building for their features (based on the [feature template](https://github.com/eclipse-tractusx/sig-release/issues/new?assignees=&labels=&projects=&template=1_feature_template.md), +mapping them to the related roadmap items. Don’t worry about completing every section of the feature template just yet — this is a time for brainstorming and forming initial ideas. + +It's essential, however, to use the **feature template** and identify **dependencies** with other components or groups, which will help us add the correct labels to the features. +You’re encouraged to collaborate across groups as needed, and we’ll provide **Teams sessions** for each group to work in. + +## Group Work & Presenting Results + +The goal of the refinement is to **identify the first ideas and dependencies** within your group. The **General Teams session** will be available for any questions that come up during this collaborative work. + +Important for the session: +- Use the [feature template](https://github.com/eclipse-tractusx/sig-release/issues/new?assignees=&labels=&projects=&template=1_feature_template.md) to structure your work +- Identify dependencies with other components or groups and add the correct labels to the features +- Use the supported-by field to map the feature with your expert group + +At the end of the refinement session, we’ll regroup and present the progress made. Each expert group will present their refined features, focusing on what’s been developed so far and the key insights. + +### Committee/Expert Groups and Teams Sessions: + +:::tip +The sessions for the committees can be used to sync within the underlying expert groups. Feel free to switch between groups if necessary! +::: + +- [Network Service Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MDM1MjE2NmQtMDU5NC00MjM2LTlkOGEtZWI1YTM0MzBjMTkw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Business Partner Data Management](https://teams.microsoft.com/l/meetup-join/19%3ameeting_YThmNzMzODAtM2M0NS00MGVjLWJiNjMtODA5Njk3OWY4ODFi%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Self-Sovereign Identity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGY3YzE1OTAtMDgxMS00YTVhLWE2ODYtMzM4MDMxZTk5MWJh%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Dataspace Connectivity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTJmYzdmOGMtOGE3Mi00YjkzLThlZTEtMTliNzJiZDljMTZl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Digital Twins](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDkyMWZmNDMtYmYzYi00MGM4LTg5NmUtNDIzZGJiZjFmZTIz%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Company Certificate Management](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZDVhNGMzYjAtNTk1MC00NTZlLWI1NzgtYjE0MjQ2NDgxOTJj%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Sustainability Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_Y2Y1YTY3ZGQtMzEzOC00MGJmLTk1ZjEtOTBhZjgxMWVkZjBi%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Digital Product Pass](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTQxMWY0YzgtYmM5MS00ZTA4LWE2YTUtMzk5Y2Y2NmZmNjJl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Circularity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDMxOGM2YTItZGVhOC00N2EzLTlmMGEtYWJmYjYwOWFmMjk4%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - Methodology & Verification](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MDIwMmQ3MGQtZWQ1Mi00YzQ5LTg3MjMtMmM3MWY1OGRlYmM2%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - Architecture & Interoperability](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjFlZWYzNWYtNTViMy00NmExLTljOGYtYWE0N2U5MmQ3MzI3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - on Electronics](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWI1MzJmMzQtODliOC00ZDM0LTk0ZDgtMDdmYTljMGUxZjE3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Product Lifecycle, Quality and Resiliency Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_YmFhNDllOWItMWFiYi00MzBhLTkwZDMtM2FiOGZjOTAwY2E4%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Traceability](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTRmZjI5Y2EtZmZjYy00ZDcxLWIyMTItMzc0YzYwMzMwZGI3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Demand & Capacity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MzhhMDMwZDQtMWM5Ny00YjNlLWEyZDYtNjg1MTRlZTM0ZGI5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Online Simulation](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjUyMzRiYTItMDNhNC00YzJhLWE0MmItOGZjZGU2MDEzNWE1%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [PURIS](https://teams.microsoft.com/l/meetup-join/19%3ameeting_OWZhODUxZGMtMGExNS00Y2NiLThlM2YtM2ExMjYyM2IzZTkw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data-driven Quality](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZDNjYTg5NjEtMGU1Mi00MWQ4LWI2ZTctZmQ5NDQwNmYzOGM1%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Industry Core Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzUxYzNlZjYtNzdkMi00NTExLWEzMWItMDc0NTM1YjM4ZGM5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Architecture Management Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjI5YjNiNjItYTY4Ny00YTY0LTllNDAtZGRkMmMwYjA4OGRl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Data Space Operations Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_Mzk3N2ExMWMtNTk4ZS00ZjI0LWEzZjgtZDliOTM1MjE0ZmY0%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data Sovereignty](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWIwOGFiOGYtMjQ3Ni00YjA0LTg1N2MtNDJmMTQ0OGQ0ZTBm%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Working Groups](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjdmMTk2ZGEtMjFiMy00ZWIxLTllZDYtNTVlNTMwZDE5MjQ5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data Integration Pattern](https://teams.microsoft.com/l/meetup-join/19%3ameeting_OTk4NTYxZDctYmQzMy00ZTRmLTg0YzctZjBiZGExODUxM2Uw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + +:::note +Feel free to switch between groups if necessary! +::: + +### Special Note for KITs + +For KITs, we understand that not all sections of the template are necessary right now. The most important things to include at this stage are: +- The **Feature Team** responsible for the work +- A brief **explanation of the feature** (just 2 sentences) + +## Next Steps & Refinement Day 2 + +By the end of the session, we expect to have features that may not be fully refined but will be in good shape for further refinement or proactive work on dependencies. You’ll have the opportunity +to connect with other groups and components that you’re dependent on. + +As we look ahead to **[Refinement Day 2](https://eclipse-tractusx.github.io/community/open-meetings#Refinement%20Day%202%20-%20Release%2025.03)**, our focus will shift towards **dependency components**. It will be crucial to have those dependencies properly tagged with labels on the features. + +We look forward to a productive Refinement Day - Happy Refining! 🚀 + diff --git a/blog/2024-11-06-refinement-day-2-R25.03.mdx b/blog/2024-11-06-refinement-day-2-R25.03.mdx new file mode 100644 index 00000000000..7e63bc82d85 --- /dev/null +++ b/blog/2024-11-06-refinement-day-2-R25.03.mdx @@ -0,0 +1,111 @@ +--- +title: Refinement Day 2 for Release 25.03 +description: Tractus-X Community Update - Refinement Day 2 for Release 25.03 +slug: refinement-day-2-R25.03 +date: 2024-10-10T12:38 +hide_table_of_contents: false +authors: + - name: Stephan Bauer + title: Platform Domain Manager + url: https://github.com/stephanbcbauer + image_url: https://github.com/stephanbcbauer.png + email: stephan.bauer@catena-x.net +--- + +import RenderImage from './RenderImage' + +![eclipse tractus x logo](@site/static/img/Tractus-X_openplanning.png) + + +Hello, Eclipse Tractus-X Community! + +We are excited to announce **Refinement Day 2**, taking place on **November 6th, from 09:05 to 12:00**. This session will build on the work from **Refinement Day 1** +and focus primarily on the **identified dependencies**. These dependencies, **which were highlighted by the labels on the features during Refinement Day 1**, will be the +center of attention for this event. + +You can still continue refining features as necessary, but our main focus for this session will be resolving these dependencies to ensure smooth progress toward **Release 25.03**. + +The Teams session links and breakout groups remain the same as on Refinement Day 1. You can find the overall Teams session link and more information on the +[open-meetings](https://eclipse-tractusx.github.io/community/open-meetings#Refinement%20Day%202%20-%20Release%2025.03) page. + + + +## Agenda for Refinement Day 2 + +Here’s the plan for the day: +- **09:05 - 09:30**: Welcome, Introduction, and Expectations +- **09:30 - 11:15**: Refinement in dedicated groups, grouped by expert groups +- **11:15 - 11:45**: Presenting the results, grouped by expert groups +- **11:45 - 12:00**: Closing and Next Steps + +## Group Work & Presenting Results + +During the refinement sessions, each group will focus on resolving **identified dependencies** from Refinement Day 1, which are visible via the **related labels** on the features. +While further feature refinement is allowed, the emphasis is on addressing and coordinating **dependencies** between groups and components. + +Our working Board for the day is the [Release Planning - R25.03 - Preperation](https://github.com/orgs/eclipse-tractusx/projects/26/views/36) + +You’re encouraged to collaborate across groups as needed, and we’ll provide **Teams sessions** (we will use the same sessions from Refinement Day 1) for each group to work in. +It might be the case for some experts to jump into different other groups to resolve dependencies. + +Important for the session: +- Use the [feature template](https://github.com/eclipse-tractusx/sig-release/issues/new?assignees=&labels=&projects=&template=1_feature_template.md) to structure your work +- Identify dependencies with other components or groups and add the correct labels to the features +- Use the supported-by field to map the feature with your expert group +- help each other to solve/analyze dependencies + +At the end of the refinement session, we’ll regroup and present the progress made. Each expert group will present their refined features, focusing on what’s been developed so far and the key insights. + +:::note +If the feature is ready refined, the status should be set to `Backlog`-> this should by an alignment, between the requesting Expert Group/Committee and the open-source community. +::: + +### Committee/Expert Groups and Teams Sessions: + +:::tip +The sessions for the committees can be used to sync within the underlying expert groups. Feel free to switch between groups if necessary! +::: + +- [Network Service Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MDM1MjE2NmQtMDU5NC00MjM2LTlkOGEtZWI1YTM0MzBjMTkw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Business Partner Data Management](https://teams.microsoft.com/l/meetup-join/19%3ameeting_YThmNzMzODAtM2M0NS00MGVjLWJiNjMtODA5Njk3OWY4ODFi%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Self-Sovereign Identity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MGY3YzE1OTAtMDgxMS00YTVhLWE2ODYtMzM4MDMxZTk5MWJh%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Dataspace Connectivity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTJmYzdmOGMtOGE3Mi00YjkzLThlZTEtMTliNzJiZDljMTZl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Digital Twins](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDkyMWZmNDMtYmYzYi00MGM4LTg5NmUtNDIzZGJiZjFmZTIz%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Company Certificate Management](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZDVhNGMzYjAtNTk1MC00NTZlLWI1NzgtYjE0MjQ2NDgxOTJj%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Portal](https://teams.microsoft.com/l/meetup-join/19%3ameeting_OWM3YjUyYmMtOGQ1MS00M2JlLTliMjYtZTAxN2NkZTE5Njk4%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) -> Monday, 11. November 2024 from 15:00 to 17:00 +- [Sustainability Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_Y2Y1YTY3ZGQtMzEzOC00MGJmLTk1ZjEtOTBhZjgxMWVkZjBi%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Digital Product Pass](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTQxMWY0YzgtYmM5MS00ZTA4LWE2YTUtMzk5Y2Y2NmZmNjJl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Circularity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDMxOGM2YTItZGVhOC00N2EzLTlmMGEtYWJmYjYwOWFmMjk4%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - Methodology & Verification](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MDIwMmQ3MGQtZWQ1Mi00YzQ5LTg3MjMtMmM3MWY1OGRlYmM2%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - Architecture & Interoperability](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjFlZWYzNWYtNTViMy00NmExLTljOGYtYWE0N2U5MmQ3MzI3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Product Carbon Footprint - on Electronics](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWI1MzJmMzQtODliOC00ZDM0LTk0ZDgtMDdmYTljMGUxZjE3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Product Lifecycle, Quality and Resiliency Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_YmFhNDllOWItMWFiYi00MzBhLTkwZDMtM2FiOGZjOTAwY2E4%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Traceability](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MTRmZjI5Y2EtZmZjYy00ZDcxLWIyMTItMzc0YzYwMzMwZGI3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Demand & Capacity](https://teams.microsoft.com/l/meetup-join/19%3ameeting_MzhhMDMwZDQtMWM5Ny00YjNlLWEyZDYtNjg1MTRlZTM0ZGI5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Online Simulation](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjUyMzRiYTItMDNhNC00YzJhLWE0MmItOGZjZGU2MDEzNWE1%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [PURIS](https://teams.microsoft.com/l/meetup-join/19%3ameeting_OWZhODUxZGMtMGExNS00Y2NiLThlM2YtM2ExMjYyM2IzZTkw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data-driven Quality](https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZDNjYTg5NjEtMGU1Mi00MWQ4LWI2ZTctZmQ5NDQwNmYzOGM1%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Industry Core Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzUxYzNlZjYtNzdkMi00NTExLWEzMWItMDc0NTM1YjM4ZGM5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Architecture Management Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjI5YjNiNjItYTY4Ny00YTY0LTllNDAtZGRkMmMwYjA4OGRl%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Data Space Operations Committee](https://teams.microsoft.com/l/meetup-join/19%3ameeting_Mzk3N2ExMWMtNTk4ZS00ZjI0LWEzZjgtZDliOTM1MjE0ZmY0%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data Sovereignty](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NWIwOGFiOGYtMjQ3Ni00YjA0LTg1N2MtNDJmMTQ0OGQ0ZTBm%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) +- [Working Groups](https://teams.microsoft.com/l/meetup-join/19%3ameeting_NjdmMTk2ZGEtMjFiMy00ZWIxLTllZDYtNTVlNTMwZDE5MjQ5%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + - [Data Integration Pattern](https://teams.microsoft.com/l/meetup-join/19%3ameeting_OTk4NTYxZDctYmQzMy00ZTRmLTg0YzctZjBiZGExODUxM2Uw%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d) + +:::note +Feel free to switch between groups if necessary! +::: + +### Special Note for KITs + +For KITs, we understand that not all sections of the template are necessary right now. The most important things to include at this stage are: +- The **Feature Team** responsible for the work +- A brief **explanation of the feature** (just 2 sentences) + +## Next Steps & Release Planning Days + +By the end of the session, we expect to have features ready refined. It might be the case, not all are fully refined but will be in good shape for further refinement and proactive work until we will meet again for the +[Release Planning Days](https://eclipse-tractusx.github.io/community/open-meetings#Release%20Planning%20Days%20-%20Release%2025.03) + +We look forward to a productive Refinement Day - Happy Refining! 🚀 + diff --git a/blog/2024-11-06-tx-edc-bugfix.md b/blog/2024-11-06-tx-edc-bugfix.md new file mode 100644 index 00000000000..4fde01ebd1c --- /dev/null +++ b/blog/2024-11-06-tx-edc-bugfix.md @@ -0,0 +1,32 @@ +--- +title: Tractus-X EDC Bugfix Release 0.7.7 +description: Release of a new Tractus-X EDC bugfix version +slug: new-bugfix-release-edc-077 +date: 2024-11-06 +hide_table_of_contents: false +authors: + - name: Lars Geyer-Blaumeiser + title: EDC Responsible + url: https://github.com/lgblaumeiser + image_url: https://github.com/lgblaumeiser.png + email: lars.blaumeiser@cofinity-x.com +--- + +## New Bugfix Release 0.7.7 for Eclipse Tractus-X EDC + +The new bugfix release 0.7.7 of the Eclipse Tractus-X EDC is now available. + +The release fixes one bug: + +- Issue: [tractusx-edc/1618](https://github.com/eclipse-tractusx/tractusx-edc/issues/1618) +- Pull Request: [tractusx-edc/1633](https://github.com/eclipse-tractusx/tractusx-edc/pull/1633) +- Summary: The fixed issue was a non-deterministic behavior in case of parallel EDR token refreshs which lead to the non-availability of a valid token at the consumer connector. +- You need to update if you operate a consumer EDC and initiate data transfers based on the same contract multiple times in parallel. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Cofinity-X GmbH +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/blog/2024-11-13-open-planning-R25.03.mdx b/blog/2024-11-13-open-planning-R25.03.mdx new file mode 100644 index 00000000000..bc1dbbbc85a --- /dev/null +++ b/blog/2024-11-13-open-planning-R25.03.mdx @@ -0,0 +1,100 @@ +--- +title: Open Planning for Release 25.03 +description: Tractus-X Community Update - Open Planning for Release 25.03 +slug: open-planning-R25.03 +date: 2024-10-23T21:45 +hide_table_of_contents: false +authors: + - name: Stephan Bauer + title: Platform Domain Manager + url: https://github.com/stephanbcbauer + image_url: https://github.com/stephanbcbauer.png + email: stephan.bauer@catena-x.net +--- + +import RenderImage from './RenderImage' + +![eclipse tractus x logo](@site/static/img/Tractus-X_openplanning.png) + +Hello, Eclipse Tractus-X Community! + +We are excited to announce the **Eclipse Tractus-X Release Planning Days** for Release 25.03, which will take place on **November 13th and 14th, 2024**. These days are the +final step in aligning and confirming the features for our next release. + + +## Prerequisites + +Before participating in the Open Planning, please have a look at the previous **Refinement Days**: +- [Refinement Day 1 for Release 25.03](https://eclipse-tractusx.github.io/blog/refinement-day-1-R25.03) and the [slides](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io.largefiles/raw/refs/heads/main/presentations/R25.03_SLIDES_REFINEMENTDAY_ONE.pdf) +- [Refinement Day 2 for Release 25.03](https://eclipse-tractusx.github.io/blog/refinement-day-2-R25.03) + +These Refinement Days were crucial for laying the groundwork and ensuring features are properly prepared for the release planning. + + + +## Event Details + +**Dates**: +November 13th and 14th, 2024, each day from 09:05 – 12:00 CET + +**Location**: +Online via [Tractus-X Open Meetings Page](https://eclipse-tractusx.github.io/community/open-meetings#Release%20Planning%20Days%20-%20Release%2025.03) + +**Who Should Attend**: +- Contributors and Committers from the open-source community +- Expert Group and Committee members +- Feature requesters and stakeholders + +:::note +Your participation is crucial to ensure the success of the release planning. Expert Groups, Committees, the open-source community (contributor and committer), +feature requesters are encouraged to attend and actively engage in the discussions. +::: + +## Agenda + +### First Day: November 13th +- **09:05 - 09:30**: Open Planning - Vision & Introduction +- **09:30 - 12:00**: Joint Open Planning (all teams) + - **09:30 - 09:35**: [NSC](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+Committee) (2) + - **09:35 - 10:05**: [NSC - Dataspace Connectivity](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+Dataspace+Connectivity) (7) + - **10:05 - 10:35**: [NSC - BPDM](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+BPDM) (6) + - **10:35 - 10:45**: [NSC - DT](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+DT) (2) + - **10:45 - 11:55**: [NSC - Portal](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+Portal) (21) + - **11:55 - 12:00**: [NSC - SSI](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=NSC+-+SSI) (1) + +### Second Day: November 14th +- **09:05 - 11:00**: Joint Open Planning (all teams) + - **09:05 - 09:20**: [SUS](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?filterQuery=-status%3ADone+has%3Asupported-by+label%3A%22Prep-R25.03%22+supported-by%3A%22SUS+-+PCF+-+on+Electronics%22%2C%22SUS+-+PCF+-+Secondary+Data+Provision%22%2C%22SUS+-+Commitee%22%2C%22SUS+-+DPP%22%2C%22SUS+-+Circularity%22%2C%22SUS+-+Human+Rights%22%2C%22SUS+-+PCF+-+Methodology+%26+Verification%22%2C%22SUS+-+PCF+-+Architecture+%26+Interoperability%22%2C) (4) + - **09:20 - 09:30**: [PQR - Traceability](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=PQR+-+Traceability) (2) + - **09:30 - 09:40**: [PQR - DCM](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=PQR+-+DCM) (3) + - **09:40 - 09:50**: [PQR - Puris](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=PQR+-+PURIS) (3) + - **09:50 - 10:50**: [IC](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=IC+-+Committee) (17) + - **10:50 - 10:55**: [Test Management](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=Testmanagement) (2) + - **10:55 - 11:00**: [Architecture Management](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?sliceBy%5Bvalue%5D=ARC+-+Committee) (1) +- **11:00 - 11:30**: Confidence Vote & Feedback Retro +- **11:30 - 12:00**: Open Planning Wrap-Up / Summary & Next Steps + +The planning sessions will be driven by our [Release Planning Board](https://github.com/orgs/eclipse-tractusx/projects/26/views/28?filterQuery=-status%3ADone+has%3Asupported-by+label%3A%22Prep-R25.03%22+status%3ABacklog), which organizes features based on their **supported-by** field. + +## Prerequisites for features to be considered in Open Planning + +For a feature to be included in the Open Planning, the following conditions must be met: +- **Status must be 'Backlog'** – Committers and Expert Groups can set this status after the feature is fully refined. +- **All categories in the feature template must be filled** – Do not delete any sections from the template. +- **Milestone is NOT set** – This will be assigned during the Open Planning session. +- **Contributor and Committer must be assigned**. +- **Supported-by must be set**. + +During the session, if there is a common alignment among the participants, the feature milestone can be set to **25.03**, meaning it will be developed in the upcoming release. + +## Important Notes and Hints + +- Keep the board clean – there are still features with older milestones that have not yet been completed. +- Do not delete any sections from the feature template, except for KITs. +- For KITs, only the Contributor, Committer, and Description fields need to be filled. + +--- + +For any questions or further information, feel free to reach out via our [mailing list](https://accounts.eclipse.org/mailing-list/tractusx-dev) or join us in the Tractus-X [Matrix channel](https://matrix.to/#/#automotive.tractusx:matrix.eclipse.org). + +We look forward to your participation and collaboration! 🚀 diff --git a/blog/2024-11-18-overview-results-R25.03.mdx b/blog/2024-11-18-overview-results-R25.03.mdx new file mode 100644 index 00000000000..495b8436a53 --- /dev/null +++ b/blog/2024-11-18-overview-results-R25.03.mdx @@ -0,0 +1,57 @@ +--- +title: Eclipse Tractus-X Release 25.03 Planning Recap +description: Tractus-X Community Update - Eclipse Tractus-X Release 25.03 Planning Recap +slug: open-planning-recap-R25.03 +date: 2024-11-18T11:05 +hide_table_of_contents: false +authors: + - name: Stephan Bauer + title: Platform Domain Manager + url: https://github.com/stephanbcbauer + image_url: https://github.com/stephanbcbauer.png + email: stephan.bauer@catena-x.net +--- + +![eclipse tractus x logo](@site/static/img/Tractus-X_openplanning.png) + +Hello, Eclipse Tractus-X Community! + +As we approach the release of Eclipse Tractus-X 25.03, our community has actively engaged in a series of collaborative events to refine and plan the upcoming features. +Here’s a summary of the key activities: + + + +## Refinement Day 1 (October 16, 2024) + +Our community gathered to initiate the refinement process for Release 25.03. Unlike previous meetings, this session was hands-on, focusing on refining features and identifying +dependencies. Participants worked in dedicated groups, laying the groundwork for the upcoming release. + +- [Timeline](https://github.com/orgs/eclipse-tractusx/projects/26/views/35?filterQuery=label%3Ametadata+milestone%3A25.03+) +- [News Blog](https://eclipse-tractusx.github.io/blog/refinement-day-1-R25.03) +- [Refinement Day 1 - Slides](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io.largefiles/raw/refs/heads/main/presentations/R25.03_SLIDES_REFINEMENTDAY_ONE.pdf) + +## Refinement Day 2 (November 6, 2024) + +Building upon the progress from Refinement Day 1, this session concentrated on resolving identified dependencies. The collaborative efforts ensured that features were well-prepared +for the final planning stages. + +- [Timeline](https://github.com/orgs/eclipse-tractusx/projects/26/views/35?filterQuery=label%3Ametadata+milestone%3A25.03+) +- [News Blog](https://eclipse-tractusx.github.io/blog/refinement-day-2-R25.03) +- [Refinement Day 2 - Slides](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io.largefiles/raw/refs/heads/main/presentations/R25.03_SLIDES_REFINEMENTDAY_TWO.pdf) + +## Release Planning Days (November 13-14, 2024) + +These days marked the culmination of our planning efforts. The community aligned and confirmed the features for Release 25.03, ensuring a cohesive and well-structured release plan. + +- [Timeline](https://github.com/orgs/eclipse-tractusx/projects/26/views/35?filterQuery=label%3Ametadata+milestone%3A25.03+) +- [News Blog](https://eclipse-tractusx.github.io/blog/open-planning-R25.03) +- [Detailed Agenda](https://eclipse-tractusx.github.io/blog/open-planning-R25.03#agenda) +- [Final committed Features (66)](https://github.com/orgs/eclipse-tractusx/projects/26/views/39?filterQuery=label%3A%22Prep-R25.03%22+-status%3ADone+milestone%3A%2225.03%22++has%3Asupported-by) +- [Release Planning - Slides](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io.largefiles/raw/refs/heads/main/presentations/R25.03_SLIDES_RELEASE_PLANNING.pdf) + +## Next Steps + +With the planning phase concluded, the focus shifts to development and implementation. Contributors are encouraged to monitor the [Release Planning Board](https://github.com/orgs/eclipse-tractusx/projects/26/views/39) for updates and to +participate actively in the development process. + +Thank you very much for your active participation and dedication to shaping the future of Eclipse Tractus-X. 🚀 diff --git a/blog/2024-12-05-community-days.mdx b/blog/2024-12-05-community-days.mdx new file mode 100644 index 00000000000..d312cad4db0 --- /dev/null +++ b/blog/2024-12-05-community-days.mdx @@ -0,0 +1,71 @@ +--- +title: Join Us for the Third Eclipse Tractus-X Community Days! +description: The Eclipse Tractus-X Community Days - Empowering the Catena-X Data Space +slug: community-days-12-2024 +date: 2024-09-17T16:00 +hide_table_of_contents: false +authors: + - name: Stephan Bauer + title: Platform Domain Manager + url: https://github.com/stephanbcbauer + image_url: https://github.com/stephanbcbauer.png + email: stephan.bauer@catena-x.net +--- + +import RenderImage from './RenderImage' + +![eclipse tractus x logo](@site/static/img/tractus-x-community-days-24-12.png) + +Dear Tractus-X- and Dataspace-Community, + +After the immense success of our previous events, we are thrilled to announce the **Third Eclipse Tractus-X Community Days** this December 2024! +Building on the enthusiasm from the first two editions, this event promises to be even more dynamic and interactive, and we want YOU to be part of +this exciting journey. + + + +### Why Attend? + +The **Third Eclipse Tractus-X Community Days** offer a unique platform to engage with the latest developments in open-source projects, digital ecosystems, +and collaborative data exchange. Whether you are a developer, a solution provider, or a product manager, this event has something for everyone passionate +about pushing the boundaries of technology and innovation. Here’s why you can’t afford to miss it: + +- **Hands-On Workshops:** Dive into practical coding sessions where you can engage with Eclipse Tractus-X tools, alongside experts in the field. +- **Networking Opportunities:** Meet with peers and industry leaders from the Catena-X ecosystem to build meaningful connections. +- **Keynote Sessions:** Hear from the thought leaders who are pioneering open-source collaborations in the automotive and manufacturing sectors. +- **Presentations:** Learn more about use cases, apps, KITs, releases, and more – even without programming knowledge. +- **New Format:** We are introducing a refreshed format this year that enhances collaboration and innovation. Explore our interim agenda below, which will be expanded with more details soon! + +#### Agenda day 1 + +:::info +If you want to download the agenda, click [here](https://arena2036.de/files/FinaleBilder/05_Veranstaltungen/ARENA-X/Third_Eclipse_Tractus-X_Community_Days/Agenda%20Day%201%20and%202.pdf). +::: + +![community days - agenda - day 1](@site/static/img/tractus-x-community-days-agenda-24-12-day1.png) + +#### Agenda day 2 + +![community days - agenda - day 2](@site/static/img/tractus-x-community-days-agenda-24-12-day2.png) + +### What’s New? + +This year’s event introduces an exciting new structure that caters to a wide range of interests and expertise. You can look forward to **new workshop topics**, +offering fresh perspectives on critical subjects. Additionally, the event is divided into three distinct streams — **Presentations, Workshops, and Challenges** — ensuring that there’s something for everyone. +Whether you’re a **manager** or a **developer**, and regardless of your level of prior knowledge or commitment, you’ll find valuable content tailored to your needs. + +But that’s not all! The **community continues to grow**, and this time we’re extending an invitation to other **X-projects**, offering even more opportunities for **networking, synchronization, and collaboration**. +This is your chance to connect with a broader ecosystem and be part of shaping the future of open-source development. + +### Registration Is Now Open! + +Be sure to register soon — **registration is already open**, and spaces are limited! [Click here to register](https://eveeno.com/126949167) and secure your spot for this highly anticipated event. + +### Looking Back at Past Community Days + +Our journey began with the **first Eclipse Tractus-X Community Days** in December 2023, bringing together an enthusiastic community of innovators and developers. We followed up with the **second + edition** in May 2024, featuring hands-on workshops, insightful keynotes, and an engaging networking party. Each event left participants energized, inspired, and equipped with valuable skills. + +This December, we’re continuing the tradition with more exciting content and new ways to connect with the community. The **Third Eclipse Tractus-X Community Days** promises to be the biggest and best yet ;) + +We can’t wait to welcome you to the **Third Eclipse Tractus-X Community Days**. Be part of the future of open-source collaboration and innovation! diff --git a/community/open-meetings.mdx b/community/open-meetings.mdx index a9e34d03187..94ec1af60ca 100644 --- a/community/open-meetings.mdx +++ b/community/open-meetings.mdx @@ -12,7 +12,6 @@ These are dedicated sync meetings for specific products, as well as open plannin description="Open house meeting to support with anything EDC related. You have questions about EDC, problems running/ configuring EDC in your environment or want to know what´s next in EDC and when to expect? This is the place to ask all these questions." contact="lars.blaumeiser@cofinity-x.com" sessionLink="https://eclipse.zoom.us/j/85945828202?pwd=YODkCen20BOQV9WNJEeNFM8zaOlxo9.1" - meetingLink="/meetings/edc-weekly-extended.ics" /> - - @@ -63,7 +53,6 @@ These are dedicated sync meetings for specific products, as well as open plannin description="Coordination of feature refinement and development for portal product." contact="erik.wiegert@cofinity-x.com" sessionLink="https://teams.microsoft.com/l/meetup-join/19%3ameeting_YmIyYjgwOTQtZjI1Ny00YmM0LTlmOWQtODRjZWFmZWM1Y2E3%40thread.v2/0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d" - meetingLink="/meetings/portal-open-meeting.ics" additionalLinks={ [ {title: 'Portal Matrix Chat', url: 'https://chat.eclipse.org/#/room/#tractusx-portal:matrix.eclipse.org'}, @@ -71,21 +60,6 @@ These are dedicated sync meetings for specific products, as well as open plannin } /> - - + + ## One-time meetings - - - - - diff --git a/docs-kits/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md b/docs-kits/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md index 1830bcb269b..c5249ff0583 100644 --- a/docs-kits/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md +++ b/docs-kits/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md @@ -23,11 +23,9 @@ sidebar_position: 1 - [Technical Context](#technical-context) - [Solution Strategy (High Level Picture)](#solution-strategy-high-level-picture) - [Building Block View](#building-block-view) - - [High-Level Architecture (L/S/A Endpoints)](#high-level-architecture-lsa-endpoints) - [High-Level Architecture (Generic Endpoint)](#high-level-architecture-generic-endpoint) - [Keycloak Authentication \& Autorization Flow](#keycloak-authentication--autorization-flow) - [Runtime View](#runtime-view) - - [Upload Business Partner (BPN-L)](#upload-business-partner-bpn-l) - [Upsert Generic Business Partner](#upsert-generic-business-partner) - [Update on Golden Record Change](#update-on-golden-record-change) - [Business Partner Data Records - States](#business-partner-data-records---states) @@ -201,12 +199,6 @@ The following high level view gives a basic overview about the BPDM Components: ## Building Block View -### High-Level Architecture (L/S/A Endpoints) - -Due to a transmission phase there are two concepts of Business Partner Upload Models. The target is to only have the generic Business Partner on the BPDM Gate. - -![bpdm_current_architecture_LSA](@site/static/img/cx_bpdm_architecture_v3_2.drawio.svg) - ### High-Level Architecture (Generic Endpoint) ![bpdm_current_architecture_Generic](@site/static/img/cx_bpdm_architecture_v3_3.drawio.svg) @@ -222,94 +214,10 @@ Due to a transmission phase there are two concepts of Business Partner Upload Mo #### **SME** --Currently there is no SME Application available - -## Keycloak Authentication & Autorization Flow - -```mermaid - -sequenceDiagram - participant BPDM EDC - participant OpenIDConnect Server - participant BPDM Gate - - autonumber - - BPDM EDC -->>OpenIDConnect Server: Send Client Credentials - OpenIDConnect Server-->> BPDM EDC: Respond OAuth2 Token - BPDM EDC -->> BPDM Gate: Send Request with OAuth2 Token in Authorization Header - BPDM Gate -->> OpenIDConnect Server: Validate Token - OpenIDConnect Server -->> BPDM Gate: Confirms validity of Token - BPDM Gate -->> BPDM Gate: Check "resource_access" section of OAuth Token - - -``` +- Currently there is no SME Application available ## Runtime View -### Upload Business Partner (BPN-L) - -The diagram below describes the flow of uploading a business partner of type "legal entity". -For further information about the different business partner types (Legal Entity, Site, Address), please have a look on the Standards [CX - 0010 Business Partner Number](https://catena-x.net/de/standard-library) - -```mermaid - -sequenceDiagram - participant CX Member - participant BPDM Gate - participant BPDM Simulator - participant BPDM Pool - autonumber - - rect rgb(125, 184, 240) - Note over CX Member,BPDM Gate: EDC enabled - CX Member->>BPDM Gate: Upload Business Partner - Note left of BPDM Gate: PUT api/catena/input/legal-entities - # loop Healthcheck - # John->>John: Fight against hypochondria - # end - # Note right of John: Rational thoughts! - end - BPDM Gate-->BPDM Gate: Update input changelog - BPDM Simulator->>BPDM Gate: Poll for Business Partner changes - Note right of BPDM Gate: POST api/catena/input/changelog/search - BPDM Gate -->> BPDM Simulator: Send Changelog for Business Partners - BPDM Simulator->>BPDM Gate: Request Business Partner based on Changelog (external ID and business partner type) - Note right of BPDM Gate: POST /api/catena/input/legal-entities/search - BPDM Gate -->> BPDM Simulator: Send Business Partners - BPDM Simulator->>BPDM Gate: Request Sharing State for Business Partner based on Changelog - Note right of BPDM Gate: GET api/catena/sharing-state - BPDM Gate -->> BPDM Simulator: Send Sharing State (BPN) of Business Partners (Sharing state determines if BPN exist or not) - BPDM Simulator-->> BPDM Simulator: Update last sync changelog timestamp - BPDM Simulator->>BPDM Pool: Forward Business Partner - Note left of BPDM Pool: POST/PUT api/catena/legal-entities - opt BPN does not exist - BPDM Pool-->>BPDM Pool: Create BPN - end - BPDM Pool-->>BPDM Pool: Update Changelog - BPDM Pool-->>BPDM Simulator: Respond Business Partner with BPN - BPDM Simulator-->>BPDM Gate: Forward Business Partner with BPN - Note right of BPDM Gate: PUT api/catena/output/legal-entities - BPDM Simulator-->>BPDM Gate: Update Sharing State - Note right of BPDM Gate: PUT api/catena/sharing-state - BPDM Gate-->BPDM Gate: Link External ID with BPN - BPDM Gate-->BPDM Gate: Update Output Changelog - - loop Every x hour - rect rgb(125, 184, 240) - Note over CX Member,BPDM Gate: EDC enabled - CX Member->>BPDM Gate: Poll output changelog and fetch updates - Note left of BPDM Gate: POST api/catena/output/changelog/search - BPDM Gate-->>CX Member: Send changelog - CX Member->>BPDM Gate: Fetch updates - Note left of BPDM Gate: POST api/catena/output/legal-entities/search - BPDM Gate-->>CX Member: Send Business Partner changes - end - CX Member-->>CX Member: Update data - CX Member-->>CX Member: Update last polled timestamp - end -``` - ### Upsert Generic Business Partner > [!NOTE] @@ -487,10 +395,8 @@ C4Context Person(bpdm_user, "(Technical) User of the BPDM APIs") - System(pool_postgres, "Pool Database" "Postgres: 14.5") - System(gate_postgres, "Gate Database" "Postgres: 14.5") - System(bridge_postgres, "Gate Database" "Postgres: 14.5") - + System(pool_postgres, "Pool Database", "Postgres: 14.5") + System(gate_postgres, "Gate Database", "Postgres: 14.5") Deployment_Node(pool_machine, "OS Environment", "Linux Alpine 3.16"){ Deployment_Node(pool_java, "Runtime Environment", "JAVA RE 17") { @@ -504,12 +410,6 @@ C4Context } } - Deployment_Node(bridge_machine, "OS Environment", "Linux Alpine 3.16"){ - Deployment_Node(bridge_java, "Runtime Environment", "JAVA RE 17") { - Container(bridge_container, "Bridge Dummy Application", "Spring Boot: 3.1") - } - } - Deployment_Node(orchestrator_machine, "OS Environment", "Linux Alpine 3.16"){ Deployment_Node(orchestrator_java, "Runtime Environment", "JAVA RE 17") { Container(orchestrator_container, "Orchestrator Application", "Spring Boot: 3.1") @@ -528,15 +428,9 @@ C4Context Rel(bpdm_user, gate_container, "HTTP/S") Rel(gate_container, gate_postgres, "TCP/IP") - Rel(bpdm_user, bridge_container, "HTTP/S") - Rel(bridge_container, bridge_postgres, "TCP/IP") - Rel(pool_container, orchestrator_container, "HTTP/S") Rel(gate_container, orchestrator_container, "HTTP/S") Rel(dummy_container, orchestrator_container, "HTTP/S") - - Rel(bridge_container, pool_container, "HTTP/S") - Rel(bridge_container, gate_container, "HTTP/S") ``` @@ -592,6 +486,192 @@ UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") ## Crosscutting Concepts +## Authentication & Autorization + +### Roles, Rights, Permissions + +The authorization concept of the golden record process services (BPDM) has evolved. This impacts the permissions of portal users as well as as the creation of technical users in the Portal. + +#### Relevant concepts + +The golden record process contains sharing members which need to share their data (input) to the golden record process and read the result of that process (output). The Pool is a central place that offers golden records that have been created from the shared business partner data. Golden records are distinguished between whether they belong to Catena-X members or not. + +#### BPDM Permission Groups + +We defined the following relevant permission groups in BPDM: + +1.Gate Admin: Create, update and read sharing member business partner input data as well as read the output data of the golden record process. + +2.Gate Input Manager: Create, update and read sharing member business partner input data. + +3.Gate Input Consumer: Read sharing member business partner input data. + +4.Gate Output Consumer: Read sharing member business partner output data. + +5.Pool Admin: Read, create and update golden records as well as meta data in the Pool. + +6.Pool Cx Member: Read golden records that belong to Catena-X members from the Pool. + +7.Pool Sharing Member: Read golden records of Catena-X members and the overall changelog. + +8.Orchestrator Admin: Full access to Golden Record Tasks. + +9.Orchestrator Task Creator: Create Golden Record Tasks, view task results and status. + +10.Orchestrator Clean And Sync Task Processor: Reserve and resolve Golden Record Tasks in step 'Clean And +Sync'. + +11.Orchestrator Clean Task Processor: Reserve and resolve Golden Record Tasks in step 'Clean'. + +12.Orchestrator Pool Task Processor: Reserve and resolve Golden Record Tasks in step 'Pool'. + +#### Permissions + +##### Permissions as client resources + +| BPDM Pool | BPDM Gate | BPDM Orchestrator | +|-------------------------------------------|-------------------------------------------|--------------------------------------------| +| • read_partner | • read_input_partner | • create_task | +| • write_partner | • write_input_partner | • read_task | +| • read_partner_member | • read_input_changelog | • create_reservation_clean | +| • read_changelog | • read_output_partner | • create_result_clean | +| • read_changelog_member | • read_output_changelog | • create_reservation_cleanAndSync | +| • read_metadata | • read_sharing_state | • create_result_cleanAndSync | +| • write_metadata | • write_sharing_state | • create_reservation_poolSync | +| | • read_stats | • create_result_poolSync | + +##### Permissions by permission group + +Gate Permission + +| Admin | Input Manager | Input Consumer | Output Consumer | +|-------------------|----------------------------------------|----------------------------------------|----------------------------------------| +| All of BPDM Gate | • read_input_partner | • read_input_changelog | • read_output_changelog | +| | • write_input_partner | • read_input_partner | • read_output_partner | +| | • read_input_changelog | • read_input_changelog | • read_output_changelog | +| | • read_sharing_state | • read_sharing_state | • read_sharing_state | +| | • write_sharing_state | • read_stats | • read_stats | +| | • read_stats | | | + +#### Pool Permission + +| Admin | Cx Member | Sharing Member | +|-------------------|----------------------------------------|----------------------------------------| +| All of BPDM Pool | • read_partner_member | • read_partner_member | +| | • read_changelog_member | • read_changelog_member | +| | • read_metadata | • read_metadata | +| | | • read_changelog | + +#### Orchestrator Permissions + +| Admin | Task Creator | Clean And Sync Task Processor | Clean Task Processor | Pool Task Processor | +|-------------------------|---------------------------------|---------------------------------------------|---------------------------------|----------------------------------| +| All of BPDM Orchestrator | • create_task • read_task | •create_reservation_cleanAndSync • create_result_cleanAndSync | • create_reservation_clean •create_result_clean | • create_reservation_poolSync • create_result_poolSync | + +#### Mapping to Portal user roles for all companies (for all Catena-X members) + +| BPDM Permission Group | Portal Role | +|--|--| +| Gate Admin | Service Manager | +| Pool Cx Member | CX User | + +#### Technical Users + +The golden record service provider needs to be able to generate technical users for each permission group (1 - 8). The technical users for sharing member roles 1 - 4 should be associated with the sharing member's BPNL (So that resulting tokens will have the sharing member's BPNL for authorization purposes). Furthermore, there needs to be one technical user option per Pool and Orchestrator permission group. + +### Resulting technical users to be creatable in the Portal + +#### For BPDM service + +- Gate BPNLX Admin (for each Sharing Member) + +- Pool Admin + +- Pool Cx Member + +- Pool Sharing Member + +#### For VAS + +- Gate BPNLX Consumer: Having both roles 'Gate BPNLX Input Consumer' and 'Gate BPNLX Output Consumer ' (for each Sharing Member) + +Companies which have booked the golden record service should not be able to create any technical users for BPDM. Any such feature to create technical users for companies that are not the golden record service provider should be removed. + +#### Demo Configuration + +BPDM is configurable to have arbitrary configurations when it comes to redirect URLs and clients. As long as the above requirements are implemented, BPDM can be configured to be compatible with any Portal environment. + +Still, for the sake of defining a demo configuration, here is a proposal: + +Clients: + +BPDM Pool + +BPDM Gate + +#### BPDM Pool + +Valid Origin:* + +Description: BPDM Pool + +BPDM Gate: + +Valid Origin: * + +Description: BPDM Gate + +#### Keycloak Example Configuration + +This example configuration includes the roles, clients and client scopes that BPDM currently expects. The actual client IDs are subject to change depending on the name they receive in the Portal Keycloak configuration.CX-Central.json + +For more details see: * + +### EDC Communication + +#### Data Offer Configuration + +Communication with BPDM application must be via EDC. The standards for EDC Assets are defined as follows: + +- [BPDM Pool API Asset Structure](https://github.com/catenax-eV/product-standardization-prod/blob/main/standards/CX-0012-BusinessPartnerDataPoolAPI/4.0.0/CX-0012-BusinessPartnerDataPoolAPI-v4.0.0.md#223-data-asset-structure) +- [BPDM Gate API Asset Structure](https://github.com/catenax-eV/product-standardization-prod/blob/main/standards/CX-0074-BusinessPartnerGateAPI/3.0.0/CX-0074-BusinessPartnerGateAPI-v3.0.0.md#223-data-asset-structure) + +An example postman collection for Asset definition you can find [here](https://github.com/eclipse-tractusx/bpdm/blob/main/docs/postman/EDC%20Provider%20Setup.postman_collection.json) + +#### Verified Credentials + +Gate + +To enable communication for uploading and downloading from the gate through EDC, it's essential to have a Verifiable Credential stored in the wallet for BPDM Framework Agreement. This credential will be verified during EDC communication. Additionally, the BPN-Verifiable Credential needs to be validated to ensure that only the sharing member has access to its own gate. + +Pool + +To enable communication for downloading from the pool through EDC, it's essential to have a Verifiable Credential stored in the wallet for BPDM Framework Agreement. This credential will be verified during EDC communication. Additionally, the Membership Credential needs to be validated to ensure that only onboarded catena-x members have access to the pool. + +Purposes +Additionally each of the purposes need to be checked. You can find them [here](https://github.com/catenax-eV/cx-odrl-profile/blob/main/profile.md#usagepurpose). All purposes beginning with cx.bpdm.gate and cx.bpdm.pool are relevant. + +#### Keycloak Authentication & Autorization Flow + +```mermaid + +sequenceDiagram + participant BPDM EDC + participant OpenIDConnect Server + participant BPDM Gate + + autonumber + + BPDM EDC -->>OpenIDConnect Server: Send Client Credentials + OpenIDConnect Server-->> BPDM EDC: Respond OAuth2 Token + BPDM EDC -->> BPDM Gate: Send Request with OAuth2 Token in Authorization Header + BPDM Gate -->> OpenIDConnect Server: Validate Token + OpenIDConnect Server -->> BPDM Gate: Confirms validity of Token + BPDM Gate -->> BPDM Gate: Check "resource_access" section of OAuth Token + + +``` + ### Business Partner Data Management Standards [bpdm_standards](https://catena-x.net/de/standard-library) @@ -614,15 +694,363 @@ In addition to the Spring standard logs the BPDM applications keep a log of the ## Architecture Decisions -[Architecture Decision Logs](https://confluence.catena-x.net/display/CORE/BPDM+%7C+Decision+Logs) -(Link will be replaced with ADRs based on Markdown) +### Use a multi gate deployment approach to realize multi-tenancy + +- status: accepted +- date: 2023-06-01 +- deciders: devs, architects +- consulted: ea, pca + +### Context and Problem Statement + +In BPDM a wide range of CX Member share their business partner data with our system. It must be ensured that each CX Member has only access to its own data. That's why our system must realize some kind of multi-tenancy. + + +### Decision Drivers + +- in the automotive industry there are requirements and standards like TISAX that high confidential business partner data must be stored in secure manner + +### Considered Options + +- Use one Gate and implement multi-tenancy within the code base and database +- Use multiple Gates so that every member will have its own Gate with database + +### Decision Outcome + +Chosen option: "Use multiple Gates so that every member will have its own Gate with database", because so far its the most easiest and secure way to realize multi-tenancy in context of a reference implementation. It also provides the highest flexibility regarding to possible upcoming requirements. For example perspectively Gates could be deployed in different regions or locations. Also data is stored by default in different databases which gives additional security by default. + + +#### Consequences + +- Good, because easier Identity and Access Management +- Good, because data separation by default +- Good, because better failure tolerance. +- Good, because flexibility in upcoming requirements. +- Bad, because we need a separate deployment and configuration for a new Gate when a new CX Member wants to use BPDM Service. As reference implementation this is fine, for production Usecases these deployments can be automated. + +#### Implications on EDC and Asset Configuration + +- Even if there are multiple BPDM Gate instances there will be only one deployed EDC + +- In fact, new EDC Assets and Configurations must be applied for each new Catena-X Member who subscribes BPDM Application Service +- In context of reference implementation it is done manually. For operationalization an Operator should automate this. + +#### Implications on SMEs + +- To exchange business partner data accross legal entities and enabling contract negotiation, each SME needs to have its own EDC + +- The EDC itself can be provided as offer by the operator or other "EDC as a Service" Service Provider + +#### Implications on Value-Added-Services + +- Currently it is out-of-scope that BPDM provides a kind of list or routing mechanism about which Gates are available to consume. The team is evaluating the possibility getting this information based on Catena-X Portal registrations. + +- In fact for reference implementation a customer who wants to subscribe a Value Added Services has to provide his Gate/EDC Endpoints +- The Value Added Services also have to ensure by its own to secure and separate the data of each customer + + +### Pros and Cons of the Options + +#### Use one Gate and implement multi-tenancy within the code base and database + +- Good, because only one deployment is required +- Good, because better cost saving, because only one database is used + +- Bad, because higher implementation effort +- Bad, because unknown requirements in data separation. If data **must** be stored in different databases, all our efforts would be for nothing. +- … -- 001-multitenancy_approach -- 002-edc_for_pool_api -- 003-orchestrator_serviceApi_vs_messagebus_approach -- 004-openapi_descriptions -- 005-edc-usage-for-third-party-services -- 006-bpdm-edc-asset-structuring (TBD) +#### Use multiple Gates so that every member will have its own Gate with database + +- Good, because easier Identity and Access Management +- Good, because data separation by default +- Good, because better failure tolerance. +- Good, because flexibility in upcoming requirements. +- Bad, because we need a separate deployment and configuration for a new Gate when a new CX Member wants to use BPDM Service. As reference implementation this is fine, for production Usecases these deployments can be automated. + +### EDC is not a mandatory, but recommended component for accessing BPDM Pool API/Data + +- status: accepted +- date: 2023-06-07 +- deciders: devs, architects +- consulted: ea, pca + +#### Context and Problem Statement + +Ensuring Data Sovereignty is a very crucial point to be compliant to Catena-X Guidelines and passing the Quality Gates. A key aspect to technical realize Data Sovereignty is the Eclipse Dataspace Component (EDC). The question for this ADR is, clarifying if an EDC is required to access the BPDM Pool API/Data. + +#### Decision Outcome + +In alignment with PCA (Maximilian Ong) and BDA (Christopher Winter) it is not mandatory to have an EDC as a "Gatekeeper" in front of the BPDM Pool API for passing the Quality criteria/gates of Catena-X. Nevertheless it is recommended to use one. Especially when you think long-term about sharing data across other Dataspaces. + +#### Reason + +In case of BPDM Pool provides no confidential data about Business Partners. It's like a "phone book" which has public available data about the Business Partners which are commercially offered, because of the additional data quality and data enhancement features. + +#### Implications + +It must be ensured that only Catena-X Member have access to the BPDM Pool API. In Fact an Identity and Access Management is required in the Pool Backend which checks the technical users based on its associated roles and rights. + +### Using an API based service component approach for orchestration logic instead of a message bus approach + +#### Context and Problem Statement + +Based on this [github issue](https://github.com/eclipse-tractusx/bpdm/issues/377) an orchestration logic is needed for the bpdm solution to manage communication between services and handles processing states of business partner records during the golden record process. + +Orchestration logic can basically be realized via an API and service based approach or via a message bus approach. To keep on going with the development of BPDM solution a decision is needed which approach the team will follow to plan and implement the next tasks. + +#### Considered Options + +1. Using an API based service communication with an orchestrator service to handle business logic +2. Using a messaging based service communication with a message bus to handle business logic +3. Using a combination of orchestrator service together with a message bus to handle business logic + +#### Decision Outcome + +#### Chosen option: "1. Using an API based service communication with an orchestrator service to handle business logic", because + +- **Interoperability & Standardization**: + - Interoperability can be better realized and standardized via standardized APIs to grant third party services access and helps to prevent a vendor lock-in. + - Especially when thinking about BPDM as a reference implementation and there might be multiple operating environments in the future that offer BPDM solution. + +- **Flexibility**: + - Thinking about future requirements that might come up like decentralized Gates, encryption of data, not storing business partner data for long-term, this solution is more flexible to deal with new requirements. + +- **Anonymity**: + - Having a service that works as a proxy for the connection between Sharing Member data and cleaning services, can ensure that the uploaded data stay anonymous. + +- **Abstraction**: + - The API based service approach allows better abstraction (who can access which kind of data?). Based on API access and the modelling of input and output data object, we can easily configure/decide which service should be able to access which kind of data or only sub-models of the data + - Instead in a message bus and topic approach every subscriber would be able to easily see all data and can draw conclusions on ownership information and which sharing member was uploading which business partner data. + +- **Cost-effectiveness**: + - Building up on the existing infrastructure instead of setting up and operating an additional message bus system. + +- **Request/Response Model** + - Defined order via API, but not via messaging + - Defined input and output formats / data models for service interaction + +#### Decision against option 2. "Using a messaging based service communication with a message bus to handle business logic", because + +- **Error handling**: + - Error handling, error detection and tracing might become very complex in an event-based message bus architecture + - Also race conditions might get problematic for event-based development. + +- **Missing expertise** + - Missing expertise in Catena-X team in regards to event-based data exchange (RabbitMQ, AMQP) + - Missing expertise in operating and configuring securely a message bus system + - Higher Effort in research, because of new concepts and business-logic for data processing and service interaction. + +- **Cross-cutting concerns**: + - Cross-cutting aspects should not depend on technology specific solutions like a message bus + - Also there are already existing standard solutions available in for example Kubernetes or Spring Boot Framework. + +- **Difficulty in interoperability and integration**: + - Services in the chain need to 'play ball', they need to integrate into each other very well so well-defined payloads is important (Event Queue will just take any payload at first naturally) + - No Request/Response Feedback. + +- **Data Security**: + - Cleaning requests in the queue are visible to every Gate. Even if business partners are anonymous in principle this could be a security issue. + - Separate queues can also be problematic as it makes it visible in a message bus which Gate shared what business partner. So conclusions can be drawn which Member interacts with which business partners. + +- **Higher Costs**: + - potential higher cost operating cluster + +- **Complexity**: + - More complexity due to the Gates having to integrate to a message bus as well as an additional service + - More complexity, because of bigger changes in business logic + +- **Less flexibility for maybe upcoming requirements** + - Hypothesis: We assume it will be easier to implement EDC with an API based service orchestrator solution than with a message bus system + - Not clear how message queuing based solution would work with EDC component/communication + - Not clear how a decentralized approach would look like with an message bus approach + +#### **Decision against option 3. "Using a combination of orchestrator service together with a message bus to handle business logic", because** + +- Please see the downsides above for option 2 + +#### **Sum-up:** +> +> Arguments or advantages that comes with message bus, like a push mechanism, decoupling of services and asynchronous communication can also be realized via an API-based service interaction approach. Use cases for message bus are more focused on scenarios where you have to handle a lot of messages together with lots of message producers and consumers where most of them might be unknown in the network. But in our use case services are well-known and the number of producers and consumers are not that high. In addition, instead of communication via message bus, a callback approach for asynchronous communication might be more sufficient and could also be easier secured via EDC communication. + +- **Push mechanism**: In regards to push mechanism, we do not have time critical requirements so polling is suitable for the moment. And in addition a push based solution can also be realized without a message bus in between the services. + +- **Decoupling of services**: Making services more independent or decoupled is no good argument, because good API design also solves this issue and makes the services even more decoupled. In a message bus approach, every service depends on the input data and format which another service pushes inside + +- **Asynchronous communication**: Asynchronous communication can be done via message bus as well as with API based communication + +> **To sum up the benefits that brings a message bus approach, cannot be fully leveraged in our use case, so that the downsides outweigh the possible advantages.** + +### Alternatives in more detail + +#### Using an API based service communication with an orchestrator service to handle business logic + +[Here](https://github.com/eclipse-tractusx/bpdm/issues/377#issuecomment-1683880275) you can find a description of the first Variant. + +**❗Disclaimer**: Keep in mind that the shown interaction diagram is only a rough idea and the business logic and process flow must still be iterated and adjusted! + +#### Using a messaging based service communication with a message bus to handle business logic + +[Here](https://github.com/eclipse-tractusx/bpdm/issues/377#issuecomment-1683924791) you can find a description of the second Variant. + +**❗Disclaimer**: Keep in mind that the shown interaction diagram is only a rough idea and the business logic and process flow must still be iterated and adjusted! + +#### Using a combination of orchestrator service together with a message bus to handle business logic + +[Here](https://github.com/eclipse-tractusx/bpdm/issues/377#issuecomment-1683942552) you can find a description of the third Variant. + +**❗Disclaimer**: Keep in mind that the shown interaction diagram is only a rough idea and the business logic and process flow must still be iterated and adjusted! + + +### More Information / Outlook + +(Further/Next Steps to be discussed) + +Having in mind that a pushing mechanism might become required for a more efficient process orchestration or some other cases, it is not excluded to introduce an event queuing technology. We are open minded to this. But from current perspective we don't see hard requirements for this, so we want to focus on a minimal viable solution focusing on simplicity based on the KISS principle. + +## Limitations of OpenAPI text descriptions + +### Context and Problem Statement + +There are two known issues with defining text descriptions in OpenAPI/SpringDoc that affect us: + +1. Generic classes can't get specific schema descriptions determined by the type parameter using SpringDoc annotations. + Example: `TypeKeyNameVerboseDto` + With SpringDoc's annotation `@Schema(description=...)` we can set a description for `TypeKeyNameVerboseDto` in general, but not + for `TypeKeyNameVerboseDto` specifically. Internally OpenAPI generates a specific class schema named `TypeKeyNameVerboseDtoCountryCode` that + could theoretically have a different description. +2. There is an OpenAPI limitation not allowing to specify a field description for singular objects of complex type (contrary to collection objects of complex + type and objects of primitive type), + see [Github issue: Description of complex object parameters]( https://github.com/springdoc/springdoc-openapi/issues/1178). + E.g. OpenAPI supports field descriptions for `val name: String` and `val states: Collection`, but *not* + for `val legalAddress: LogisticAddressDto`. + The reason is that in the OpenAPI definition file, singular fields of complex type directly refer to the class schema using `$ref` and don't support a field + description, while collection fields contain an automatic wrapper type which supports a description. + So the only description possible for the last example is the catch-all schema description of `LogisticAddressDto`. The user should ideally get a more + specific description for the field `legalAddress` than for just any other `LogisticAddressDto`. + +### Considered Options + +- Programmatically change the schema description of specific generic class instances (Workaround for issue 1). +- Programmatically create a schema clone for each case a specific field description is needed (Workaround for issue 2). +- Live with the OpenAPI limitations. + +### Decision Outcome + +Chosen option: "Live with the OpenAPI limitations", because the improvement is not worth the added complexity. + + + +### Pros and Cons of the Options + +#### Programmatically change the schema description of specific generic class instances (Workaround for issue 1) + +Using the workaround described +in [Github issue: Ability to define different schemas for the same class](https://github.com/springdoc/springdoc-openapi/issues/685) it is possible to manually +override the description of each generated schema corresponding to a specific type instance in the `OpenAPI` configuration object, e.g. +for `TypeKeyNameVerboseDto` the generated schema name is `TypeKeyNameVerboseDtoCountryCode`. + +- Good, because this allows specific text descriptions for generic type instances (solves issue 1). +- Bad, because the descriptions must be assigned in the OpenAPI configuration class, not in the specific DTOs as for other descriptions. +- Bad, because this is hard to maintain. + +This option could be potentially improved introducing custom annotations that define the description for a specific type instance inside the relevant DTO, +like `@GenericSchema(type=CountryCode::class, description="...")"`. But the result is not worth the effort. + +#### Programmatically create a schema clone for each case a specific field description is needed (Workaround for issue 2) + +This is based on the first option but additionally adds schema clones with different name and description, e.g. `legalAddressAliasForLogisticAddressDto` might +be the clone of `LogisticAddressDto` used for field `legalAddress`. This schema name is referred by the field +using `@get:Schema(ref = "legalAddressAliasForLogisticAddressDto")`. + +- Bad, because this adds additional nearly identical class schemas that show up in the documentation. +- Bad, because the descriptions must be assigned in the OpenAPI configuration class, not in the specific DTOs as for other descriptions. +- Bad, because the correct schema clone must be referenced for each field using it which is very error-prone and inconsistent to other fields ( + using `@get:Schema(ref=...)` instead of `@get:Schema(description=...)`). +- Bad, because this is hard to maintain. + + + +### More Information + +The potential workarounds are implemented as proof-of-concept +in [Github pull request: Schema overriding hook for OpenApiConfig](https://github.com/eclipse-tractusx/bpdm/pull/405). + +## Recommended usage scenarios of an EDC enabled communication in Business Partner Data Management Solution + +### Context and Problem Statement + +Again and again the discussion arises in which scenarios third party applications (also often called value-added-services (VAS)) must use EDC enabled communication and in which scenarios no EDC is needed. In this document we want to outpoint some scenarios and give guidance for it. + +> :warning: NOTE: +> In the following diagrams the EDC component might be added multiple times within the same operating environment. This does not mean that multiple instances of EDC are used. It should only make more transparent when data or API calls takes place via EDC. It's on conceptual level, not on logical or physical. It's up to you how many instances of EDC you are operating. + +#### TLDR + +- EDC enabled communication must always be used when business data get exchanged between the systems of different legal entities! + +- For reference implementations you should always assume that the value-added-service will be operated by a different operating environment than the operating environment of the core Business Partner Data Management Solution! That means the reference implementation must support EDC enabled communication between itself and the Business Partner Data Management Solution! + +### Scenario 1.1: External web application/service that only visualizes data based on gate data and/or pool data + +#### Description + +In this scenario a third party service provider offers a value added services that implements a web dashboard to visualize processed data based on bpdm gate data and/or pool data and presenting it via this dashboard to the customer who owns the bpdm gate data. + +- EDC enabled communication is needed between the Master Data Management System of the Sharing Member and the bpdm gate operated by the Operating Environment. + +- EDC enabled communication is needed between the bpdm gate and the backend service that processes the data. + +- EDC enabled communication is needed between the bpdm pool and the backend service that processes the data. + +- No EDC is needed for presenting the visualization via a web frontend to the customer. + +![External web application that only visualizes data based on gate data](@site/static/img/kit-icons/edc-usage-1-1.drawio.svg) + +### Scenario 1.2: Internal web application that only visualizes data based on gate data and/or pool data + +#### Description + +In this scenario the operating environment itself operates a web application that implements a web dashboard to visualize processed data based on bpdm gate data and/or pool data and presenting it via this dashboard to the customer who owns the bpdm gate data. + +- EDC enabled communication is needed between the Master Data Management System of the Sharing Member and the bpdm gate operated by the Operating Environment. + +- No EDC enabled communication is needed for the backend service, processing gate and/or pool data, since every component is operated by the same legal entity, the operating environment. + +- No EDC is needed for presenting the visualization via a web frontend to the customer. + +![Internal web app that only visualizes data based on gate data](@site/static/img/kit-icons/edc-usage-1-2.drawio.svg) + +### Scenario 2.1: External web application/service that provides enriched data based on gate data and/or pool data + +#### Description + +In this scenario a third party service provider offers a value added services that implements an interface for exchanging data between its own backend system and the system of the customer. This means that business data get exchanged between the systems of two different legal entities. + +- EDC enabled communication is needed between the Master Data Management System of the Sharing Member and the bpdm gate operated by the Operating Environment. + +- EDC enabled communication is needed between the bpdm gate and the backend service that processes the data. + +-EDC enabled communication is needed between the bpdm pool and the backend service that processes the data. + +- EDC enabled communication is needed between the value-added-service backend and the customer system. + +![External web application that only visualizes data based on gate data](@site/static/img/kit-icons/edc-usage-2-1.drawio.svg) + +### Scenario 2.2: Internal web application/service that provides enriched data based on gate data and/or pool data + +#### Description + +In this scenario the operating environment itself operates a backend service or value added service that processes bpdm gate and/or pool data and implements an interface for exchanging data between its own backend system and the system of the customer. This means that business data get exchanged between the systems of two different legal entities. + +- EDC enabled communication is needed between the Master Data Management System of the Sharing Member and the bpdm gate operated by the Operating Environment. + +- EDC enabled communication is needed between the value-added-service backend and the customer system. + +- No EDC enabled communication is needed between the bpdm gate and the backend service that processes the data. + +- No EDC enabled communication is needed between the bpdm pool and the backend service that processes the data. +![Internal web application that only visualizes data based on gate data](@site/static/img/kit-icons/edc-usage-2-2.drawio.svg) ## Quality Requirements @@ -658,6 +1086,236 @@ In addition to the Spring standard logs the BPDM applications keep a log of the - Uploading via CSV File. Does it requires an EDC? - ⚠️Current State: Yes, is needed. +### Technical Debts + +### Central-IDP + +As of now the [Central-IDP](https://github.com/eclipse-tractusx/portal-iam) in release 3.1.0 is not fully compatible with the standard configuration of the BPDM [rights and role concepts](08_Crosscutting_Concepts.md#authentication--autorization). +Therefore, the standard configuration of the BPDM deployment will **not** work with Central-IDP out of the box. +BPDM standard configuration needs to be adapted to be compatible. +This can be done over the application.yml files locally or in case of a Helm deployment these configuration overwrites can be placed in the `applicationConfig` values of the BPDM components (see [INSTALL](../../INSTALL.md) instructions). +[Here](#helm-configuration) a full Helm configuration for the needed adaptions is given. + +#### Pool and Gate Clients + +Client names for the Pool and Gate need to be adapted in the BPDM configuration in order to match with the Central-IDP configuration. + +```yaml +# Pool application.yml +bpdm: + security: + client-id: "Cl7-CX-BPDM" +``` + +```yaml +# Gate application.yml +bpdm: + security: + client-id: "Cl16-CX-BPDMGate" +``` + +#### Orchestrator Authorization + +The Central-IDP does not contain the roles and permissions for the BPDM Orchestrator as described in the [rights and role concepts chapter](08_Crosscutting_Concepts.md#authentication--autorization) and has no dedicated client for the Orchestrator component. + +The configuration of the BPDM Orchestrator can be adapted to compensate for the mismatch. + +```yaml +# Orchestrator application.yml +bpdm: + security: + client-id: "Cl7-CX-BPDM" + permissions: + createTask: "write_partner" + readTask: "write_partner" + reservation: + clean: "write_partner" + cleanAndSync: "write_partner" + poolSync: "write_partner" + result: + clean: "write_partner" + cleanAndSync: "write_partner" + poolSync: "write_partner" +``` + +With this configuration the Orchestrator looks into the permissions of the Pool receiving a bearer token. +Furthermore, the permission overwrites let the Orchestrator only be accessed by services that already have direct write permissions to the Pool, saying: + +If you can directly write into the Pool you are also allowed to manage tasks which lead to Pool updates. + +The permissions to access the Orchestrator endpoints are stricter in this way than they have to be with dedicated Orchestrator permissions. + +#### Service Accounts + +BPDM components need service accounts with the necessary permissions to connect with each other in an authenticated deployment. +As of now, the Central-IDP does not feature dedicated service accounts for single BPDM components but rather has one overall BPDM Admin service account. +This one service account needs to be used by the BPDM components in order to connect to each other and realise the golden record process. + +```yaml +# Pool application.yml +bpdm: + client: + orchestrator: + registration: + client-id: "sa-cl7-cx-5" + client-secret: "*****" +``` + +```yaml +# Gate application.yml +bpdm: + client: + orchestrator: + registration: + client-id: "sa-cl7-cx-5" + client-secret: "*****" + pool: + registration: + client-id: "sa-cl7-cx-5" + client-secret: "*****" +``` + +```yaml +# Cleaning Service dummy application.yml +bpdm: + client: + orchestrator: + registration: + client-id: "sa-cl7-cx-5" + client-secret: "*****" + pool: + registration: + client-id: "sa-cl7-cx-5" + client-secret: "*****" +``` + +#### Helm Configuration + +Here is a full helm values overwrite file containing all adaptions needed for the configuring the BPDM deployment to be compatible with the Central-IDP: + +```yaml +# BPDM values overwrite +keycloak: + enabled: false + +bpdm-pool: + applicationConfig: + bpdm: + security: + auth-server-url: "http://central-idp-host-name/auth" + client-id: "Cl7-CX-BPDM" + client: + orchestrator: + registration: + client-id: "sa-cl7-cx-5" + applicationSecrets: + bpdm: + client: + orchestrator: + registration: + client-secret: "*****" + +bpdm-gate: + applicationConfig: + bpdm: + security: + auth-server-url: "http://central-idp-host-name/auth" + client-id: "Cl7-CX-BPDM" + client: + orchestrator: + registration: + client-id: "sa-cl7-cx-5" + pool: + registration: + client-id: "sa-cl7-cx-5" + applicationSecrets: + bpdm: + client: + orchestrator: + registration: + client-secret: "*****" + pool: + registration: + client-secret: "*****" + +bpdm-orchestrator: + applicationConfig: + bpdm: + security: + auth-server-url: "http://central-idp-host-name/auth" + client-id: "Cl7-CX-BPDM" + permissions: + createTask: "write_partner" + readTask: "write_partner" + reservation: + clean: "write_partner" + cleanAndSync: "write_partner" + poolSync: "write_partner" + result: + clean: "write_partner" + cleanAndSync: "write_partner" + poolSync: "write_partner" + +bpdm-cleaning-service-dummy: + applicationConfig: + bpdm: + client: + orchestrator: + provider: + issuer-uri: "https://central-idp-host-name/auth/realms/CX-Central" + registration: + client-id: "sa-cl7-cx-5" + applicationSecrets: + bpdm: + client: + orchestrator: + registration: + client-secret: "*****" +``` + +#### Long-term mitigation + +Note that the mitigating BPDM configuration above has a major drawback. +All systems directly integrating into the BPDM components need to be absolutely trusted as they receive write privileges on the pool. + +The long-term resolution is to align the BPDM authorization concept with the Central-IDP configuration. +A proposal for this has already been submitted [here](https://github.com/eclipse-tractusx/portal-iam/issues/154). + +Another step in this direction is also using the Central-IDP as a dependency directly for the BPDM Helm charts as proposed [here](https://github.com/eclipse-tractusx/bpdm/issues/994). + +### Partner Network shows all golden records + +Currently, the Portal's Partner Network page shows all business partners even though the intention is to only show Catena-X members. + +#### Mitigation + +In order to resolve this issue a different endpoint needs to be integrated: `POST v6/members/legal-entities/search` + +Additionally, Central-IDP and the Portal need to make sure that the Portal users with the portal role `Cx-User` receive only the BPDM role `Pool Cx Member` as described in the [roles and rights concept](08_Crosscutting_Concepts.md#authentication--autorization). + +### Managing own company data error + +When trying to manage own company data on the Portal's UI we are currently experiencing an error for being unauthorized. + +This renders the Portal user with the role `Service Manager` unable to manage their own data. + +#### Mitigation + +The Portal can mitigate this issue by making sure that the portal user with role `Service Manager` obtains the role `Gate Admin` with permissions as defined in the [roles and rights concept](08_Crosscutting_Concepts.md#authentication--autorization). + +### Exposed technical users + +Through the Portal's marketplace service and subscription process the subscribing company receive access to the created BPDM technical users. +This leads to the danger of companies bypassing the EDC offers and directly accessing the BPDM APIs. + +Since this behaviour of creating technical users is an ingrained feature of the Portal there is no quick resolution to that mismatch. + +#### Mitigation + +As a mitigation the BPDM provider who is also the operator of the Central-IDP can decide to not use the automatic tehcnical user creation process of the Portal. +As a result, when BPDM services are requested the operator needs to create technical users directly in the Central-IDP. +These hidden technical users can then be used to configure [EDC assets](../../INSTALL.md#edc-installation). + ## Glossary The Glossary is currently under development and will be added below after internal approval ([DRAFT](https://confluence.catena-x.net/display/CORE/BPDM+Glossary+-+Internal+-+DRAFT)). diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx deleted file mode 100644 index 53b33323047..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-bridge-dummy -title: "Business Partner Data Management Bridge Dummy" -description: "Bridge between Gate and Pool as a simple replacement for a dedicated sharing service" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 5.0.1-SNAPSHOT - -# Business Partner Data Management Bridge Dummy - - - -Bridge between Gate and Pool as a simple replacement for a dedicated sharing service - - - \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js b/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js deleted file mode 100644 index 26bad89f12c..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy"},{"type":"category","label":"bridge-controller","link":{"type":"generated-index","title":"bridge-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/bridge-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync","label":"Start sync between Gate and Pool","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx deleted file mode 100644 index ec3d08ae1b0..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: trigger-sync -title: "Start sync between Gate and Pool" -description: "Start sync between Gate and Pool" -sidebar_label: "Start sync between Gate and Pool" -hide_title: true -hide_table_of_contents: true -api: {"tags":["bridge-controller"],"operationId":"triggerSync","responses":{"200":{"description":"OK"}},"description":"Start sync between Gate and Pool","method":"post","path":"/api/bridge/sync","servers":[{"url":"http://localhost:8083","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Bridge Dummy","description":"Bridge between Gate and Pool as a simple replacement for a dedicated sharing service","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Start sync between Gate and Pool","description":{"type":"text/plain"},"url":{"path":["api","bridge","sync"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"method":"POST"}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Start sync between Gate and Pool - - - -Start sync between Gate and Pool - -
- -OK - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx deleted file mode 100644 index 5613220e45f..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-cleaning-service-dummy -title: "Business Partner Data Management Cleaning Service Dummy" -description: "Place holder for the cleaning service provider" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 4.1.0-SNAPSHOT - -# Business Partner Data Management Cleaning Service Dummy - - - -Place holder for the cleaning service provider - - - \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx deleted file mode 100644 index 3651ab7437b..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-gate -title: "Business Partner Data Management Gate" -description: "A gate for a member to share business partner data with CatenaX" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 6.0.0 - -# Business Partner Data Management Gate - - - -A gate for a member to share business partner data with CatenaX - - - \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx deleted file mode 100644 index 5b89c955170..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-address-types -title: "countAddressTypes" -description: "countAddressTypes" -sidebar_label: "countAddressTypes" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countAddressTypes","parameters":[{"name":"stage","in":"path","required":true,"schema":{"type":"string","enum":["Input","Output"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["additionalTotal","legalAndSiteTotal","legalTotal","siteTotal"],"type":"object","properties":{"legalAndSiteTotal":{"type":"integer","format":"int32"},"legalTotal":{"type":"integer","format":"int32"},"siteTotal":{"type":"integer","format":"int32"},"additionalTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countAddressTypes","method":"get","path":"/v6/stats/{stage}/address-types","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"count Address Types","description":{"type":"text/plain"},"url":{"path":["v6","stats",":stage","address-types"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"stage"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countAddressTypes - - - -countAddressTypes - -
Path Parameters
- -OK - -
Schema
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx deleted file mode 100644 index 516db0e01eb..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-partners-by-sharing-state -title: "countPartnersBySharingState" -description: "countPartnersBySharingState" -sidebar_label: "countPartnersBySharingState" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countPartnersBySharingState","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["errorTotal","initialTotal","pendingTotal","readyTotal","successTotal"],"type":"object","properties":{"initialTotal":{"type":"integer","format":"int32"},"readyTotal":{"type":"integer","format":"int32"},"pendingTotal":{"type":"integer","format":"int32"},"successTotal":{"type":"integer","format":"int32"},"errorTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersBySharingState","method":"get","path":"/v6/stats/sharing-states","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"count Partners By Sharing State","description":{"type":"text/plain"},"url":{"path":["v6","stats","sharing-states"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countPartnersBySharingState - - - -countPartnersBySharingState - -
- -OK - -
Schema
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx deleted file mode 100644 index 0d8ed18ef20..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-partners-per-stage -title: "countPartnersPerStage" -description: "countPartnersPerStage" -sidebar_label: "countPartnersPerStage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countPartnersPerStage","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["inputTotal","outputTotal"],"type":"object","properties":{"inputTotal":{"type":"integer","format":"int32"},"outputTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersPerStage","method":"get","path":"/v6/stats/stages","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"count Partners Per Stage","description":{"type":"text/plain"},"url":{"path":["v6","stats","stages"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countPartnersPerStage - - - -countPartnersPerStage - -
- -OK - -
Schema
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx deleted file mode 100644 index be8bc6d7212..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: get-business-partners-input -title: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." -description: "Get page of business partners filtered by a collection of external IDs." -sidebar_label: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Get page of business partners filtered by a collection of external IDs.","operationId":"getBusinessPartnersInput","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"}}}}},"responses":{"200":{"description":"The requested page of busines partners","content":{"application/json":{"schema":{"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":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/input/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","description":{"content":"Get page of business partners filtered by a collection of external IDs.","type":"text/plain"},"url":{"path":["v6","input","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search business partner by external ID. An empty external ID list returns a paginated list of all business partners. - - - -Get page of business partners filtered by a collection of external IDs. - -
Query Parameters
Request Body array
  • string
- -The requested page of busines partners - -
Schema
    content object[]
    - -Collection of results in the page - -
    identifiers object[]
    - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
    states object[]
    - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
    legalEntity object
    - -The legal entity, on which the business partner provides a view. - -
    states object[]
    site object
    - -The site, on which the business partner provides a view. - -
    states object[]
    address object
    - -The address, on which the business partner provides a view. - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    states object[]
- -On malformed pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx deleted file mode 100644 index 6068bb5fc37..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: get-business-partners-output -title: "Search business partners by an array of external IDs from the output stage" -description: "Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners." -sidebar_label: "Search business partners by an array of external IDs from the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","operationId":"getBusinessPartnersOutput","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"}}}}},"responses":{"200":{"description":"The requested page of business partners","content":{"application/json":{"schema":{"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":{"required":["address","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["bpnL","confidenceCriteria","legalEntityBpn","states"],"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."},"shortName":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Legal Entity properties of business partner output data"},"site":{"required":["confidenceCriteria","siteBpn","states"],"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Site properties of business partner output data"},"address":{"required":["addressBpn","alternativePostalAddress","bpnA","confidenceCriteria","physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Address properties of business partner output data"},"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"}},"description":"Generic business partner output with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/output/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Search business partners by an array of external IDs from the output stage","description":{"content":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","type":"text/plain"},"url":{"path":["v6","output","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search business partners by an array of external IDs from the output stage - - - -Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners. - -
Query Parameters
Request Body array
  • string
- -The requested page of business partners - -
Schema
    content object[]
    - -Collection of results in the page - -
    identifiers object[]
    - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
    states object[]
    - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
    legalEntity object
    - -Legal Entity properties of business partner output data - -
    confidenceCriteria object
    states object[]
    site object
    - -Site properties of business partner output data - -
    confidenceCriteria object
    states object[]
    address object
    - -Address properties of business partner output data - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object
    states object[]
- -On malformed pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx deleted file mode 100644 index 2358cc8daa0..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-confidence-criteria-stats -title: "getConfidenceCriteriaStats" -description: "getConfidenceCriteriaStats" -sidebar_label: "getConfidenceCriteriaStats" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"getConfidenceCriteriaStats","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["checkedByExternalDataSourceTotal","confidenceLevelAverage","numberOfBusinessPartnersAverage","sharedByOwnerTotal","uniqueTotal"],"type":"object","properties":{"numberOfBusinessPartnersAverage":{"type":"number","format":"float"},"uniqueTotal":{"type":"integer","format":"int64"},"sharedByOwnerTotal":{"type":"integer","format":"int64"},"checkedByExternalDataSourceTotal":{"type":"integer","format":"int64"},"confidenceLevelAverage":{"type":"number","format":"float"}}}}}}},"description":"getConfidenceCriteriaStats","method":"get","path":"/v6/stats/confidence-criteria","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"get Confidence Criteria Stats","description":{"type":"text/plain"},"url":{"path":["v6","stats","confidence-criteria"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## getConfidenceCriteriaStats - - - -getConfidenceCriteriaStats - -
- -OK - -
Schema
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx deleted file mode 100644 index 19329c32ef7..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-input-changelog -title: "Returns changelog entries for changes to the business partner input stage" -description: "Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type." -sidebar_label: "Returns changelog entries for changes to the business partner input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getInputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of external IDs. Ignored if empty.","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the changelog entry was created."},"timestamp":{"type":"string","description":"The date and time when the changelog entry was created.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/input/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Returns changelog entries for changes to the business partner input stage","description":{"content":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["v6","input","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries for changes to the business partner input stage - - - -Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - -
Query Parameters
Request Body required
- -The changelog entries for the specified parameters - -
Schema
    content object[]
    - -Collection of results in the page - -
    errors object[]
    - -Infos about the entries with errors - -
- -On malformed pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx deleted file mode 100644 index 7dc34f65c74..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-output-changelog -title: "Returns changelog entries for changes to the business partner output stage" -description: "Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type." -sidebar_label: "Returns changelog entries for changes to the business partner output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getOutputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of external IDs. Ignored if empty.","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the changelog entry was created."},"timestamp":{"type":"string","description":"The date and time when the changelog entry was created.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/output/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Returns changelog entries for changes to the business partner output stage","description":{"content":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["v6","output","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries for changes to the business partner output stage - - - -Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - -
Query Parameters
Request Body required
- -The changelog entries for the specified parameters - -
Schema
    content object[]
    - -Collection of results in the page - -
    errors object[]
    - -Infos about the entries with errors - -
- -On malformed pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx deleted file mode 100644 index bfdeb64f014..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-sharing-states -title: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -description: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -sidebar_label: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -hide_title: true -hide_table_of_contents: true -api: {"tags":["sharing-state-controller"],"operationId":"getSharingStates","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"}},{"name":"businessPartnerType","in":"query","description":"Business partner type","required":false,"schema":{"type":"string","enum":["LEGAL_ENTITY","SITE","ADDRESS","GENERIC"]}},{"name":"externalIds","in":"query","description":"External IDs","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Page of sharing states","content":{"application/json":{"schema":{"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":{"required":["externalId","sharingStateType"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the sharing state entry was created."},"sharingStateType":{"type":"string","description":"One of the sharing state types of the current sharing state.","enum":["Pending","Success","Error","Initial","Ready"]},"sharingErrorCode":{"type":"string","description":"One of the sharing error codes in case the current sharing state type is \"error\".","enum":["SharingProcessError","SharingTimeout","BpnNotInPool","MissingTaskID"]},"sharingErrorMessage":{"type":"string","description":"The error message in case the current sharing state type is \"error\"."},"sharingProcessStarted":{"type":"string","description":"The date and time when the sharing process was started.","format":"date-time"},"taskId":{"type":"string","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."}}},"description":"Paginated collection of results"}}}}},"description":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","method":"get","path":"/v6/sharing-state","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","description":{"type":"text/plain"},"url":{"path":["v6","sharing-state"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"Business partner type","type":"text/plain"},"key":"businessPartnerType","value":""},{"disabled":false,"description":{"content":"External IDs","type":"text/plain"},"key":"externalIds","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs - - - -Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs - -
Query Parameters
- -Page of sharing states - -
Schema
    content object[]
    - -Collection of results in the page - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx deleted file mode 100644 index 4d0a9f5351c..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-sharing-state-ready -title: "Sets the given business partners into ready to be shared state" -description: "The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach)." -sidebar_label: "Sets the given business partners into ready to be shared state" -hide_title: true -hide_table_of_contents: true -api: {"tags":["sharing-state-controller"],"description":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","operationId":"postSharingStateReady","requestBody":{"content":{"application/json":{"schema":{"required":["externalIds"],"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"description":"Request for setting business partners into ready to be shared to golden record state"}}},"required":true},"responses":{"204":{"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)"}},"method":"post","path":"/v6/sharing-state/ready","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Sets the given business partners into ready to be shared state","description":{"content":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","type":"text/plain"},"url":{"path":["v6","sharing-state","ready"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Sets the given business partners into ready to be shared state - - - -The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach). - -
Request Body required
- -All business partners put in ready to be shared state - -
- -Business partners can't be put into ready state (e.g. external-ID not found, wrong sharing state) - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js deleted file mode 100644 index ccc0fede161..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate"},{"type":"category","label":"business-partner-controller","link":{"type":"generated-index","title":"business-partner-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input","label":"Create or update business partner with given external ID","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output","label":"Search business partners by an array of external IDs from the output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input","label":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","className":"api-method post"}]},{"type":"category","label":"sharing-state-controller","link":{"type":"generated-index","title":"sharing-state-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/sharing-state-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready","label":"Sets the given business partners into ready to be shared state","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states","label":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","className":"api-method get"}]},{"type":"category","label":"changelog-controller","link":{"type":"generated-index","title":"changelog-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/changelog-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog","label":"Returns changelog entries for changes to the business partner output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog","label":"Returns changelog entries for changes to the business partner input stage","className":"api-method post"}]},{"type":"category","label":"stats-controller","link":{"type":"generated-index","title":"stats-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/stats-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-address-types","label":"countAddressTypes","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage","label":"countPartnersPerStage","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state","label":"countPartnersBySharingState","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats","label":"getConfidenceCriteriaStats","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx deleted file mode 100644 index 650e13e52f2..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: upsert-business-partners-input -title: "Create or update business partner with given external ID" -description: "Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries." -sidebar_label: "Create or update business partner with given external ID" -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"upsertBusinessPartnersInput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["address","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","site","states"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "}},"description":"Generic business partner with external id"}}}},"required":true},"responses":{"200":{"description":"Business partner were successfully updated or created","content":{"application/json":{"schema":{"type":"array","items":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}}}},"400":{"description":"On malformed legal entity request"}},"method":"put","path":"/v6/input/business-partners","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"externalId":"string","nameParts":["string"],"identifiers":[{"type":"string","value":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"roles":["SUPPLIER"],"isOwnCompanyData":true,"legalEntity":{"legalEntityBpn":"string","legalName":"string","shortName":"string","legalForm":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}]},"site":{"siteBpn":"string","name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}]},"address":{"addressBpn":"string","name":"string","addressType":"LegalAndSiteMainAddress","physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}]}}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.0.0"},"postman":{"name":"Create or update business partner with given external ID","description":{"content":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["v6","input","business-partners"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create or update business partner with given external ID - - - -Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries. - -
Request Body array required
    identifiers object[] required
    - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
    states object[] required
    - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
    legalEntity object required
    - -The legal entity, on which the business partner provides a view. - -
    states object[] required
    site object required
    - -The site, on which the business partner provides a view. - -
    states object[] required
    address object required
    - -The address, on which the business partner provides a view. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object required
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    states object[] required
- -Business partner were successfully updated or created - -
Schema array
    identifiers object[]
    - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
    states object[]
    - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
    legalEntity object
    - -The legal entity, on which the business partner provides a view. - -
    states object[]
    site object
    - -The site, on which the business partner provides a view. - -
    states object[]
    address object
    - -The address, on which the business partner provides a view. - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    states object[]
- -On malformed legal entity request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx deleted file mode 100644 index c0490699968..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-orchestrator -title: "Business Partner Data Management Orchestrator" -description: "Orchestrator component acts as a passive component and offers for each processing steps individual endpoints" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 6.0.0 - -# Business Partner Data Management Orchestrator - - - -Orchestrator component acts as a passive component and offers for each processing steps individual endpoints - - - \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx deleted file mode 100644 index b57391435ab..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: create-tasks -title: "Create new golden record tasks for given business partner data" -description: "Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries." -sidebar_label: "Create new golden record tasks for given business partner data" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Client"],"description":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"createTasks","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartners","mode"],"type":"object","properties":{"mode":{"type":"string","description":"The mode affecting which processing steps the business partner goes through","enum":["UpdateFromSharingMember","UpdateFromPool"]},"businessPartners":{"type":"array","description":"The list of business partner data to be processed","items":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}}}}},"description":"Request object to specify for which business partner data tasks should be created and in which mode"}}},"required":true},"responses":{"200":{"description":"The states of successfully created tasks including the task identifier for tracking purposes.","content":{"application/json":{"schema":{"required":["createdTasks"],"type":"object","properties":{"createdTasks":{"type":"array","items":{"required":["businessPartnerResult","processingState","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"businessPartnerResult":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}}},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of created tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/v6/golden-record-tasks","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"mode":"UpdateFromSharingMember","businessPartners":[{"nameParts":[{"name":"string","type":"LegalName"}],"owningCompany":"string","uncategorized":{"nameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"address":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"legalEntity":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"isCatenaXMemberData":true,"hasChanged":true,"legalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"site":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"siteName":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"hasChanged":true,"siteMainAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"siteMainIsLegalAddress":true},"additionalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"type":"LegalEntity"}]},"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"},"postman":{"name":"Create new golden record tasks for given business partner data","description":{"content":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new golden record tasks for given business partner data - - - -Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries. - -
Request Body required
    businessPartners object[] required
    - -The list of business partner data to be processed - -
    nameParts object[] required
    uncategorized object required
    identifiers object[] required
    states object[] required
    address object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    legalEntity object required
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    legalAddress object required
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    site object
    bpnReference object required
    states object[] required
    confidenceCriteria object required
    siteMainAddress object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    additionalAddress object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
- -The states of successfully created tasks including the task identifier for tracking purposes. - -
Schema
    createdTasks object[]
    businessPartnerResult object
    nameParts object[]
    uncategorized object
    identifiers object[]
    states object[]
    address object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    legalEntity object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    legalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    site object
    bpnReference object
    states object[]
    confidenceCriteria object
    siteMainAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    additionalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    processingState object
    - -Contains detailed information about the current processing state of a golden record task - -
    errors object[]
    - -The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. - -
- -On malformed task create requests or reaching upsert limit - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx deleted file mode 100644 index 79866dc0719..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: reserve-tasks-for-step -title: "Reserve the next golden record tasks waiting in the given step queue" -description: "Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100." -sidebar_label: "Reserve the next golden record tasks waiting in the given step queue" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Worker"],"description":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","operationId":"reserveTasksForStep","requestBody":{"content":{"application/json":{"schema":{"required":["amount","step"],"type":"object","properties":{"amount":{"type":"integer","description":"The maximum number of tasks to reserve. Can be fewer if queue is not full enough.","format":"int32"},"step":{"type":"string","description":"The step queue to reserve from","enum":["CleanAndSync","PoolSync","Clean"]}},"description":"Request object for reserving a number of tasks waiting in a step queue."}}},"required":true},"responses":{"200":{"description":"The reserved tasks with their business partner data to process.","content":{"application/json":{"schema":{"required":["reservedTasks","timeout"],"type":"object","properties":{"reservedTasks":{"type":"array","description":"The reserved tasks with their business partner data to process","items":{"required":["businessPartner","requestKey","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the reserved task"},"businessPartner":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}}},"requestKey":{"type":"string"}},"description":"Task reservation entry"}},"timeout":{"type":"string","description":"The timestamp until the reservation is valid and results are accepted","format":"date-time","deprecated":true}},"description":"Response object for giving a list of reserved tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/v6/golden-record-tasks/step-reservations","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"amount":0,"step":"CleanAndSync"},"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"},"postman":{"name":"Reserve the next golden record tasks waiting in the given step queue","description":{"content":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","step-reservations"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Reserve the next golden record tasks waiting in the given step queue - - - -Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100. - -
Request Body required
- -The reserved tasks with their business partner data to process. - -
Schema
    reservedTasks object[]
    - -The reserved tasks with their business partner data to process - -
    businessPartner object
    nameParts object[]
    uncategorized object
    identifiers object[]
    states object[]
    address object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    legalEntity object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    legalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    site object
    bpnReference object
    states object[]
    confidenceCriteria object
    siteMainAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    additionalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
- -On malformed task create requests or reaching upsert limit - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx deleted file mode 100644 index f2dd1a829fb..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: resolve-step-results -title: "Post step results for reserved golden record tasks in the given step queue" -description: "Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100." -sidebar_label: "Post step results for reserved golden record tasks in the given step queue" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Worker"],"description":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","operationId":"resolveStepResults","requestBody":{"content":{"application/json":{"schema":{"required":["results","step"],"type":"object","properties":{"step":{"type":"string","description":"The step queue containing the tasks for which results are posted","enum":["CleanAndSync","PoolSync","Clean"]},"results":{"type":"array","items":{"required":["businessPartner","errors","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the task for which this is a result"},"businessPartner":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}}},"errors":{"type":"array","description":"Errors that occurred during processing of this task","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}}},"description":"A step result for a golden record task"}}},"description":"Request object for posting step results of previously reserved tasks"}}},"required":true},"responses":{"204":{"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"}},"method":"post","path":"/v6/golden-record-tasks/step-results","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"step":"CleanAndSync","results":[{"taskId":"string","businessPartner":{"nameParts":[{"name":"string","type":"LegalName"}],"owningCompany":"string","uncategorized":{"nameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"address":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"legalEntity":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"isCatenaXMemberData":true,"hasChanged":true,"legalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"site":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"siteName":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"hasChanged":true,"siteMainAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"siteMainIsLegalAddress":true},"additionalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"type":"LegalEntity"},"errors":[{"type":"Timeout","description":"string"}]}]},"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"},"postman":{"name":"Post step results for reserved golden record tasks in the given step queue","description":{"content":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","step-results"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Post step results for reserved golden record tasks in the given step queue - - - -Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100. - -
Request Body required
    results object[] required
    businessPartner object required
    nameParts object[] required
    uncategorized object required
    identifiers object[] required
    states object[] required
    address object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    legalEntity object required
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    legalAddress object required
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    site object
    bpnReference object required
    states object[] required
    confidenceCriteria object required
    siteMainAddress object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    additionalAddress object
    bpnReference object required
    identifiers object[] required
    states object[] required
    confidenceCriteria object required
    physicalAddress object required
    geographicCoordinates object required
    street object required
    alternativeAddress object
    geographicCoordinates object required
    errors object[] required
    - -Errors that occurred during processing of this task - -
- -If the results could be processed - -
- -On malformed requests, reaching upsert limit or posting results for tasks which are missing or in the wrong step queue - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx deleted file mode 100644 index 315cdfc7c63..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: search-task-states -title: "Search for the state of golden record tasks by task identifiers" -description: "Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored." -sidebar_label: "Search for the state of golden record tasks by task identifiers" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Client"],"description":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","operationId":"searchTaskStates","requestBody":{"content":{"application/json":{"schema":{"required":["taskIds"],"type":"object","properties":{"taskIds":{"type":"array","items":{"type":"string"}}},"description":"Request object for giving a list of task identifiers to search for the state of tasks"}}},"required":true},"responses":{"200":{"description":"The state of the tasks for the provided task identifiers.","content":{"application/json":{"schema":{"required":["tasks"],"type":"object","properties":{"tasks":{"type":"array","items":{"required":["businessPartnerResult","processingState","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"businessPartnerResult":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}}},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of task states"}}}},"400":{"description":"On malformed task search requests"}},"method":"post","path":"/v6/golden-record-tasks/state/search","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"taskIds":["string"]},"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"},"postman":{"name":"Search for the state of golden record tasks by task identifiers","description":{"content":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","state","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search for the state of golden record tasks by task identifiers - - - -Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored. - -
Request Body required
- -The state of the tasks for the provided task identifiers. - -
Schema
    tasks object[]
    businessPartnerResult object
    nameParts object[]
    uncategorized object
    identifiers object[]
    states object[]
    address object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    legalEntity object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    legalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    site object
    bpnReference object
    states object[]
    confidenceCriteria object
    siteMainAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    additionalAddress object
    bpnReference object
    identifiers object[]
    states object[]
    confidenceCriteria object
    physicalAddress object
    geographicCoordinates object
    street object
    alternativeAddress object
    geographicCoordinates object
    processingState object
    - -Contains detailed information about the current processing state of a golden record task - -
    errors object[]
    - -The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. - -
- -On malformed task search requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx deleted file mode 100644 index 7347e3ab4e9..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-pool -title: "Business Partner Data Management Pool" -description: "Service that manages and shares business partner data with other CatenaX services" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 6.0.0 - -# Business Partner Data Management Pool - - - -Service that manages and shares business partner data with other CatenaX services - - - \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx deleted file mode 100644 index d2ca9c87e81..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: create-addresses -title: "Creates a new address" -description: "Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new address" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Address Controller"],"description":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnParent","confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnParent":{"type":"string","description":"BPNL of the legal entity or BPNS of the site this address belongs to."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New business partner record successfully created, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","SiteMainAddress","AdditionalAddress"]},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressCreateError","enum":["BpnNotValid","SiteNotFound","LegalEntityNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"bpnParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Creates a new address","description":{"content":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new address - - - -Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
Request Body array required
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
- -New business partner record successfully created, possible errors are returned - -
Schema
    entities object[]
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx deleted file mode 100644 index f7a88bf8d07..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx +++ /dev/null @@ -1,162 +0,0 @@ ---- -id: create-business-partners -title: "Creates a new legal entity" -description: "Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new legal entity" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"description":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["confidenceCriteria","identifiers","isCatenaXMemberData","legalAddress","legalName","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean","description":"Indicates whether the legal entity is owned and thus provided by a Catena-X Member."},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityCreateError","enum":["LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier","LegalEntityErrorMapping"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"isCatenaXMemberData":true,"legalAddress":{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0}},"index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Creates a new legal entity","description":{"content":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new legal entity - - - -Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
Request Body array required
    identifiers object[] required
    - -The list of identifiers of the legal entity. - -
    states object[] required
    - -The list of (temporary) states of the legal entity. - -
    confidenceCriteria object required
    legalAddress object required
    - -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. - -
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
- -New legal entities request was processed successfully, possible errors are returned - -
Schema
    entities object[]
    legalForm object
    - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
    identifiers object[]
    - -The list of identifiers of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    states object[]
    - -The list of (temporary) states of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    relations object[]
    - -Relations to other business partners. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    legalAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx deleted file mode 100644 index 85918cdf9ff..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: create-identifier-type -title: "Creates a new identifier type" -description: "Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." -sidebar_label: "Creates a new identifier type" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createIdentifierType","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"required":true},"responses":{"200":{"description":"New identifier type successfully created","content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Identifier type with specified technical key already exists"}},"method":"post","path":"/v6/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","businessPartnerType":"LEGAL_ENTITY","name":"string","details":[{"country":"UNDEFINED","mandatory":true}]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Creates a new identifier type","description":{"content":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["v6","identifier-types"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new identifier type - - - -Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. - -
Request Body required
    details object[] required
    - -Validity details. - -
- -New identifier type successfully created - -
Schema
    details object[]
    - -Validity details. - -
- -On malformed request parameters - -
- -Identifier type with specified technical key already exists - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx deleted file mode 100644 index 8328fe2bb44..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: create-legal-form -title: "Creates a new legal form" -description: "Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." -sidebar_label: "Creates a new legal form" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createLegalForm","requestBody":{"content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key to be used for reference"},"name":{"type":"string","description":"Full name of the legal form"},"abbreviation":{"type":"string","description":"Abbreviation of the legal form name"}},"description":"New legal form record to be referenced by business partners"}}},"required":true},"responses":{"200":{"description":"New legal form successfully created","content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Legal form with specified technical key already exists"}},"method":"post","path":"/v6/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","name":"string","abbreviation":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Creates a new legal form","description":{"content":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["v6","legal-forms"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new legal form - - - -Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. - -
Request Body required
- -New legal form successfully created - -
Schema
- -On malformed request parameters - -
- -Legal form with specified technical key already exists - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx deleted file mode 100644 index 9485d3077f2..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -id: create-site -title: "Creates a new site" -description: "Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new site" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Site Controller"],"description":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnlParent","confidenceCriteria","mainAddress","name","states"],"type":"object","properties":{"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnlParent":{"type":"string","description":"The BPNL of the legal entity owning the site."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteCreateError","enum":["LegalEntityNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"bpnlParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Creates a new site","description":{"content":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new site - - - -Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
Request Body array required
    states object[] required
    - -The list of the (temporary) states of the site. - -
    mainAddress object required
    - -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. - -
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
    confidenceCriteria object required
- -New sites request was processed successfully, possible errors are returned - -
Schema
    entities object[]
    states object[]
    - -The list of the (temporary) states of the site. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    mainAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx deleted file mode 100644 index d6d00be6d85..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: find-bpns-by-identifiers -title: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" -description: "Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries." -sidebar_label: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Bpn Controller"],"description":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","operationId":"findBpnsByIdentifiers","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","idType","idValues"],"type":"object","properties":{"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"idType":{"type":"string","description":"Technical key of the type to which the identifiers belongs to"},"idValues":{"type":"array","description":"Values of the identifiers","items":{"type":"string","description":"Values of the identifiers"}}},"description":"Contains identifiers to search legal entities by"}}},"required":true},"responses":{"200":{"description":"Found bpn to identifier value mappings","content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"required":["bpn","idValue"],"type":"object","properties":{"idValue":{"type":"string","description":"Value of the identifier"},"bpn":{"type":"string","description":"Business Partner Number"}},"description":"Mapping of Business Partner Number to identifier value"}}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"},"404":{"description":"Specified identifier type not found"}},"method":"post","path":"/v6/bpn/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"businessPartnerType":"LEGAL_ENTITY","idType":"string","idValues":["string"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values","description":{"content":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","type":"text/plain"},"url":{"path":["v6","bpn","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values - - - -Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries. - -
Request Body required
- -Found bpn to identifier value mappings - -
Schema array
- -On malformed request parameters or if number of requested bpns exceeds limit - -
- -Specified identifier type not found - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx deleted file mode 100644 index 88870732ff5..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: get-address -title: "Returns an address by its BPNA" -description: "Get business partners of type address by BPNA ignoring case." -sidebar_label: "Returns an address by its BPNA" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Address Controller"],"description":"Get business partners of type address by BPNA ignoring case.","operationId":"getAddress","parameters":[{"name":"bpna","in":"path","description":"BPNA value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found address with specified BPNA","content":{"application/json":{"schema":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No address found under specified BPNA"}},"method":"get","path":"/v6/addresses/{bpna}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns an address by its BPNA","description":{"content":"Get business partners of type address by BPNA ignoring case.","type":"text/plain"},"url":{"path":["v6","addresses",":bpna"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNA value","type":"text/plain"},"type":"any","value":"","key":"bpna"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns an address by its BPNA - - - -Get business partners of type address by BPNA ignoring case. - -
Path Parameters
- -Found address with specified BPNA - -
Schema
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed request parameters - -
- -No address found under specified BPNA - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx deleted file mode 100644 index a698053d8e4..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: get-addresses-1 -title: "Returns addresses by different search parameters" -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." -sidebar_label: "Returns addresses by different search parameters" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Address Controller"],"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","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of addresses matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns addresses by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"addressBpns","value":""},{"disabled":false,"key":"legalEntityBpns","value":""},{"disabled":false,"key":"siteBpns","value":""},{"disabled":false,"key":"name","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses by different search parameters - - - -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. - -
Query Parameters
- -Page of addresses matching the search criteria, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed search or pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx deleted file mode 100644 index 6619c3b4f54..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -id: get-addresses -title: "Returns all addresses of a legal entity with a specific BPNL" -description: "Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case." -sidebar_label: "Returns all addresses of a legal entity with a specific BPNL" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"description":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","operationId":"getAddresses","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The addresses for the specified BPNL","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified BPNL"}},"method":"get","path":"/v6/legal-entities/{bpnl}/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns all addresses of a legal entity with a specific BPNL","description":{"content":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","type":"text/plain"},"url":{"path":["v6","legal-entities",":bpnl","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all addresses of a legal entity with a specific BPNL - - - -Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case. - -
Path Parameters
Query Parameters
- -The addresses for the specified BPNL - -
Schema
    content object[]
    - -Collection of results in the page - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed pagination request - -
- -No business partner found for specified BPNL - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx deleted file mode 100644 index b30d80e3e5d..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-admin-areas-level-1 -title: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" -description: "Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result" -sidebar_label: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","operationId":"getAdminAreasLevel1","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"}}],"responses":{"200":{"description":"Page of existing country subdivisions, may be empty","content":{"application/json":{"schema":{"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":{"required":["code","countryCode","name"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"code":{"type":"string","description":"The country subdivision code according to ISO 3166-2"},"name":{"type":"string","description":"The name of the country subdivision according to ISO 3166-2"}},"description":"Country subdivision"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/administrative-areas-level1","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Get page of country subdivisions suitable for the administrativeAreaLevel1 address property","description":{"content":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","type":"text/plain"},"url":{"path":["v6","administrative-areas-level1"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get page of country subdivisions suitable for the administrativeAreaLevel1 address property - - - -Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result - -
Query Parameters
- -Page of existing country subdivisions, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
- -On malformed request parameters - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx deleted file mode 100644 index cea80e338ce..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-changelog-entries -title: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -description: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -sidebar_label: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Changelog Controller"],"operationId":"getChangelogEntries","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"bpns":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of BPNL/S/A. 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"]}}},"description":"Request for searching and filtering the business partner changelog"}}},"required":true},"responses":{"200":{"description":"The specified changelog entries","content":{"application/json":{"schema":{"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":{"required":["bpn","businessPartnerType","changelogType","timestamp"],"type":"object","properties":{"bpn":{"type":"string","description":"The business partner number for which the changelog entry was created. Can be either a BPNL, BPNS or BPNA."},"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpn"}},"description":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","method":"post","path":"/v6/business-partners/changelog/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","bpns":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","description":{"type":"text/plain"},"url":{"path":["v6","business-partners","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types - - - -Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types - -
Query Parameters
Request Body required
- -The specified changelog entries - -
Schema
    content object[]
    - -Collection of results in the page - -
- -On malformed pagination request - -
- -No business partner found for specified bpn - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx deleted file mode 100644 index bc6ac287256..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-field-quality-rules -title: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" -description: "List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden." -sidebar_label: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","operationId":"getFieldQualityRules","parameters":[{"name":"country","in":"query","description":"ISO 3166-1 alpha-2 country code","required":true,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"List of the existing rules for the given country","content":{"application/json":{"schema":{"type":"array","items":{"required":["country","fieldPath","qualityLevel"],"type":"object","properties":{"fieldPath":{"type":"string","description":"Path to the field"},"schemaName":{"type":"string","description":"Schema name of the entity the field belongs to"},"country":{"type":"string","description":"Country for wich the rule is valid","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"]},"qualityLevel":{"type":"string","description":"Defines the quality of an entity field.","enum":["MANDATORY","OPTIONAL","FORBIDDEN"]}},"description":"Rule for the quality level of an entity field "}}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/field-quality-rules/","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)","description":{"content":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","type":"text/plain"},"url":{"path":["v6","field-quality-rules",""],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) ISO 3166-1 alpha-2 country code","type":"text/plain"},"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code) - - - -List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden. - -
Query Parameters
- -List of the existing rules for the given country - -
Schema array
- -On malformed request parameters - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx deleted file mode 100644 index 7fd0466115b..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-identifier-types -title: "Returns all identifier types filtered by business partner type and country." -description: "Lists all matching identifier types including validity details in a paginated result" -sidebar_label: "Returns all identifier types filtered by business partner type and country." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"Lists all matching identifier types including validity details in a paginated result","operationId":"getIdentifierTypes","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"}},{"name":"businessPartnerType","in":"query","required":true,"schema":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]}},{"name":"country","in":"query","required":false,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"Page of existing identifier types, may be empty","content":{"application/json":{"schema":{"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":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns all identifier types filtered by business partner type and country.","description":{"content":"Lists all matching identifier types including validity details in a paginated result","type":"text/plain"},"url":{"path":["v6","identifier-types"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"key":"businessPartnerType","value":""},{"disabled":false,"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all identifier types filtered by business partner type and country. - - - -Lists all matching identifier types including validity details in a paginated result - -
Query Parameters
- -Page of existing identifier types, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
    details object[]
    - -Validity details. - -
- -On malformed request parameters - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx deleted file mode 100644 index 021aeae677a..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: get-legal-entities -title: "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." -sidebar_label: "Returns legal entities by different search parameters" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"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","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns legal entities by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"bpnLs","value":""},{"disabled":false,"key":"legalName","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities by different search parameters - - - -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. - -
Query Parameters
- -Page of business partners matching the search criteria, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
    legalForm object
    - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
    identifiers object[]
    - -The list of identifiers of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    states object[]
    - -The list of (temporary) states of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    relations object[]
    - -Relations to other business partners. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    legalAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed search or pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx deleted file mode 100644 index 7e598684920..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: get-legal-entity -title: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" -description: "This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type." -sidebar_label: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"description":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","operationId":"getLegalEntity","parameters":[{"name":"idValue","in":"path","description":"Identifier value","required":true,"schema":{"type":"string"}},{"name":"idType","in":"query","description":"Type of identifier to use, defaults to BPN when omitted","required":false,"schema":{"type":"string","default":"BPN"}}],"responses":{"200":{"description":"Found business partner with specified identifier","content":{"application/json":{"schema":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No business partner found under specified identifier or specified identifier type not found"}},"method":"get","path":"/v6/legal-entities/{idValue}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type","description":{"content":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","type":"text/plain"},"url":{"path":["v6","legal-entities",":idValue"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Type of identifier to use, defaults to BPN when omitted","type":"text/plain"},"key":"idType","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) Identifier value","type":"text/plain"},"type":"any","value":"","key":"idValue"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type - - - -This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type. - -
Path Parameters
Query Parameters
- -Found business partner with specified identifier - -
Schema
    legalForm object
    - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
    identifiers object[]
    - -The list of identifiers of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    states object[]
    - -The list of (temporary) states of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    relations object[]
    - -Relations to other business partners. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    legalAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed request parameters - -
- -No business partner found under specified identifier or specified identifier type not found - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx deleted file mode 100644 index 925cf8110cc..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-legal-forms -title: "Returns all legal forms" -description: "Lists all currently known legal forms in a paginated result" -sidebar_label: "Returns all legal forms" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Metadata Controller"],"description":"Lists all currently known legal forms in a paginated result","operationId":"getLegalForms","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"}}],"responses":{"200":{"description":"Page of existing legal forms, may be empty","content":{"application/json":{"schema":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns all legal forms","description":{"content":"Lists all currently known legal forms in a paginated result","type":"text/plain"},"url":{"path":["v6","legal-forms"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all legal forms - - - -Lists all currently known legal forms in a paginated result - -
Query Parameters
- -Page of existing legal forms, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
- -On malformed request parameters - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx deleted file mode 100644 index f3303c5bdfe..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: get-site -title: "Returns a site by its BPNS" -description: "Get business partners of type site by BPNS ignoring case." -sidebar_label: "Returns a site by its BPNS" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Site Controller"],"description":"Get business partners of type site by BPNS ignoring case.","operationId":"getSite","parameters":[{"name":"bpns","in":"path","description":"BPNS value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found site with specified BPNS","content":{"application/json":{"schema":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No site found under specified BPNS"}},"method":"get","path":"/v6/sites/{bpns}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns a site by its BPNS","description":{"content":"Get business partners of type site by BPNS ignoring case.","type":"text/plain"},"url":{"path":["v6","sites",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNS value","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a site by its BPNS - - - -Get business partners of type site by BPNS ignoring case. - -
Path Parameters
- -Found site with specified BPNS - -
Schema
    states object[]
    - -The list of the (temporary) states of the site. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    mainAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed request parameters - -
- -No site found under specified BPNS - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx deleted file mode 100644 index cd788374eac..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: get-sites -title: "Get page of sites matching the pagination search criteria" -description: "This endpoint retrieves all existing business partners of type sites." -sidebar_label: "Get page of sites matching the pagination search criteria" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Site Controller"],"description":"This endpoint retrieves all existing business partners of type sites.","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","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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"get","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Get page of sites matching the pagination search criteria","description":{"content":"This endpoint retrieves all existing business partners of type sites.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"siteBpns","value":""},{"disabled":false,"key":"legalEntityBpns","value":""},{"disabled":false,"key":"name","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get page of sites matching the pagination search criteria - - - -This endpoint retrieves all existing business partners of type sites. - -
Query Parameters
- -Page of business partners matching the search criteria, may be empty - -
Schema
    content object[]
    - -Collection of results in the page - -
    states object[]
    - -The list of the (temporary) states of the site. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    mainAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- -On malformed pagination request - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx deleted file mode 100644 index 49c24fd70b7..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: search-addresses -title: "searchAddresses" -description: "searchAddresses" -sidebar_label: "searchAddresses" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Address Controller"],"operationId":"searchAddresses","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":{"required":["addressBpns","legalEntityBpns","siteBpns"],"type":"object","properties":{"addressBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"siteBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}}},"description":"searchAddresses","method":"post","path":"/v6/members/addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"addressBpns":["string"],"legalEntityBpns":["string"],"siteBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"search Addresses","description":{"type":"text/plain"},"url":{"path":["v6","members","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## searchAddresses - - - -searchAddresses - -
Query Parameters
Request Body required
- -OK - -
Schema
    content object[]
    - -Collection of results in the page - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx deleted file mode 100644 index fd662e8886b..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: update-addresses -title: "Updates an existing address" -description: "Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing address" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Address Controller"],"description":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpna","confidenceCriteria","identifiers","physicalPostalAddress","requestKey","states"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"The successfully updated records, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressUpdateError","enum":["AddressNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpna":"string","name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Updates an existing address","description":{"content":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing address - - - -Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change. - -
Request Body array required
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
- -The successfully updated records, possible errors are returned - -
Schema
    entities object[]
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx deleted file mode 100644 index 71840bb1070..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx +++ /dev/null @@ -1,162 +0,0 @@ ---- -id: update-business-partners -title: "Updates an existing legal entity" -description: "Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing legal entity" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"description":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnl","confidenceCriteria","identifiers","isCatenaXMemberData","legalAddress","legalName","requestKey","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean","description":"Indicates whether the legal entity is owned and thus provided by a Catena-X Member."},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityUpdateError","enum":["LegalEntityNotFound","LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier","LegalEntityErrorMapping"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpnl":"string","legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"isCatenaXMemberData":true,"legalAddress":{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0}},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Updates an existing legal entity","description":{"content":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing legal entity - - - -Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change. - -
Request Body array required
    identifiers object[] required
    - -The list of identifiers of the legal entity. - -
    states object[] required
    - -The list of (temporary) states of the legal entity. - -
    confidenceCriteria object required
    legalAddress object required
    - -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. - -
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
- -Update legal entities request was processed successfully, possible errors are returned - -
Schema
    entities object[]
    legalForm object
    - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
    identifiers object[]
    - -The list of identifiers of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    states object[]
    - -The list of (temporary) states of the legal entity. - -
    type object
    - -Named type uniquely identified by its technical key - -
    relations object[]
    - -Relations to other business partners. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    legalAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx b/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx deleted file mode 100644 index 7ebcd175a12..00000000000 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -id: update-site -title: "Updates an existing site" -description: "Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing site" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Site Controller"],"description":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpns","confidenceCriteria","mainAddress","name","requestKey","states"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteUpdateError","enum":["SiteNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpns":"string","name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-05-15","validTo":"2024-05-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-05-15","nextConfidenceCheckAt":"2024-05-15","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Updates an existing site","description":{"content":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing site - - - -Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change. - -
Request Body array required
    states object[] required
    - -The list of the (temporary) states of the site. - -
    mainAddress object required
    - -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. - -
    states object[] required
    - -The list of (temporary) states of the address. - -
    identifiers object[] required
    - -The list of identifiers of the address. - -
    physicalPostalAddress object required
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    confidenceCriteria object required
    confidenceCriteria object required
- -Update sites request was processed successfully, possible errors are returned - -
Schema
    entities object[]
    states object[]
    - -The list of the (temporary) states of the site. - -
    type object
    - -Named type uniquely identified by its technical key - -
    confidenceCriteria object
    mainAddress object
    - -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. - -
    states object[]
    - -The list of (temporary) states of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    identifiers object[]
    - -The list of identifiers of the address. - -
    type object
    - -Named type uniquely identified by its technical key - -
    physicalPostalAddress object
    - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    street object
    - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
    alternativePostalAddress object
    - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
    geographicCoordinates object
    - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
    country object
    - -Named type uniquely identified by its technical key - -
    administrativeAreaLevel1 object
    - -Region within a country - -
    confidenceCriteria object
    errors object[]
- -On malformed requests - -
- \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/page_changelog.md b/docs-kits/kits/Business Partner Kit/page_changelog.md index 75ca23a1da3..497398d7ac6 100644 --- a/docs-kits/kits/Business Partner Kit/page_changelog.md +++ b/docs-kits/kits/Business Partner Kit/page_changelog.md @@ -11,7 +11,42 @@ sidebar_position: 1 All notable changes to this Kit will be documented in this file. -## [5.0.0] - unreleased +## [7.0.0] - 2024-12-01 + +Compatible for **release 24.12**. + +### Added + +- Added api hub hyperlink for swagger documentation for all services from business partner data management in development view of business partner kit. + +### Changed + +- ./. + +### Removed + +- Removed open api plug in usage from business partner kit. + +## [6.0.0] - 2024-07-16 + +### Added + +- BPDM Gate api endpoint: Post endpoint to upload business partner input data using csv file. +- BPDM Gate api endpoint: GET endpoint to download the csv file template for business partner upload. +- BPDM Apps: New attribute Tax Jurisdiction Code to the physical address of a business partner +- BPDM Orchestrator: New attribute Record Id to tasks. Now tasks come with a gate record identifier. + +### Changed + +- Documentation of gate service with new endpoints +- Documentation of orchestrator service with updated endpoints +- Documentation of pool service with updated endpoints for newly added attributes. + +### Removed + +- Documentation of BPDM Bridge Dummy service. + +## [5.0.0] - 2024-05-15 ### Added diff --git a/docs-kits/kits/Business Partner Kit/page_software-operation-view.md b/docs-kits/kits/Business Partner Kit/page_software-operation-view.md index cfdf08071df..0b00e90a5a9 100644 --- a/docs-kits/kits/Business Partner Kit/page_software-operation-view.md +++ b/docs-kits/kits/Business Partner Kit/page_software-operation-view.md @@ -13,7 +13,8 @@ sidebar_position: 3 BPDM is an acronym for business partner data management. This project provides core services for querying, adding and changing business partner base information in the Eclipse Tractus-X landscape. BPDM project is SpringBoot Kotlin software project managed by Maven and consists of three microservices. This section contains information on how to configure and run the BPDM application. -This local deployment is an easy installation with helm. This setup is built to run on a kubernetes cluster. +This local deployment is an easy installation with helm charts. This setup is built to run on a kubernetes cluster. +Installation of BPDM applications with the Helm Charts has the most software requirements but is the qickest way to set up a running system. If you want to do local deployment without helm chart then you can refer [installation steps](https://github.com/eclipse-tractusx/bpdm/blob/main/INSTALL.md#local-installation) from [INSTALL.md](https://github.com/eclipse-tractusx/bpdm/blob/main/INSTALL.md) file on bpdm repository. Which will guide you about prerequisites, default installation steps and also guide you for quick installation steps in which security is not necessary by using the provided `no-auth` profile when running the BPDM applications. | Step | Action | Description | |----------------------------------------------------------------------------------|-------------------------------------|-------------------------------------------------------------------------| @@ -47,7 +48,7 @@ Check out the project [BPDM](https://github.com/eclipse-tractusx/bpdm) or downlo ### Step 3: Installing the services -#### 1. Start the cluster +#### 1.0 Start the cluster To deploy the services on kubernetes using helm charts, run @@ -70,17 +71,18 @@ helm dependency build ./charts/bpdm/ This can take up to **5 minutes**. -When the deployment is finished you can expect that 3 deployments can be seen in the minikube dashboard: +When the deployment is finished you can expect that 4 deployments can be seen in the minikube dashboard: -* bpdm-bridge-dummy * bpdm-gate * bpdm-pool * bpdm-cleaning-dummy * bpdm-orchestrator +* bpdm-keycloak +* bpdm-postgres -Also in total 5 Pods are up and running. +Also in total 6 Pods are up and running. -##### 1.1 Get the status of the deployment +#### 1.1 Get the status of the deployment The minikube dashboard will give you feedback on how the status of the deployment currently is: @@ -88,11 +90,9 @@ The minikube dashboard will give you feedback on how the status of the deploymen minikube dashboard ``` -Make sure you select the namespace **your_namespace**: +Make sure you select the namespace **your_namespace** -![expected status](@site/static/img/minikube-bpdm-dashboard-overview.png) - -#### 2. Forward ports +#### 1.2 Forward ports When the deployment has been finished, you can for port forwarding using k9s. Also, if k9s tool is not installed the you can use [installer](https://k9scli.io/topics/install/) @@ -108,459 +108,89 @@ kubectl port-forward : After that you can access the: -* **bpdm-bridge-dummy:** [http://localhost:8083](http://localhost:8083) * **bpdm-gate:** [http://localhost:8081](http://localhost:8081) * **bpdm-pool:** [http://localhost:8080](http://localhost:8080) -## Deploy Individual Service - -### 1. BPDM Pool - -The [prerequisites](#step-1-prerequisites) for running this service. In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-pool --namespace your_namespace -``` - -This will install a new release of the BPDM Pool in the given namespace.On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. The application is run on default profile (without authorization). -Additionally, the Helm deployment contains a PostgreSQL database and Opensearch instance which the BPDM Pool connects to. - -On the default values deployment no further action is needed to make the BPDM Pool deployment run. -However, per default, ingress as well as authentication for endpoints are disabled. - -By giving your own values file you can configure the Helm deployment of the BPDM Pool freely: - -```bash -helm install release_name ./charts/bpdm/bpdm-pool --namespace your_namespace -f ./path/to/your/values.yaml -``` - -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references a certain BPDM Pool release version where the newest Helm release points to the newest Pool version. -This is a stable tag pointing to a fixed release version of the BPDM Pool. -For your deployment you might want to follow the latest application releases instead. - -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Pool should be run. -In case you want to run the Pool with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Pool available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Pool deployment could look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /pool - pathType: Prefix -``` - -#### Pool Configuration - -The Helm deployment comes with the ability to configure the BPDM Pool application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. -Overwriting configuration properties can be useful to connect to a remote service: - -```yaml -applicationConfig: - bpdm: - security: - auth-server-url: https://remote.keycloak.domain.com - realm: CUSTOM_REALM - client-id: POOL_CLIENT -``` - -In this example above a Pool with authenticated activated connects to a remote Keycloak instance and uses its custom realm and resource. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a custom database password for example: - -```yaml -applicationSecrets: - spring: - datasource: - password: your_database_secret -``` - -#### Helm Dependencies - -On default, the Helm deployment also contains a PostgreSQL and Opensearch deployment. -You can configure these deployments in your value file as well. -For this, consider the documentation of the correspondent dependency [PostgreSQL](https://artifacthub.io/packages/helm/bitnami/postgresql/11.9.13) -or [Opensearch](https://opensearch.org/docs/latest/dashboards/install/helm/). -In case you want to use an already deployed database or Opensearch instance you can also disable the respective dependency and overwrite the default host -address in the `applicationConfig`: - -```yaml -applicationConfig: - spring: - datasource: - url: jdbc:postgresql://remote.host.net:5432/bpdm -postgres: - enabled: false -``` - -### 2. BPDM Gate - -The [prerequisites](#step-1-prerequisites) for running this service is same except this service need running BPDM Pool instance. - -In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-gate --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Gate in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. -The application is run on default profile (without authorization for its own endpoints or BPDM Pool endpoints). -This deployment requires a BPDM Pool deployment to be reachable under host name `bpdm-pool` on port `8080`. - -By giving your own values file you can configure the Helm deployment of the BPDM Gate freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM gate release tagged as `main`. -This tag follows the latest version of the Gate and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles +This will install the BPDM applications with its own Postgres and Keycloak in default values. +Please keep in mind that these steps will also install the applications with default passwords. -You can also activate Spring profiles in which the BPDM Gate should be run. -In case you want to run the Gate with authorization and oAuth Pool client enabled you can write the following: +### Step 4: Override Default Secrets -```yaml -springProfiles: - - auth - - pool-auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Gate available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Gate deployment could look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /companies/test-company - pathType: Prefix -``` - -#### Gate Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Gate application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties`, `application-auth.properties` -and `application-pool-auth.properties` files. -Consider that you would need to turn on `auth` and `pool-auth` profile first before overwriting any property in the corresponding properties file could take -effect. -Overwriting configuration properties can be useful for connecting to a remotely hosted BPDM Pool instance: - -```yaml -applicationConfig: - bpdm: - pool: - base-url: http://remote.domain.net/api/catena -``` - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -### 3. BPDM Bridge Dummy - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: +It is good practice to overwrite the default secrets and passwords that are used in the BPDM Charts. +For this, you can first define a bunch of environment variables holding new secret values and use them later during deployment: ```bash -helm install release_name ./charts/bpdm/bpdm-bridge-dummy --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Bridge Dummy in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Bridge Dummy freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM Bridge Dummy release tagged as `main`. -This tag follows the latest version of the Bridge Dummy and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Bridge Dummy should be run. -In case you want to run the Bridge Dummy with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Bridge Dummy available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Bridge Dummy deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /bridge - pathType: Prefix -``` - -#### Bridge Dummy Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Bridge Dummy application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take -effect. -Overwriting configuration properties can be useful for connecting to a remotely hosted BPDM Gate and Pool instance: - -```yaml -applicationConfig: - bpdm: - pool: - base-url: http://remote.domain.net/api/catena - gate: - base-url: http://remote.domain.net/api/catena -``` - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -### 4. BPDM Cleaning Dummy - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: +helm install your_namespace \ + --set-value postgres.auth.password=$BPDM_POSTGRES \ + --set-value keycloak.auth.adminPassword=$BPDM_KEYCLOAK_ADMIN \ + --set-value keycloak.bpdm.realm.clientSecrets.cleaningDummyOrchestrator=$BPDM_DUMMY_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.poolOrchestrator=$BPDM_POOL_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.gateOrchestrator=$BPDM_GATE_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.gatePool=$BPDM_GATE_POOL_CLIENT_SECRET \ + --set-value bpdm-gate.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_GATE_ORCH_CLIENT_SECRET \ + --set-value bpdm-gate.applicationSecrets.bpdm.client.pool.registration=$BPDM_GATE_POOL_CLIENT_SECRET \ + --set-value bpdm-pool.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_POOL_ORCH_CLIENT_SECRET \ + --set-value bpdm-cleaning-service-dummy.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_DUMMY_ORCH_CLIENT_SECRET\ + ./charts/bpdm +``` + +### Step 5: Installation without authentication + +For non-production purposes you may want to install BPDM applications that are not authenticated. +All BPDM applications offer a Spring profile to quickly remove all authentication configuration for their APIs and client connections. +In this case you can also disable the Keycloak dependency from being deployed. ```bash -helm install release_name ./charts/bpdm/bpdm-cleaning-service-dummy --namespace your_namespace -f /path/to/my_release-values.yaml +helm install your_namespace \ + --set-value keycloak.enabled=false + --set-value bpdm-gate.profiles=["no-auth"] \ + --set-value bpdm-orchestrator.profiles=["no-auth"] \ + --set-value bpdm-pool.profiles=["no-auth"] \ + --set-value bpdm-cleaning-service-dummy.profiles=["no-auth"] + ./charts/bpdm ``` -This will install a new release of the BPDM Cleaning Dummy in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Cleaning Dummy freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag +You can also more fine-granulary remove authentication on APIs and BPDM client connections. +You can refer to the no-auth profile configurations (for example that of the [BPDM Gate(without authentication)](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-gate/src/main/resources/application-no-auth.yml)) as a documentation. -Per default, the Helm deployment references the latest BPDM Cleaning Dummy release tagged as `main`. -This tag follows the latest version of the Cleaning Dummy and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: +### Use External Dependencies -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Cleaning Dummy should be run. -In case you want to run the Cleaning Dummy with authorization enabled you can write the following: +The BPDM Charts deploy their own PostgreSQL and Keycloak dependencies. +However, for production it is recommended to host dedicated Postgres and Keycloak instances with which the BPDM applications should connect to. -```yaml -springProfiles: - - auth -``` +#### Additional Requirements -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Cleaning Dummy available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Cleaning Dummy deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /cleaning - pathType: Prefix -``` +* Postgres (15.4.0 supported) +* Keycloak (22.0.3 supported) -#### Cleaning Dummy Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Cleaning Dummy application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` +#### Installation -### 5. BPDM Orchestrator - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: +In this case, you can disable the dependencies and configure the connection to external systems in the application configuration. ```bash -helm install release_name ./charts/bpdm/bpdm-orchestrator --namespace your_namespace -f /path/to/my_release-values.yaml +helm install your_namespace \ + --set-value keycloak.enabled=false + --set-value postgres.enabled=false + --set-value bpdm-gate.applicationConfig.bpdm.datasource.host=external-db \ + --set-value bpdm-gate.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-pool.applicationConfig.bpdm.datasource.host=external-db \ + --set-value bpdm-pool.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-orchestrator.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-cleaning-service-dummy.applicationConfig.bpdm.client.orchestrator.provider.issuer-uri= http://external-keycloak/realms/CX-Central \ + ./charts/bpdm ``` -This will install a new release of the BPDM Orchestrator in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Orchestrator freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM Orchestrator release tagged as `main`. -This tag follows the latest version of the Orchestrator and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` +### Fine-granular Configuration -#### Profiles +You can configure all BPDM applications over Helm values more fine-granulary via the `applicationConfig` and `applicationSecrets`. +Values under these groups are directly injected as application properties in the deployed containers. -You can also activate Spring profiles in which the BPDM Orchestrator should be run. -In case you want to run the Orchestrator with authorization enabled you can write the following: +As a reference of what can be changed have a look at the respective application properties files of each application: -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Orchestrator available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Orchestrator deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /cleaning - pathType: Prefix -``` - -#### Orchestrator Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Orchestrator application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` +1. [BPDM Gate](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-gate/src/main/resources/application.yml) +2. [BPDM Pool](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-pool/src/main/resources/application.yml) +3. [BPDM Orchestrator](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-orchestrator/src/main/resources/application.yml) +4. [BPDM Cleaning Service Dummy](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-cleaning-service-dummy/src/main/resources/application.yml) ## Stopping the cluster diff --git a/docs-kits/kits/Circularity_KIT/page-adoption-view.md b/docs-kits/kits/Circularity_KIT/page-adoption-view.md index 9349c3bbc1b..763c4c0aac7 100644 --- a/docs-kits/kits/Circularity_KIT/page-adoption-view.md +++ b/docs-kits/kits/Circularity_KIT/page-adoption-view.md @@ -81,6 +81,14 @@ Benefits for OEMs, SMEs, and Solution Providers: - Access new market opportunities and scale their customer base through a circularity network and shared services. - Leverage the collective wisdom of industry stakeholders to drive continuous improvement and innovation. +### Informational Requirements at End of Life + +The regulatory movement and the industry trend towards circularity demand concerted action of all the industry participants addressing the R-strategies. Within the CE community of the Catena-x federation, two working groups with broad industry representation have been addressing the particular data requirements of the three R- strategies: Reuse, Remanufacturing and Recycle. + +The following whitepaper addresses the data parameters required to enable dismantlers to effectively support form-preserving R-strategies at the end-of-life stage, with a special focus on reuse and remanufacturing. By identifying the critical data elements for informed decision-making in the management of end-of-life vehicles, this paper aims to promote a more sustainable and economically viable approach to component utilization in the automotive industry: [Informational Requirements at Dismantling to enable form preserving R-Strategies](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_Reuse_Reman_Use_Case_WP_v1.pdf) + +Addressing the challenging task of closing the loop for materials from an end-of-life vehicle to a new car component of a modern vehicle, has been attempted within the recycling working group, initially focusing on a few promising components and materials, but with the clear perspective to extend to more materials and their data requirements in further iterations and subsequent refinement of data models. Status of the whitepaper and its addressed examples can be found here: [Data requirements for recycling of ELVs](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_Material_Recycling_WP_v1.pdf). + ## Material Accounting ### Introduction @@ -564,4 +572,10 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses - Copyright (c) 2023,2024 LRP Auto-Recycling Leipzig GmbH - Copyright (c) 2023,2024 Robert Bosch GmbH - Copyright (c) 2023,2024 tec4U-Ingenieurgesellschaft mbH +- Copyright (c) 2023,2024 TÜV Süd AG +- Copyright (c) 2023,2024 Valeo SA +- Copyright (c) 2023,2024 Volvo Group Aktiebolag +- Copyright (c) 2023,2024 Volvo Car Aktiebolag +- Copyright (c) 2023,2024 Brain of Materials AG +- Copyright (c) 2023,2024 thyssenkrupp Material Services GmbH - Copyright (c) 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Circularity_KIT/page-glossary.md b/docs-kits/kits/Circularity_KIT/page-glossary.md index a56b7fb6b53..d9f79eb6880 100644 --- a/docs-kits/kits/Circularity_KIT/page-glossary.md +++ b/docs-kits/kits/Circularity_KIT/page-glossary.md @@ -26,6 +26,7 @@ title: Glossary | Compostable | characteristic of a product, packaging or associated component that allows it to biodegrade, generating a relatively homogeneous and stable humus-like substance. | DIN ISO 14021 | | Consumer | Any natural person who, in contracts covered by this Directive, is acting for purposes which are outside his trade, business, craft or profession | 2011/83/EU on conusmer rights | | Co-product | Any of two or more products comning from the same unit process or product system | DIN EN ISO 14067, Feb. 2019, p.22 | +| Core | A core is a previously sold, worn or non-functional product or part, intended for the remanufacturing process. During reverse logistics, a core is protected, handled and identified for remanufacturing to avoid damage and to preserve its value. A core is not waste or scrap and is not intended to be reused before remanufacturing. | CLEPA, MERA, APRA, ANRAP, FIRM, CPRA | | Cradle-to-gate PCF | Part of a product’s full lifecycle, covering all emissions allocated to a product upstream of a company plus all emissions resulting from processes within the company until the product leaves the suppliers' gate | WBCSD Pathfinder | | Cut-off criteria | Specification of the amount of material or energy flow or the level of significance of GHG emissions associated with unit processor the product system, to be excluded from a PCF study | DIN EN ISO 14067, Feb. 2019 p.24 | | Declared unit | Quantity of a product for use as a reference unit in the quantification of a Cradle-to-Gate PCF | adapted from DIN EN iso 14067 | diff --git a/docs-kits/kits/Circularity_KIT/page_changelog.md b/docs-kits/kits/Circularity_KIT/page_changelog.md index 91148e83b7d..38529d5b1cf 100644 --- a/docs-kits/kits/Circularity_KIT/page_changelog.md +++ b/docs-kits/kits/Circularity_KIT/page_changelog.md @@ -8,6 +8,18 @@ sidebar_position: 1 ![Circulairty kit banner](/img/kit-icons/circularity-kit-icon.svg) All notable changes to this Kit will be documented in this file. +## [1.3.0] - 17.09.2024 + +### Added + +- add definition of Core to glossary + +## [1.2.0] - 23.07.2024 + +### Added + +- add Informational Requirements at End of Life + ## [1.1.0] - 15.05.2024 ### Added diff --git a/docs-kits/kits/Connector Kit/Adoption View/adoption-view.md b/docs-kits/kits/Connector Kit/Adoption View/adoption-view.md index 45e47ef352e..9ea0a0d2c3c 100644 --- a/docs-kits/kits/Connector Kit/Adoption View/adoption-view.md +++ b/docs-kits/kits/Connector Kit/Adoption View/adoption-view.md @@ -219,7 +219,7 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses [BPDM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Business%20Partner%20Kit/Adoption%20View -[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/DCM-Kit/adoption-view +[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Demand%20and%20Capacity%20Management%20Kit/adoption-view/overview [PURIS-url]: https://github.com/eclipse-tractusx/puris diff --git a/docs-kits/kits/Data Chain Kit/Documentation/admin_guide.md b/docs-kits/kits/Data Chain Kit/Documentation/admin_guide.md index bfdf5d4eaa1..b630ff3b73a 100644 --- a/docs-kits/kits/Data Chain Kit/Documentation/admin_guide.md +++ b/docs-kits/kits/Data Chain Kit/Documentation/admin_guide.md @@ -5,7 +5,7 @@ description: 'Administration Guide' sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain KIT diff --git a/docs-kits/kits/Data Chain Kit/Documentation/arc42.md b/docs-kits/kits/Data Chain Kit/Documentation/arc42.md index 2d2614f7b05..ae1f0014752 100644 --- a/docs-kits/kits/Data Chain Kit/Documentation/arc42.md +++ b/docs-kits/kits/Data Chain Kit/Documentation/arc42.md @@ -7,7 +7,7 @@ sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain KIT diff --git a/docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx b/docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx index 0054423e1f9..d662b0f7fbe 100644 --- a/docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx +++ b/docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx @@ -21,5 +21,4 @@ import Export from "@theme/ApiDemoPanel/Export"; The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners. - - \ No newline at end of file + diff --git a/docs-kits/kits/Data Chain Kit/Software Development View/page_software-development-view.md b/docs-kits/kits/Data Chain Kit/Software Development View/page_software-development-view.md index b59aa1b35dd..4b443af5267 100644 --- a/docs-kits/kits/Data Chain Kit/Software Development View/page_software-development-view.md +++ b/docs-kits/kits/Data Chain Kit/Software Development View/page_software-development-view.md @@ -4,7 +4,7 @@ title: Specification sidebar_position: 2 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain KIT diff --git a/docs-kits/kits/Data Chain Kit/arc/page_documentation.md b/docs-kits/kits/Data Chain Kit/arc/page_documentation.md index 3502407f2fd..c3769ed0518 100644 --- a/docs-kits/kits/Data Chain Kit/arc/page_documentation.md +++ b/docs-kits/kits/Data Chain Kit/arc/page_documentation.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit' sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/doc-datachain_header-minified.png) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ## INCLUDE diff --git a/docs-kits/kits/Data Chain Kit/page_adoption-view.md b/docs-kits/kits/Data Chain Kit/page_adoption-view.md index a6e82da12f5..929d9a36a45 100644 --- a/docs-kits/kits/Data Chain Kit/page_adoption-view.md +++ b/docs-kits/kits/Data Chain Kit/page_adoption-view.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit' sidebar_position: 1 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain Kit @@ -435,9 +435,9 @@ companies (one level down approach) is known. (Relationship: Customer - Supplier This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). * SPDX-License-Identifier: CC-BY-4.0 -* SPDX-FileCopyrightText: 2021, 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +* SPDX-FileCopyrightText: 2021, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) * SPDX-FileCopyrightText: 2022, 2023 BOSCH AG * SPDX-FileCopyrightText: 2021, 2022 ZF Friedrichshafen AG * SPDX-FileCopyrightText: 2022 ISTOS GmbH -* SPDX-FileCopyrightText: 2021, 2023 Contributors to the Eclipse Foundation +* SPDX-FileCopyrightText: 2021, 2024 Contributors to the Eclipse Foundation * Source URL: diff --git a/docs-kits/kits/Data Chain Kit/page_changelog.md b/docs-kits/kits/Data Chain Kit/page_changelog.md index 0da2546236a..a67f4cabfee 100644 --- a/docs-kits/kits/Data Chain Kit/page_changelog.md +++ b/docs-kits/kits/Data Chain Kit/page_changelog.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit Changelog' sidebar_position: 10 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain KIT diff --git a/docs-kits/kits/Data Chain Kit/page_software-operation-view.md b/docs-kits/kits/Data Chain Kit/page_software-operation-view.md index e2ae6146529..70897320dd2 100644 --- a/docs-kits/kits/Data Chain Kit/page_software-operation-view.md +++ b/docs-kits/kits/Data Chain Kit/page_software-operation-view.md @@ -5,47 +5,26 @@ description: 'Data Chain Kit' sidebar_position: 2 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg) ### Data Chain KIT ## Local deployment of IRS with minimum dependencies setup -> **Please note that this demo is currently based on IRS version 4.5.0** +> **Please note that this demo is currently based on IRS version 5.4.0** ### Step 1: Prerequisites -1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of memory +1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of + memory 2. [helm](https://helm.sh/docs/intro/install/) is installed 3. Any Kubernetes cluster is installed and running, eg. [Minikube](https://minikube.sigs.k8s.io/docs/start/) 4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed -### Step 2: Update and build the irs-helm chart +### Step 2: Add the IRS helm repository ```bash ->$ helm dependency build -``` - -You should see console output with messages like below: - -```bash -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "irs" chart repository -...Successfully got an update from the "tractusx-dev" chart repository -...Successfully got an update from the "prometheus-community" chart repository -Update Complete. ⎈Happy Helming!⎈ -Saving 1 charts -Downloading irs-helm from repo https://eclipse-tractusx.github.io/item-relationship-service -Deleting outdated charts -``` - -Please note that irs repository has to be added to helm repo list - -```bash ->$ helm repo add irs https://eclipse-tractusx.github.io/item-relationship-service ->$ helm repo list -NAME URL -irs https://eclipse-tractusx.github.io/item-relationship-service +helm repo add irs https://eclipse-tractusx.github.io/item-relationship-service ``` ### Step 3: Installing the IRS @@ -55,7 +34,7 @@ irs https://eclipse-tractusx.github.io/item-relationship-ser To deploy IRS on kubernetes with helm run ```bash ->$ helm install irs-local . +helm install irs-local irs/item-relationship-service -f your-values.yaml ``` ##### 1.1 Get the Status of the deployment @@ -63,19 +42,25 @@ To deploy IRS on kubernetes with helm run Helm can give you feedback on the release status: ```bash ->$ helm list -NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION -irs-local default 1 2024-02-26 11:36:46.399546 +0100 CET deployed irs-helm-local-6.14.0 4.5.0 +helm list +``` + +```bash +NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION +irs-local default 1 2024-08-01 10:24:46.8811785 +0200 CEST deployed item-relationship-service-7.4.0 5.4.0 ``` -Kubectl can give you feedback on how the status of the deployment currently is, there should be two pods deployed - IRS and Minio: +Kubectl can give you feedback on how the status of the deployment currently is, there should be two pods deployed - IRS +and Minio: ```bash ->$ kubectl get pods -NAME READY STATUS RESTARTS AGE -irs-local-minio-7cc78d8985-qggrx 1/1 Running 0 10m -irs-local-irs-helm-c84f98ffb-zg59z 1/1 Running 0 10m +kubectl get pods +``` +```bash +NAME READY STATUS RESTARTS AGE +irs-local-item-relationship-service-5bdcd5854d-gq976 1/1 Running 0 47s +irs-local-minio-6f6c58cfbd-j8jkg 1/1 Running 0 47s ``` #### 2. Forward Ports @@ -83,7 +68,7 @@ irs-local-irs-helm-c84f98ffb-zg59z 1/1 Running 0 10m When the deployment has been finished please use the command to forward the port: ```bash ->$ kubectl port-forward svc/irs-local-irs-helm 8080:8080 +kubectl port-forward svc/irs-local-item-relationship-service 8080:8080 ``` After that you can access the Swagger UI page: @@ -92,11 +77,14 @@ After that you can access the Swagger UI page: ## Testing the Item Relationship Service -You can use any approach to access exposed by IRS API endpoints, for example mentioned above Swagger UI page. There is also prepared Insomnia collection with example calls to IRS, see [IRS_Request_Collection.json](../../testing/IRS_Request_Collection.json) +You can use any approach to access exposed by IRS API endpoints, for example mentioned above Swagger UI page. There is +also prepared Insomnia collection with example calls to IRS, +see [IRS_Request_Collection.json](https://github.com/eclipse-tractusx/item-relationship-service/blob/5.4.0/local/testing/request-collection/IRS_Request_Collection.json) ### Valid Global Asset Ids for testing -IRS is loading with mocked data from Testdata file, see [CX_Testdata.json](../../../irs-models/src/main/resources/test_data/CX_Testdata.json) +IRS is loading with mocked data from Testdata file, +see [CX_Testdata.json](https://github.com/eclipse-tractusx/item-relationship-service/blob/5.4.0/irs-models/src/main/resources/test_data/CX_Testdata.json) ### Valid test requests for testing @@ -105,7 +93,6 @@ You can use these snippets for testing purposes. ```json { "bomLifecycle": "asBuilt", - "lookupBPNs": true, "direction": "downward", "depth": 10, "auditContractNegotiation": false, @@ -119,7 +106,7 @@ You can use these snippets for testing purposes. ```json { "aspects": [ - "SerialPart" + "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" ], "depth": 1, "key": { diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md new file mode 100644 index 00000000000..f3a62ee8fb2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md @@ -0,0 +1,19 @@ +--- +id: foss-app +title: FOSS - Application +description: FOSS - Application +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM FOSS Application + +A free and open source software (FOSS) implementing the Catena-X standard CX-0128 is under development. Feel free to contribute to this community effort and visit the corresponding [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) and [GitHub project](https://github.com/orgs/eclipse-tractusx/projects/66) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/glossary.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/glossary.md new file mode 100644 index 00000000000..23b8523954e --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/glossary.md @@ -0,0 +1,64 @@ +--- +id: glossary +title: Glossary +description: Glossary +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM Glossary + +|Term|Description| +|----|-----------| +|Actual Capacity|This is the capacity a supplier realistically plans to have available to satisfy the demand of a certain material per week for a specific customer. It considers the supplier’s own assessment of their capabilities, inventory and existing commitments.| +|Agreed Capacity|This is a capacity value coordinated between customer and supplier and it may refer e.g. to capacity values defined in mutually agreed contracts. Using the agreed capacity is optional, it has purely informative character and therefore does not constitute a legal obligation to deliver. The agreed capacity may be greater than, less than or equal to the actual or Maximum Capacity. It may be used for a time frame different than the whole time series.| +|API|Application Programming Interface is a set of rules, protocols, and tools for building software and applications. Examples for DCM can be found here: [Development View - APIs utilized by a DCM application](../development-view/overview.md#apis-utilized-by-a-dcm-application)| +|Aspect Model|See: [CX-0002 Digital Twins in Catena-X][StandardLibrary]| +|Bottleneck|A facility, function, department, or resource whose capacity is less than the demand placed upon it. For example, a bottleneck machine or work center exists where jobs are processed at a slower rate than they are demanded (Source: ASCM Supply Chain Dictionary, 17th edition).| +|Business Application Provider|Typically, it is a third party that offers tools to data consumers and data providers for demand and capacity management purposes that conform to the core business logic, data models and APIs described in the Catena-X DCM standard.| +|Business Partner Number Legal Entity (BPNL)|See: [CX-0010 Business Partner Number][StandardLibrary]| +|Business Partner Number Site (BPNS)|See: [CX-0010 Business Partner Number][StandardLibrary]| +|Calendar Week|A week consisting of seven days, typically numbered according to the week containing the year’s first Thursday. For example, if the first Thursday of the year is on January 1st, that week is considered Week 1.| +|Capacity|1. The capability of a system to perform its expected function. 2. The capability of a worker, machine, work center, plant, or organization to produce output per time period. (Source: ASCM Supply Chain Dictionary, 17th edition).| +|Capacity Group|A capacity group is a virtual entity that contains capacity information, which depend on production capabilities (based e.g. on grouping of one or more machines, plants, production lines or similar), as well as the material demands linked to it. The capacity group is the place where demand and capacity information come together and are compared, in order to recognize production bottlenecks and/or surplus. When written as WeekBasedCapacityGroup, it refers to a specific data model within this standard.| +|Comments|A feature that allows two business partners to exchange messages about material demand and capacity, facilitating direct collaboration and quick issue resolution.| +|Customer|A role within the DCM use case, which represents a company that receives goods from its suppliers. Participating companies can have multiple roles at the same time: in this context, a customer provides consistent and up-to-date demand forecast to and receives capacity data from suppliers. Synonym: one-up.| +|Data Consumer|A data consumer refers to any entity that retrieves and uses data from a source. This can be an individual, application, or system that accesses and processes data for various purposes or simply in context of Catena-X receiving data from a business partner.| +|Data Provider|A data provider is an entity that supplies or makes data available to others. In case of Catena-X, this can be a business partner supplying information. In the context of information technology and data management, a data provider can be a database, a web service, an API, a file system, or any other system that allows data to be accessed by data consumers.| +|(Simulated) Delta-Production|This is an optional feature that allows suppliers to manage capacity bottlenecks by simulating changes in production without altering actual or Maximum Capacity values published to customers. See also pre-/post-production.| +|Demand Deviation|This is an optional metric that allows suppliers to monitor changes in customer demands and to identify significant changes that can collaboratively be addressed by suppliers and customers.| +|Demand Volatility|Demand Volatility help suppliers to identify and measure volatility in demands. It allows them to address demand volatility directly to their customers, increasing transparency for a more effective collaborative capacity planning. Demand deviation is the first metric for measuring demand volatility.| +|Digital Twin|See: [CX-0002 Digital Twins in Catena-X][StandardLibrary].| +|Flexible Capacity|The difference between maximum and Actual Capacity, which represents the measures to potentially increase capacity without further agreements between partners, such as extending the utilization of production resources within a week.| +|JSON|The JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g. sending some data from the server to the client, so it can be displayed on a web page, or vice versa).| +|Linking Material Demand|Material demands can be linked directly to a capacity group or indirectly through another capacity group, which is known as “Nesting.”| +|Load Factor|An optional feature of a capacity group that adds individual numerical material load factors to WeekBasedMaterialDemand linked by the WeekBasedCapacityGroup. It adds flexibility to the unit of measure of the capacity group.| +|Material|The elements, constituents, or substances of which something is composed or can be made of. Usually referred to by a material number.| +|(Material) Demand|A need for a particular product or component. The demand could come from any number of sources (e.g. a customer order or forecast, an interplant requirement, a branch warehouse request for a service part, or the manufacturing of another product). At the finished goods level, demand data is usually different from sales data, because demand does not necessarily result in sales (e.g. if there is no stock, there will be no sale (Source: ASCM Supply Chain Dictionary, 17th edition)). Material demand may comprise multiple demand series by location and demand categories. When the term is written as one word (WeekBasedMaterialDemand), the term refers specifically to the respective aspect model.| +|Maximum Capacity|This is the highest achievable production capacity of a supplier within a given calendar week, in a certain unit of measure, for a specific customer. The Maximum Capacity is equal or higher than the Actual Capacity. It considers further capacity-increasing measures that have been planned upfront between the parties involved and can be activated whenever needed. Capacity-increasing measures can be, e.g. a longer utilization of the available production resources, a shift extension or additional shifts. Secondarily, additional resources can also be activated.| +|Nesting|A method by which a capacity group links to another capacity group (instead to material demand series), allowing for dynamic changes and centralized data management. See also: linking material demand. Synonym: indirect linking| +|One-down|Synonym: “supplier”| +|One-up|Synonym: “customer”| +|Planning Horizon|The planning horizon is the amount of time a plan extends into the future (definition: ASCM Dictionary, 17th edition).| +|Post-production|Post-production means goods are produced LATER than the requested calendar week. This feature may be optionally applied by a supplier in the WeekBasedCapacityGroup. See also (Simulated) Delta-Production.| +|Pre-production|Pre-production means goods are produced BEFORE the requested calendar week. This feature may be optionally applied by a supplier in the WeekBasedCapacityGroup. See also (Simulated) Delta-Production.| +|Semantic Model|The semantic model is a conceptual model that represents the meaning of information within a specific context. It goes beyond the structure and syntax of data to define the relationships and rules that govern the properties of entities and the interactions between them. The goal of a semantic model is to capture the intended meaning of data so that it can be unambiguously understood, processed, and shared.| +|Supplier|A role within the DCM use case, which represents a company that supplies goods to its customers. Participating companies can have multiple roles at the same time. Suppliers provide consistent and up-to-date capacity data and receive demands from customers. Synonym: one-down.| +|Surplus|A surplus is a situation in which an oversupply exists. In the DCM context, it is often used to indicate a situation in which unutilized capacity exists. It is the contrary of a bottleneck. Synonym: idle capacity, excess capacity.| +|UUID|A UUID, which stands for Universally Unique Identifier, is a 128-bit number used to uniquely identify information in computer systems. The primary purpose of a UUID is to enable distributed systems to uniquely identify information without significant central coordination. In this way, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier does not duplicate one that has already been, or will be, created to identify something else.| +|WeekBasedCapacityGroup|This term refers to the specific WeekBasedCapacityGroup object defined in the DCM standard.| +|WeekBasedMaterialDemand|This term refers to the specific WeekBasedMaterialDemand object defined in the DCM standard.| + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/overview diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md new file mode 100644 index 00000000000..5c6826bc6d6 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md @@ -0,0 +1,73 @@ +--- +id: onboarding +title: Onboarding +description: Onboarding +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +You can participate in the Catena-X data ecosystem in various roles. Become acquainted with the foundational building blocks of Catena-X and how all participants collaborate within a global ecosystem by reading the [Whitepaper describing the Catena-X operating model](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). + +Actors willing to use the Catena-X DCM standard, and start a collaboration with other supply chain partners enabled by an interoperable solution, can prepare asking the IT colleagues to check the following [End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/). + +## Roles + +Within DCM customer and supplier both act as data provider and data consumer. In order to execute the DCM process they utilize an application from the Catena-X marketplace, provided by a business application provider or they use their own custom in-house solution. + +### Data Providers and Data Consumers + +#### Onboarding + +![DCM_Onboarding](./resources/onboarding.svg) + +Figure: *DCM Onboarding* + +|#|Requirement|Further details| +|-|-|-| +|1|Subscribe to an Operating Company and get required credentials| [Cofinity-X Onboarding](https://www.cofinity-x.com/onboarding/)| +|2|Deploy a Catena-X certified dataspace connector|Depending on your adoption strategy you will buy the connector or you might have to develop and certify it yourself| +|3|Sign DCM Data Exchange Governance|Signed Data Exchange Governance with Operating Company is required to participate in the Catena-X Dataspace| +|4|Deploy a Catena-X certified business application|See adoption strategy table below| + +#### Adoption Strategy + +If you are interested in utilizing DCM within the Catena-X dataspace you can follow one of the following three approaches. + +|#|Approach|Details| +|-|-|-| +|A|CUSTOM|Adopt and integrate the business logic, aspect models and APIs, as described in the [DCM standard][StandardLibrary], yourself | +|B|FOSS|Adopt, customize and deploy an existing **F**ree and **O**pen **S**ource **S**oftware **S**olution| +|C|COTS|Purchase a certified **C**ommercial **O**ff **T**he **S**helf solution via the Catena-X marketplace, accessible through your operating company (e.g. [Cofinity-X Marketplace](https://www.cofinity-x.com/app-marketplace/))| + +### Business Application Providers + +#### Onboarding + +Business Application Providers that want to enable their commercial software for Catena-X DCM need to register for the Catena-X Ecosystem following the specific information described in [Offering a Catena-X Solution](https://catena-x.net/en/catena-x-introduce-implement/offering-a-catena-x-solution) (including next steps & contacts). + +Please refer to the [Catena-X Library][StandardLibrary] for the newest version of the DCM as well as other standards. + +### Software Developers + + + + + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/overview.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/overview.md new file mode 100644 index 00000000000..55074691d55 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/overview.md @@ -0,0 +1,175 @@ +--- +id: overview +title: Adoption View +description: 'A first impression' +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Vision & Mission + +The Catena-X-Standards for Demand- and Capacity-Management enable participants of the automotive supply chain to become more resilient and to increase the degree of collaboration aimed at avoiding or solving production bottlenecks as well as surplus situations in a tactical horizon of 1-2 years. + +Thereby the standards empower participants to share data in a secure and sovereign way while ensuring the interoperability of the different applications involved in the process. + +## Status Quo + +### Today's challenge for automotive companies + +Resilience has become imperative within Supply Chain Management, especially over the past years. With the growing complexity of supply chains and a rising number of global and local crises, small and medium enterprises (SMEs) as well as large enterprises (LEs) are facing an increased risk of serious disruptions in their supply chains, bullwhip effects and in the worst case even temporary production shutdowns with a high effort and costs of replanning. + +Inside the volatile and highly complex surroundings of the automotive industry nowadays, mostly tailor-made, proprietary and often fully manual IT solutions support the demand and capacity management processes along the value chain. On the one side there is no common understanding of these processes among the participants. On the other side, different data formats as well as application programming interfaces are used, which is increasing the complexity in the data exchange and which is leading to transfer problems, inconsistencies, or even loss of data. + +## Business Value + +### Why DCM KIT? + +The purpose and focus of Demand and Capacity Management (DCM) KIT is twofold: + +- Define a common understanding of the DCM process thus paving the way for more proactive and efficient collaboration. +- Establish process and application interoperability with the help of common semantics and unified interfaces for data exchange while ensuring the data sovereignty of data providers. + +Implementing the DCM standards will add the following core capabilities to business applications: + +- Provisioning and consumption of material demands data in a sovereign manner. +- Provisioning and consumption of capacity data in a sovereign manner. +- Discovery of bottlenecks and surplus capacity situations by employing a unified calculation logic. + +### POWER of STANDARD + +Standards create trust. Customer and Supplier can form new partnerships confidently. Knowing that integration in the network will be dramatically simplified. Standardization can help reduce costs by eliminating redundancies and streamlining processes. By adopting a common set of practices and technologies, businesses can avoid the need to develop their own proprietary systems, which can be expensive and time-consuming. + +### DATA SOVEREIGNTY in FOCUS + +DCM KIT keeps up with Catena X commitment to data sovereignty. This KIT has the goal to always comply with the data sovereignty principle implemented by the Eclipse Dataspace Connector. That enables all participants in the supply chain to always stay in full control of their own data. + +This is how sharing data is fun. + +### INTEROPERABILITY at its BEST + +Application and Service Provider can reduce investments to integrate DCM data models/API specification from DCM KIT. + +The Kit enables the offering of value-add services and innovation based on process description of the core business logic and how a collaborative approach is a win-win-situation for customer and supplier. + +### COLLABORATION is KEY + +The DCM KIT enables better and faster issue resolution. We believe that collaboration is the key to creating and maintaining strong partnerships between customers and suppliers and, at the same time, enhancing problem solving to reach a more balanced and efficient supply and demand management. + +Of course, by realizing efficiency through improved collaboration all involved partners will gain a competitive advantage over those that do not collaborate. + +## Semantic Models + +| Semantic Model | Link to GitHub Repository | +| ------------- | ------------- | +| WeekBasedCapacityGroup | | +| WeekBasedMaterialDemand | | +| IdBasedRequestForUpdate | | +| IdBasedComment | | + +## Logic / Schema + +The core of the DCM business process is about exchanging demand and capacity information, identifying problems and solving those problems. + +```mermaid +sequenceDiagram +autonumber +actor c as Customer +actor s as Supplier +rect rgb(221,130,0) +activate c +note left of c: Exchange demand information +c->>c: Manage own material demands +c->>s: Provide supplier with WeekBasedMaterialDemand +deactivate c +activate s +s->>s: Consume WeekBasedMaterialDemand +end +rect rgb(128,149,00) +note left of c: Exchange capacity information +s->>s: Manage own capacities +s->>s: Link consumed material demands to capacities within a WeekBasedCapacityGroup +s->>c: Provide Customer with WeekBasedCapacityGroup +activate c +c->>c: Consume WeekBasedCapacityGroup +end +rect rgb(04,107,153) +note left of c: Compare demands to capacity +autonumber 8 +c->>c: Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup +autonumber 8 +s->>s: Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup +autonumber 9 +c->>c: Identify bottlenecks +autonumber 9 +s->>s: Identify bottlenecks +autonumber 10 +c->>s: Resolve bottlenecks +autonumber 10 +s->>c: Resolve bottlenecks +deactivate c +deactivate s +end +``` + +Figure: *Core business process* + +## Business Process + +### Business Architecture + +![Supply network](./resources/business-architecture_network.svg) + +Figure: *Supply network* + +A supply network can be divided into a multitude of interlinking supply chains. Every supply chain consists of multiple chain links. Individual business partner relationships are these chain links. Data exchange conforming to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] always happens within such a chain link, ensuring that every company has full control over which data they provide. Demand information travels from one end of the supply chain to the other. For capacity information the situation is reversed. + +![Supply chain](./resources/business-architecture_chain.svg) + +Figure: *Supply chain* + +DCM allows for demand and capacity information to be exchanged only within the individual business relationship. However, because within a supply chain mist companies act as a "one-up" in one business relationship, while acting as a "one-down" withing the next business relationship, the impact of increasing or decreasing demand or capacity anywhere in the supply chain can safely travel through the chain, reaching every single impacted company. This is how DCM builds chains, while at the same time ensuring data sovereignty. + +### Access and Usage Policies + +Because of the way that communication within CX-0128 is defined companies are not exposing data but rather API endpoints for their business partners to push data to. These API endpoints are registered as EDC data assets. This means that from an information protection perspective data has to be actively provided, further ensuring data sovereignty. + + Conforming to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] the following policies have to be applied. + +| Category | Policy Name | Description |Usage recommendation| +|:---------|:------------|:------------|:-------------------| +| **Access Policy** | BPN-restricted Data Usage | Limit access to the data offered to a list of specified BPNs (to the connectors with the BPN attribute listed in the policy) |Limit access to assets to all your known business partners.| +| **Access Policy** | Membership Credential | Limit access to data offered to Catena-X participants |Use as is.| +| **Usage Policy** | DCM Framework Agreement Credential | Limit access to data offered to participants who have signed the DCM Framework Agreement |Use as is.| + +### Standards + +|Content|Standard|Version|Section|Description| +|-|-|-|-|-| +|DCM Business Logic|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.1.0|5|Focuses on a common understanding of the DCM processes among participants.| +|DCM Aspect Models|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.1.0|3|Aligns the structure of the shared information and enables the adoption of the core business logic without misinterpretation.| +|DCM APIs|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.1.0|4|Ensures that data is provided and consumed properly as well as identically interpreted across companies.| +|Notification Process, Aspect Model and API|[CX-0146 Supply Chain Disruption Notifications][StandardLibrary]|1.0.0|*|Optional capability referenced in Section 5.10 of CX-0128. Focuses on quickly informing business partners of impactful events, where the impact cannot be precisely quantified yet.| + +## Frequently asked Questions + +In case of further questions, feel free to visit our [FAQ](./qna.md). + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/qna.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/qna.md new file mode 100644 index 00000000000..0a355266f4f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/qna.md @@ -0,0 +1,115 @@ +--- +id: qna +title: Questions and Answers +description: Questions and Answers +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## General + +|#|Question|Answer| +|--|--|--| +|1|What is DCM?| DCM stands for Demand and Capacity Management. The Catena-X DCM standard describes a process for exchanging demand and capacity information as well as definition on how to exchange demand and capacity data electronically between companies.| +|2|Where can I read about DCM?|[This library][StandardLibrary] contains the released standards. The DCM standard has the ID CX-0128.| +|3|Are there translations of the DCM standard?|There are no official translations. Only the original standard, written in English, is normative.| +|4|Is there a standard “easy to read” DCM presentation available?|No, however the standard contains an abstract, which provides a management overview. The KIT itself is receiving regular updates.| +|5|What is the benefit of using DCM within the Catena-X dataspace instead of using my individual own process?| Adopting DCM, as defined by Catena-X, has the unique benefit of eliminating the need for defining process and technical interfaces individually with every one of your business partners. This allows you to execute demand and capacity management with every single one of your business partners in an identical manner, greatly reducing overhead.| +|6|Is there any step-by-step onboarding instruction?|Please have a look at [Catena-X: How to join us](https://catena-x.net/en/participate)| +|7|What are the needed steps for onboarding regarding the DCM standard?| Before beginning data exchange, the following conditions must be met:
- Customer and supplier must register with a Catena-X operational company and conform to the Catena-X guidelines
- Customer and supplier must have entered into a contract with each other
- Customer and supplier must sign framework agreements required by Catena-X
- Customer and supplier must have the technical capability to engage in the DCM process with their business applications. You can either enable and certify your IT-system to be Catena-X compliant, or use a certified DCM application.

You can receive onboarding support by Consultancy Services or Business Application Provider. The operating company has dedicated marketplaces for [certified services](https://www.cofinity-x.com/service-marketplace/) and [certified business applications](https://www.cofinity-x.com/app-marketplace/).| +|8|Do I need to be the part of Catena-X if I only want to use DCM?|Yes, joining the Catena-X dataspace (not the Catena-X Association) via an operating company is a prerequisite for participating in any Catena-X usecase.| +|9|Is Cofinity-X required for DCM? Or are there other possibilities?| Currently, Cofinity-X is the only operating company of the Catena-X dataspace and therefore registration at Cofinity-X is a prerequisite for data exchange.| +|10|Where can I get Catena-X related consultancy services|You can find Catena-X related consultancy services within the Cofinity-X [service marketplace](https://www.cofinity-x.com/service-marketplace/).| +|11|Who can support me with my onboarding?|The operating company provides [service](https://www.cofinity-x.com/service-marketplace/) and [application](https://www.cofinity-x.com/app-marketplace/) marketplaces where support is offered in form of certified services and certified business applications respectively.| +|12|How much does it cost to use DCM?|In order to evaluate the actual cost of participating in the DCM use case you have to compare cost vs gain.

Consider the following gains:
- Increased capacity utilization rate
- Reduced round trip times for information exchange
- Emerging network effects
- Common technical and business semantics
- Increased resiliency in the supply network

Consider the following costs:
- Onboarding with an operating company
- Reoccurring fees
- Adopting the DCM processes
- Adopting a DCM compatible application
- Adopting Catena-X dataspace compatible core infrastructure

The [Catena-X FAQ](https://catena-x.net/en/faq) has some insights into this as well.| + +



+ +## Accessibility + +|#|Question|Answer| +|--|--|--| +|1|What do I need to exchange data within DCM?|You need a Catena-X certified DCM solution, interfacing with an Eclipse Dataspace Connector (EDC) and a registration with an operating company, such as Cofinity-X.| +|2|Is EDC the same as EDI (Electronic Data Interchange)? Will I send the same messages via the same EDI portal?|EDC and EDI are completely different and not interoperable. You will have to exchange data via a Catena-X certified solution.| +|3|Do I need to connect my internal systems to the Catena-X dataspace?|It is not required to connect your internal systems to the Catena-X dataspace. The EDC acts as a gateway for all your communication to and from the dataspace.| +|4|How is my data protected when I utilize DCM via the Catena-X dataspace?|From a business perspective:
Shared data is protected, because companies and business applications participating in the dataspace have to be certified. As part of the on-boarding process companies do sign framework agreements providing a basis for legal protection.

From a technical perspective: The EDC enforces this legal basis, via policy enforcement and contract negotiation, ultimately leading to data sovereignty.| +|5|I participate in another Catena-X use case, will it simplify my access to the DCM use case and maybe even reduce my onboarding costs?|Yes, it will. Nearly all Catena-X use cases share a common infrastructure. Having an EDC in place and being already registered with an operating company,having assigned BPNL and BPNS, as well as a working wallet will reduce the on-boarding time and cost for DCM| +|6|How often are Catena-X standards and in particular the DCM standard updated?|Catena-X standards can be updated on a quarterly basis, with breaking changes being allowed once a year. The DCM expert group is committed to introducing new features to the DCM standard without incurring breaking changes. Additionally Catena-X is committed to ensuring backwards compatibility of the two most recent major releases. This means that a particular standard version will be valid for at least two years.| +|7|When a new version of the DCM standard is released, do I as a user need to re-install anything or implement any technical changes?|Usually standards are released six months before they are rolled out into the Catena-X dataspace. Within those six months infrastructure, applications etc. need to be updated, if a breaking change was introduced. However this is not handled by individual users, but rather by IT-departments and applications providers.| + +



+ +## Practical - General + +|#|Question|Answer| +|--|--|--| +|1|Which time granularity and horizon is used within DCM?|Demand and capacity data within DCM is distributed into weekly buckets. There is no technical limitation when it comes to the horizon. Typically data is shared starting from two weeks up to two years into the future.| +|2|I own a small company and do my planning in an Excel spreadsheet, can I still use the DCM Standard?|Yes, you can. While there are certain pre-requisites to DCM it does not restrict you to a specific planning tool.| +|3|Can I directly send my data from Excel into the Catena-X dataspace?|No, you either require a business application that supports Excel upload or use the open source [Simple Data Exchanger](https://github.com/eclipse-tractusx/managed-simple-data-exchanger), as soon as it supports DCM.| +|4|I run my MRP (Material Requirements Planning) only once a month, can I still use DCM?|Yes, you can. DCM relies mainly on PUSH communication. Just PUSH your data to your partners after you have done your MRP. In addition DCM supports request for update, allowing you or your partners to request an update on demand and capacity data at any time. (e.g. before and after counting all your stock)| +|5|Is there any industry DCM isn´t suitable for?|The standard was primarily developed by the automotive industry, but is not restricted to it. The core business process of DCM applies to most industries.| +|6|Does DCM support sharing capacity and demand data between companies that are not direct business partners? (e.g. tier 5 and OEM)| The standard restricts data exchange to companies that are in a direct business relationship as customer and supplier (One-up one-down). By solving or reducing potential bottlenecks within those one-up one-down relationships, the problems that are forwarded to your further-ups and further-downs get smaller and smaller, with every tier-level. In order for everyone to benefit the most from this setup you should encourage your tier-n business partners to join the Catena-X dataspace as well.| +|7|Will there be any alarm or notification if data entered is incorrectly or incompletely?|From a technical perspective:
Certified applications implementing the DCM standard are required to do payload validation, checking the semantics and technical completeness of the data. However this does not protect from users entering a demand quantity that is comically high.

From a business perspective:
Yes, but the degree of protection depends on the business application you use and on how it handles user input validation. The DCM standard only defines basic payload validation.| +|8|Does DCM automatically keep historical data?|The dataspace itself does not historicise data for you. Neither does the DCM standard define how to historicise data. If you want to keep historic records your chosen DCM application needs to support this. Please be aware that, for data sovereignty reasons, you must not blindly historicise all data, but have to comply with the data exchange contracts and policies negotiated via EDC.| +|9|Am I allowed to store demand and capacity data shared via the Catena-X dataspace in my local backend systems and am I allowed to work with the data?|You can store, forward and transform the data as long as you ensure enforcement of the attached policies and contracts, guaranteeing data sovereignty within Catena-X.| +|10|How does DCM ensure data quality?|The standard defines mandatory properties and payload validation for `WeekBasedMaterialDemand` and `WeekBasedCapacityGroup` as well as an aligned business process that pushes for quality. In combination with framework agreements and only allowing certified companies as well solutions into the Catena-X dataspace data quality can be considered a given. In addition suppliers can make use of the feature demand volatility metric to educate twitchy customers.| + +



+ +## Practical - Customer specific + +|#|Question|Answer| +|--|--|--| +|1|Can I receive capacity data for a whole family of materials (All screws) instead of a single material (Screw P6766000001140000) |The material number of the customer is one aspect that makes the material demand unique. As a customer you will always receive capacity data referencing your material number. If your material number does not represent a single part, but rather a part family, you will receive capacity data related to that.

Alternatively your supplier can link all material demands that relate to a part family to one capacity group and than provide you with a capacity for all linked materials.| +|2|I do have multiple assembly locations utilizing the same part. Will my supplier be able to provide capacity information for each individual assembly location?|Yes, he will. Suppliers structure capacity groups at their own discretion and the customer location is one aspect that makes a material demand unique. This means the supplier can provide you with one capacity group for all your locations, one capacity group for each location or anything in between, depending on your business needs.| +|3|Do I have to share my demands part by part or is some kind of batch upload possible?|From a business perspective:
As a customer you share your material demands on a material number basis, meaning that if you want to communicate the demand for twelve material numbers you need to provide your supplier with twelve `WeekBasedMaterialDemand` objects. However this is just what happens under the hood. If you utilize a business application tailored to your needs, batch processing is feasible, especially if you ensure that there are no gaps in the demand time series.

From a technical perspective:
A single data transfer can contain multiple information objects of the same type, such as `WeekBasedMaterialDemand`. Interfacing DCM with your demand planning software should allow for a highly automated data exchange pipeline, greatly reducing the amount of manual data interaction, business has to execute.| +|4|My suppliers are only willing to share customer specific capacity data such as allocations. Can I still use DCM?| From a business perspective:
Yes, you can. Within DCM data is exchanged only within direct business relationships and only between two companies anyways. If your demand is higher than the capacity allocated by your suppliers this is considered a bottleneck and should result in collaboration.

From a technical perspective:
Suppliers can share actual, maximum and agreed capacity with their customers. The shared values are always customer specific.

| + +



+ +## Practical - Material Demand specific + +|#|Question|Answer| +|--|--|--| +|1|How often do I need to share my demand data?|It is recommended to provide your suppliers with an updated `WeekBasedMaterialDemand` every time your demand changes. How often that is entirely depends on your internal processes, but the standards recommends to send an updated `WeekBasedMaterialDemand` at least monthly, even if the demand quantities themselves did not change.| +|2|Do I have to include a demand category?|Demand category is a mandatory property and needs to be included with every `WeekBasedMaterialDemand`. However you can simply set it to the value `default` without further elaboration. | + +



+ +## Practical - Supplier specific + +|#|Question|Answer| +|--|--|--| +|1|If I receive a demand forecast where some materials (parts) have no demand quantity or a demand quantity of zero, will I still be able to share my available capacity for those materials?|Yes, as long as you are aware of a material (part) you can share your capacity in regards to the material, completely independent of what the actual demand values of your customer are.| +|2|Do I have to share my capacities part by part or is some kind of batch upload possible?|From a business perspective:
As a supplier you can link multiple material demands to a single capacity group. Of course you should only do this, if those materials share a common capacity. If all material demands of a specific customer share a capacity, then only one data transfer to that customer is required. This means you need at least one data transfer per customer to share all your capacities.

From a technical perspective:
A single data transfer can contain multiple information objects of the same type, such as `WeekBasedCapacityGroup`. Interfacing DCM with your capacity planning software should allow for a highly automated data exchange pipeline, greatly reducing the amount of manual data interaction, business has to execute.| +|3|If I do receive material demands for 100 different parts, do I have to also provide capacity data for all 100 parts? |From a business perspective it is certainly wise to provide capacity data for every material that is part of existing contractual obligations with the customer that did send you the material demand. | +|4|Some materials I am producing for my customer load my production line differently than other materials, can I still include them in the same capacity group?|Yes, DCM supports load factors that can address this issue by expressing how much a particular material loads your production line compared to another material. It also allows you to convert all calculations to cycles or seconds, which is useful if materials using different unit of measures have to be part of the same capacity group.| +|5|Some of my customers demand data is highly volatile, can DCM help me with this issue? |Yes, DCM supports demand volatility metrics, which allow you to communicate to your customer that you are measuring volatility as well as define acceptable deviations.| +|6|Sometimes I produce materials in advance to use them later on to fulfill my customers demand. Can DCM reflect this?|Yes DCM supports simulated delta production, allowing you to close the demand-capacity gap via post- and pre-production.| +|7|I am going to add another production line, expanding my output. How should I reflect this within DCM?| This increase in potential output should lead to an increase in maximum capacity, starting from the date the increased output is available. It may as well be reflected in the actual capacity, if the demand justifies to utilize this newly increased potential output.| +|8|Does the standard allow me to submit structured action plans to my customers? | The standard allows for the exchange of capacity data as well as comments. By combining both you can for example introduce pre-production as well as a weekend-shifts and comment into the specific weeks the remaining details. Actual action plans are considered mostly customer specific and are more likely to be managed in a customer specific portal.| +|9|Some of my customers are direct competitors. How should this situation be reflected in DCM?|From a legal perspective:
Ask a corporate lawyer familiar with every jurisdiction that applies to your specific case.

From a business perspective:
Data exchanged within DCM is always happening in a direct one to one business relationship. There is no situation, where more than two companies share the same information objects (`WeekBasedCapacityGroup`, `WeekBasedMaterialDemand`). As a supplier you provide your customer A the capacity data he needs within the business relationship `You - Customer A` and customer B with the data needs within the business relationship `You - Customer B`, meaning you keep them completely separate.| + +



+ +## Practical - Capacity Group specific + +|#|Question|Answer| +|--|--|--| +|1|How often do I need to share my capacity data?|It is recommended to provide your customers with an updated `WeekBasedCapacityGroup` every time your capacity changes. How often that is entirely depends on your internal processes.| +|2|Should there be one capacity group for every individual material demand?|The supplier has full flexibility when it comes to linking material demands to capacity groups. If the supplier has one dedicated assembly line per part, than the most likely scenario is one capacity group per part. However even then, logistics might be a common bottleneck for all assembly lines and therefore parts, resulting in one capacity group for all parts. Suppliers should structure capacity groups to reflect their real life bottleneck situation for the greatest benefit.| +|3|Should there be one capacity group with all material demands linked to it?|The supplier has full flexibility when it comes to linking material demands to capacity groups. If all parts manufactured by the supplier share a common bottleneck (e.g. the painting station), then the most likely scenario is one capacity group for all parts. However, even then, the painting station might have a throughout so high, that it is no bottleneck at all, resulting in a different capacity group makeup. Suppliers should structure capacity groups to reflect their real life bottleneck situation for the greatest benefit.| + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 CatX Service GmbH +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 Stellantis N.V. +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg new file mode 100644 index 00000000000..95953059c67 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg @@ -0,0 +1,2490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder + Demand + + + + + Demand + + Dynamischer Verbinder.237 + Capacity + + + + + Capacity + + Dynamischer Verbinder.238 + Demand + + + + + Demand + + Dynamischer Verbinder.239 + Capacity + + + + + Capacity + + Dynamischer Verbinder.240 + Demand + + + + + Demand + + Dynamischer Verbinder.241 + Capacity + + + + + Capacity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall + + Tabelle.249 + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + + + + + + + + + + + + + + Tabelle.253 + + + + + + + + + + + + + + + Tabelle.254 + + + + + + + + + Tabelle.255 + + + + Tabelle.256 + + + Tabelle.257 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.258 + Relationship A + + + + + + + + + + + + + + + + + + + + + + + Relationship A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.270 + + Tabelle.271 + + + Tabelle.272 + + + + Tabelle.273 + + + + Tabelle.274 + + + + + + + + + + + + + + + + + Tabelle.275 + + + + + + + + + + + + + + + Tabelle.276 + + + + + + + + + Tabelle.277 + + + + Tabelle.278 + + + Tabelle.279 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.280 + Relationship B + + + + + + + + + + + + + + + + + + + + + + + Relationship B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.281 + + Tabelle.282 + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + + + + + + + + + + + + + + Tabelle.286 + + + + + + + + + + + + + + + Tabelle.287 + + + + + + + + + Tabelle.288 + + + + Tabelle.289 + + + Tabelle.290 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.291 + Relationship C + + + + + + + + + + + + + + + + + + + + + + + Relationship C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.296 + + Tabelle.297 + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + + + + + + + + + + + + + + + + + + Tabelle.301 + + + + + + + + + + + + + + + + + + + Tabelle.302 + + + + + + + + + Tabelle.303 + + + + Tabelle.304 + + + Tabelle.305 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.306 + Demand dA1 .. dA(n) Capacity cA1.. cA(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dA1 .. dA(n)Capacity cA1.. cA(n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.308 + + Tabelle.309 + + + Tabelle.310 + + + + Tabelle.311 + + + + Tabelle.312 + + + + + + + + + + + + + + + + + + + + + Tabelle.313 + + + + + + + + + + + + + + + + + + + Tabelle.314 + + + + + + + + + Tabelle.315 + + + + Tabelle.316 + + + Tabelle.317 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.318 + Demand dB1 .. dB(n) Capacity cB1.. cB(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dB1 .. dB(n)Capacity cB1.. cB(n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.319 + + Tabelle.320 + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + + + + + + + + + + + + + + + + + + Tabelle.324 + + + + + + + + + + + + + + + + + + + Tabelle.325 + + + + + + + + + Tabelle.326 + + + + Tabelle.327 + + + Tabelle.328 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.329 + Demand dC1 .. dC(n) Capacity cC1.. cC(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dC1 .. dC(n)Capacity cC1.. cC(n) + + + diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg new file mode 100644 index 00000000000..3e2e9d7d65f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg @@ -0,0 +1,2853 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder.237 + + + + Dynamischer Verbinder.239 + + + + Dynamischer Verbinder.241 + + + + + + + Hauptsitz.242 + + Tabelle.243 + + + + Tabelle.244 + + + + Tabelle.245 + + + + Tabelle.246 + + + + Tabelle.247 + + + + Tabelle.248 + + + + Tabelle.249 + + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + Tabelle.253 + + + + Tabelle.254 + + Tabelle.255 + + + + Tabelle.256 + + + + Tabelle.257 + + + + Tabelle.258 + + + + Tabelle.259 + + + + Tabelle.260 + + + + Tabelle.261 + + + + + Tabelle.262 + + + + Tabelle.263 + + + + Tabelle.264 + + Tabelle.265 + + + + Tabelle.266 + + + + Tabelle.267 + + + + Tabelle.268 + + + + Tabelle.269 + + + + Tabelle.270 + + + + Tabelle.271 + + + + Tabelle.272 + + + + Tabelle.273 + + + + + Tabelle.274 + + + + Tabelle.275 + + + + Tabelle.276 + + + + Tabelle.277 + + + + Tabelle.278 + + + + Tabelle.279 + + + + Tabelle.280 + + + + Tabelle.281 + + + + Tabelle.282 + + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + Tabelle.286 + + + + Tabelle.287 + + + + Tabelle.288 + + + + + + + + Hauptsitz.289 + + Tabelle.290 + + + + Tabelle.291 + + + + Tabelle.292 + + + + Tabelle.293 + + + + Tabelle.294 + + + + Tabelle.295 + + + + Tabelle.296 + + + + Tabelle.297 + + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + Tabelle.301 + + Tabelle.302 + + + + Tabelle.303 + + + + Tabelle.304 + + + + Tabelle.305 + + + + Tabelle.306 + + + + Tabelle.307 + + + + Tabelle.308 + + + + + Tabelle.309 + + + + Tabelle.310 + + + + Tabelle.311 + + Tabelle.312 + + + + Tabelle.313 + + + + Tabelle.314 + + + + Tabelle.315 + + + + Tabelle.316 + + + + Tabelle.317 + + + + Tabelle.318 + + + + Tabelle.319 + + + + Tabelle.320 + + + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + Tabelle.324 + + + + Tabelle.325 + + + + Tabelle.326 + + + + Tabelle.327 + + + + Tabelle.328 + + + + Tabelle.329 + + + + Tabelle.330 + + + + Tabelle.331 + + + + Tabelle.332 + + + + Tabelle.333 + + + + Tabelle.334 + + + + Tabelle.335 + + + + + + + + Hauptsitz.336 + + Tabelle.337 + + + + Tabelle.338 + + + + Tabelle.339 + + + + Tabelle.340 + + + + Tabelle.341 + + + + Tabelle.342 + + + + Tabelle.343 + + + + Tabelle.344 + + + + Tabelle.345 + + + + Tabelle.346 + + + + Tabelle.347 + + + + Tabelle.348 + + Tabelle.349 + + + + Tabelle.350 + + + + Tabelle.351 + + + + Tabelle.352 + + + + Tabelle.353 + + + + Tabelle.354 + + + + Tabelle.355 + + + + + Tabelle.356 + + + + Tabelle.357 + + + + Tabelle.358 + + Tabelle.359 + + + + Tabelle.360 + + + + Tabelle.361 + + + + Tabelle.362 + + + + Tabelle.363 + + + + Tabelle.364 + + + + Tabelle.365 + + + + Tabelle.366 + + + + Tabelle.367 + + + + + Tabelle.368 + + + + Tabelle.369 + + + + Tabelle.370 + + + + Tabelle.371 + + + + Tabelle.372 + + + + Tabelle.373 + + + + Tabelle.374 + + + + Tabelle.375 + + + + Tabelle.376 + + + + Tabelle.377 + + + + Tabelle.378 + + + + Tabelle.379 + + + + Tabelle.380 + + + + Tabelle.381 + + + + Tabelle.382 + + + + + + + + Hauptsitz.383 + + Tabelle.384 + + + + Tabelle.385 + + + + Tabelle.386 + + + + Tabelle.387 + + + + Tabelle.388 + + + + Tabelle.389 + + + + Tabelle.390 + + + + Tabelle.391 + + + + Tabelle.392 + + + + Tabelle.393 + + + + Tabelle.394 + + + + Tabelle.395 + + Tabelle.396 + + + + Tabelle.397 + + + + Tabelle.398 + + + + Tabelle.399 + + + + Tabelle.400 + + + + Tabelle.401 + + + + Tabelle.402 + + + + + Tabelle.403 + + + + Tabelle.404 + + + + Tabelle.405 + + Tabelle.406 + + + + Tabelle.407 + + + + Tabelle.408 + + + + Tabelle.409 + + + + Tabelle.410 + + + + Tabelle.411 + + + + Tabelle.412 + + + + Tabelle.413 + + + + Tabelle.414 + + + + + Tabelle.415 + + + + Tabelle.416 + + + + Tabelle.417 + + + + Tabelle.418 + + + + Tabelle.419 + + + + Tabelle.420 + + + + Tabelle.421 + + + + Tabelle.422 + + + + Tabelle.423 + + + + Tabelle.424 + + + + Tabelle.425 + + + + Tabelle.426 + + + + Tabelle.427 + + + + Tabelle.428 + + + + Tabelle.429 + + + + + + + + Hauptsitz.430 + + Tabelle.431 + + + + Tabelle.432 + + + + Tabelle.433 + + + + Tabelle.434 + + + + Tabelle.435 + + + + Tabelle.436 + + + + Tabelle.437 + + + + Tabelle.438 + + + + Tabelle.439 + + + + Tabelle.440 + + + + Tabelle.441 + + + + Tabelle.442 + + Tabelle.443 + + + + Tabelle.444 + + + + Tabelle.445 + + + + Tabelle.446 + + + + Tabelle.447 + + + + Tabelle.448 + + + + Tabelle.449 + + + + + Tabelle.450 + + + + Tabelle.451 + + + + Tabelle.452 + + Tabelle.453 + + + + Tabelle.454 + + + + Tabelle.455 + + + + Tabelle.456 + + + + Tabelle.457 + + + + Tabelle.458 + + + + Tabelle.459 + + + + Tabelle.460 + + + + Tabelle.461 + + + + + Tabelle.462 + + + + Tabelle.463 + + + + Tabelle.464 + + + + Tabelle.465 + + + + Tabelle.466 + + + + Tabelle.467 + + + + Tabelle.468 + + + + Tabelle.469 + + + + Tabelle.470 + + + + Tabelle.471 + + + + Tabelle.472 + + + + Tabelle.473 + + + + Tabelle.474 + + + + Tabelle.475 + + + + Tabelle.476 + + + + + Dynamischer Verbinder.477 + + + + Dynamischer Verbinder.478 + + + + Dynamischer Verbinder.479 + + + + Dynamischer Verbinder.480 + + + + Dynamischer Verbinder.481 + + + + Dynamischer Verbinder.482 + + + + Dynamischer Verbinder.483 + + + + Dynamischer Verbinder.484 + + + + Dynamischer Verbinder.485 + + + + diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg new file mode 100644 index 00000000000..14620ec2fef --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg @@ -0,0 +1,3 @@ + + +Example: Demand and Capacity Data Matching and Comparison within Capacity GroupWeek1Week2Week3Week4Week5Week6Week7Week8600055005000450040003500300025002000150010005000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg new file mode 100644 index 00000000000..870c6b749c9 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg @@ -0,0 +1 @@ +Operating Company (e.g.Cofinity-X)BusinessApplicationProviderRegister at operating company(e.g.Cofinity-X)My CompanyRequest BPNL (& BPNS if required),where needed (1 or 2)Create & send BPNL(& BPNS if required) and SSI WalletDevelop own EDC (CUSTOM)Use EDC (COTS) as SaaSCOnboard Company to NetworkSign DCM Data Exchange Governance withOperating CompanyReceive DCM Data Exchange GovernanceGet DCM application (COTS)1234AGet EDC (FOSS)Deploy a Catena-X certified Data spaceconnectorDeploy a Catena-X certified businessapplicationDevelop own application(CUSTOM)CABGet DCM application (FOSS)B \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg.license new file mode 100644 index 00000000000..f19735e6804 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/resources/onboarding.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md new file mode 100644 index 00000000000..392dae2b32c --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md @@ -0,0 +1,1166 @@ +--- +id: business-process +title: Core Business Process +description: Exchange Demand and Capacity information to solve bottlenecks. +sidebar_position: 1 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## TABLE OF CONTENTS + +- [Business Roles and Functions](#business-roles-and-functions) +- [Material Demand](#material-demand) +- [Capacity Group](#capacity-group) +- [Match and Comparison of Demand and Capacity](#match-and-comparison-of-demand-and-capacity) +- [Collaboration](#collaboration) +- [User Journey](#user-journey) + +## Business Roles and Functions + +The core DCM business process is executed by two roles and uses two APIs as well as two aspect models. The customer is responsible for `WeekBasedMaterialDemand`, the supplier for `WeekBasedCapacityGroup`. Within `WeekBasedCapacityGroup` the supplier has to link material demands. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Manage demand data|X|| +|Inform supplier about demand|X|| +|Manage capacity data||X| +|Link demand and capacity||X| +|Inform customer about capacity||X| +|Compare demand to capacity|X|X| +|Collaborate to resolve bottlenecks|X|X| + +## User Journey + +![User Journey](./resources/business-process_UserJourney.svg) + +Figure: *Basic DCM user journey* + + +### Personas + +The basic DCM user journey encompasses two key personas, each with distinct roles and responsibilities that highlight their value within the supply chain. + +#### Customer + + Individuals that act as this persona may hold various titles within their organization, but share the common responsibility of managing material demand and ensuring that supply aligns with their forecasted needs. The value of DCM for the customer lies in the capability to provide clear visibility into future demand and to facilitate efficient communication and alignment with suppliers. + +The responsibilities of the customer include: + +- safeguarding sufficient capacity of his suppliers for required materials and prevent bottleneck situations +- allocation of production capacity on customer side +- production rough cut capacity planning +- material allocation + +#### Supplier + +Individuals that act as this persona may hold various titles within their organization, but share the common responsibility of providing capacity data in response to the customer's material demand. The value of DCM for the supplier lies in the capability to receive material demand data, which enables them to plan and allocate resources effectively, ensuring they can meet the customer's demands. + +The responsibilities of the supplier include: + +- allocation of production capacity +- production rough cut capacity planning +- material allocation +- communication to a Customer business partner regarding capacity figures in a mid to - long term horizon +- resolving bottleneck situations + +### User Journey Description + +The starting point within the DCM user journey is the exchange of demand data, which is provided by the Customer and consumed by the supplier as WeekBasedMaterialDemand. For an effective demand and capacity management the data needs to be of a certain quality. This includes sorting the demand into weekly buckets, extending the demand data 24 months into the future and subsequently keeping it up to date. Whether the Customer has to manually prepare the demand data or it gets automatically generated and updated from existing systems, is not restricted by the Catena-X standards. + +The exchange of demand data is followed by the exchange of capacity data, which is provided by the supplier und consumed by the customer. For an effective demand and capacity management the data needs to be of a certain quality. This included linking material demands to the capacity group, providing a capacity quantity for every calendar week the customer provided demand quantities for, matching unit of measures correctly and utilizing advanced features like load factors and delta production in order to model demand and capacity management as closely to real life as possible. Whether the supplier has to manually prepare the capacity data or it gets automatically generated and updated from existing systems, is not restricted by the Catena-X standards. However matching material numbers and linking material demands to capacity groups will most likely required human intervention at some point. + +After exchanging demand and capacity data both, customer and supplier, do have the same view of the current situation and can begin matching and comparing the data. This is something that usually happens locally within the respective DCM application. Ideally the whole process of finding problems (bottleneck or surplus) is automated. + +If either customer or supplier identify a problem they can collaborate by exchanging comments as described by the DCM standard or by communicating outside the Catena-X dataspace using email or online-meetings. Regardless of how communication is initiated and maintained solving an identified problem is always the result of proposing, evaluating and simulating potential solutions. Customers and supplier discuss potential measures, modify their demand and capacity respectively and exchange the modified data until a solution that works for both sides has been found. + +Tools available to the Customer for solving problems are fairly limited. They can increase or decrease demand quantities. + +The supplier on the other hand has more options to solve problems. They can not only increase and decrease capacity quantities, but also use flexible capacity, load factors and delta production. + +## Material Demand + +![Guide Demand](./resources/business-process_guide_demand.svg) + +Figure: *Basic DCM process with demand part highlighted* + + + +A material demand represents the need for a particular product, part, component or material over a certain time period in a specified quantity. Demand quantities must refer to a time period of one calendar week (weekly buckets). + +The customer is responsible for publishing material demand to their supplier for upcoming time periods and it is strongly recommended to: + +- Minimize any data gaps to the greatest extent possible by maintaining continuity and establishing consistency. +- Provide material demand data for at least nine months into the future to ensure that DCM participants have sufficient information to work with. +- Implement a rolling demand plan by continuously updating the planning horizon with recent data. +- Refresh the data at a minimum of once every four weeks. +- Align, ideally within a contract, the unit of measure for demand quantities (e.g., pieces, kilograms, metric tons) with the supplier before providing the demand. + +The supplier must have the capability to consume the material demand data from the customer. + +### Material Demand Structure + +![Material Demand Structure](./resources/business-process_MDstructure.svg) +![Material Demand Structure Legend](./resources/business-process_MDstructure_Legend.svg) + +Figure: *Material demand structure* + + +### Visualization Example + +![Demand Example](./resources/business-process_ExampleDemand.svg) + +Figure: *Visualizing demand quantities as bars* + + +## Capacity Group + +![Guide Capacity](./resources/business-process_guide_capacity.svg) + +Figure: *Basic DCM process with capacity part highlighted* + + +A capacity group represents the answer to one or more material demands. It contains the information on how a supplier intends to fulfill customer needs, by contrasting demands with capacities over a certain time period in a specified quantity. Capacity quantities must refer to a time period of one calendar week (weekly buckets). + +The customer is responsible for publishing capacity groups to their customer and it is strongly recommended to: + +- Minimize any data gaps to the greatest extent possible by maintaining continuity and establishing consistency. +- Provide capacity data for every calendar week that has associated demand data. +- Refresh the data at a minimum of once every four weeks. +- Align, ideally within a contract, the unit of measure for capacity quantities (e.g., pieces, kilograms, metric tons) with the Customer and utilize lead factors as conversion factors, if applicable. + +The supplier must provide capacity data to the customer, corresponding to the material demand data previously shared. Thereby, the supplier is acting as a data provider and the customer as a data consumer of the exchanged capacity group.  + +The customer must have the capability to consume the capacity group data from the supplier. + +### Capacity Group Structure + +The capacity group is the entity where material demand and capacity information are matched and compared for the purpose of a collaborative DCM. Thereby, the capacity group builds the common view on the data exchanged between a customer and a supplier. + +The entity capacity group may be used, i.e. to combine capacities related to one or more machines, facilities or plants. + +![Capacity Group Structure](./resources/business-process_CGstructure.svg) +![Capacity Group Structure Legend](./resources/business-process_CGstructure_Legend.svg) + +Figure: *Capacity group structure* + + +### Visualization Example + +![Capacity Example](./resources/business-process_ExampleCapacity.svg) + +Figure: *Visualizing capacity quantities as lines* + + + + +### Capacity Types + +Embedded into the WeekBasedCapacityGroup are + +- **Actual Capacity** as the planned available capacity of a supplier +- **Maximum Capacity** as the maximum releasable capacity of a supplier +- **Agreed Capacity** as the understanding between Customer and supplier, regardless of contractual obligations. It is optional. + +In addition the difference between actual capacity and maximum capacity is commonly understood as flexible capacity. + +The following examples illustrate how to use the "capacity" properties. + +#### Example 1: Simple Case + +![Capacity Example](./resources/business-process_capacity-types_example1.svg) + + + +![Capacity Example](./resources/business-process_capacity-types_example_legend.svg) + + +Figure: *Visualizing capacity and demand on a simple case with sufficient capacity* + +We are in Week01, and we focus on a mid-term horizon starting in Week14, for a certain capacity group. +The current capacity plan at the supplier for this horizon is + +- 1000 units per week from Week14 (10 shifts per week) to Week20 +- 1500 units per week from Week22 onwards (15 shifts per week), with a ramp up step in Week21 + +This plan is reflected in the actual capacity of DCM. + +When matching demand to capacity, one will see that + +- Actual capacity is sufficient to cover demand. +- Maximum capacity can be available to cover potential increase of the demand up until 1800 + +#### Example 2: Imbalance + +![Capacity Example](./resources/business-process_capacity-types_example2.svg) + +![Capacity Example](./resources/business-process_capacity-types_example_legend.svg) + +Figure: *Visualizing capacity and demand in a case of imbalance* + +We are, here again, in Week01, considering the horizon from Week14 onwards. +Demand has increased in the period between Week15 and Week20, and now exceeds actual capacity. + +On supplier side: Supplier should detect that actual capacity is insufficient, using its DCM software, and conclude that measures should be activated to cover demand. As demand is below maximum capacity, supplier knows that it is feasible. Eventually, supplier should update its actual capacity to reflect those measures. + +On customer side: when validating its own production plan, customer may consider utilizing the supplier’s flexibility up to the maximum capacity and conclude that feasibility is given. + +#### Example 3: No Flexible Capacity + +![Capacity Example](./resources/business-process_capacity-types_example3.svg) + +![Capacity Example](./resources/business-process_capacity-types_example_legend.svg) + +Figure: *Visualizing capacity and demand in case without flexible capacity* + +Actual capacity is equal to maximum capacity, and demand is very close. +Though no proper imbalance is detected, even a slight increase of demand could not be managed. Both, supplier and customer, can conclude, that it may be relevant to collaborate to identify measures to mitigate risk. + +#### Example 4: Solving a Capacity Bottleneck + + +![Capacity Example](./resources/business-process_capacity-types_example4a.svg) +![Capacity Example](./resources/business-process_capacity-types_example_legend.svg) + +Figure: *Visualizing capacity and demand in a case of bottleneck* + +Imbalance is detected in Week19 to Week21: Demand exceeds maximum capacity. +Supplier and customer collaborate and agree on a measure to solve imbalance, e.g. increasing production capacity from Week19 to Week21 +If so, Actual and Maximum Capacity must be updated to reflect the result of the collaboration. As a result, the bottleneck disappears, as exemplified in example 4b below. + + +![Capacity Example](./resources/business-process_capacity-types_example4b.svg) +![Capacity Example](./resources/business-process_capacity-types_example_legend.svg) + +Figure: *Visualizing capacity and demand* + +### WeekBasedCapacityGroup Properties + +A capacity group dataset comprises the following basic components: + +| Main Parameters | Required? | Description | +|-|-|-| +| Supplier | Yes |The Business Partner Number Legal (BPNL) of the party providing materials to a customer| +| Customer | Yes |The Business Partner Number Legal (BPNL) of the party requesting material from a supplier| +| Capacity Group ID | Yes |The capacity group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer| +| Changed At | Yes |Point in time when the content (any property according to the data model) of the capacity group was changed, at the supplier, either by a human user or an automated process| +| Capacity Group Name | Yes |Name of the capacity group| +| Capacity Group is Inactive | Yes |Indicates that this capacity Group is currently not in use/maintained by the Supplier| +| Unit of Measure | No |Unit of Measurement (UoM) for capacity quantities| +| Linked Demand Series | No |Set of demand series assigned to this capacity group| +| Capacities | No |A time series with week-based granularity along a given time period containing the capacity values| +| Unit of Measure is Omitted | Yes |Explicit indicator of whether the unit of measure is left out of the payload intentionally. If “true” it means the sending application sends the demand values without unit of measure intentionally and the unit of measure must not be contained in the payload. If “false” a unit of measure must be supplied| + +Further properties are added at lower level below the “Capacities” property. A capacity time series contains the following components. + +| Main Parameters | Required? | Description | +|-|-|-| +| Actual Capacity | Yes |The actual capacity is the realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity| +| Agreed Capacity | No |The agreed capacity of a supplier for a specific customer material(s) within a capacity group. The agreed capacity must not constitute a legal obligation to deliver.| +| Maximum Capacity | Yes |The supplier's maximum capacity is the maximal available output per calendar week and material for a specific customer in a specific unit of measure. The maximum capacity thereby restricts the flexible capacity, as the flexible capacity is obtained from the difference of a suppliers maximum capacity minus actual capacity| +| Point in Time | Yes |ISO calendar week of the given time series entry. It must be given as a date of the Monday in the week.| + +### Linking Capacity Groups to Material Demands + +For a functional capacity group, the supplier must link it directly or indirectly to a material demand: + +- **Direct linking** means that the capacity group links at least one material demand. +- **Indirect linking** means that the capacity group links to another capacity group which links at least one material demand. This is also referred to as **nesting**. + +#### Direct Linking + +![Direct Linking](./resources/business-process_DirectLinking.svg) +![Direct Linking Legend](./resources/business-process_DirectLinking_Legend.svg) + +Figure: *Capacity group structure with linked material demand* + + +For the technical representation of a capacity group the aspect model WeekBasedCapacityGroup is utilized. + +The aspect model WeekBasedCapacityGroup must be used by a supplier to provide capacity information to the Customer. + +For further details refer to the semantic model in Chapter 3.2 and to the APIs in Chapter 4.2. + +A partner acting as a supplier sends a capacity group to its customer. In order to link demand series in the capacity group between customer and supplier, the following properties must be filled-in: + +- Supplier +- Customer +- materialNumberCustomer +- CustomerLocation +- demandCategory + +If there’s no complete match between supplier and customer data, it’s recommended to initiate collaboration (i.e. see chapter “Comments”) + +The supplier has the option to mark a WeekBasedCapacityGroup as inactive (i.e. the capacity is obsolete), in this case the capacity will not be considered in the demand-capacity matching. However, the WeekBasedCapacityGroup can be reactivated again. + +### Building N-Tier Chains via Capacity Groups + +Building supply chain via capacity groups is crucial to improve resiliency, transparency and efficiency along the value chain. Using the individual one-to-one capacity groups between one-ups and one-downs step by step builds the whole supply network. This enables all partners to collaborate along the whole value chain and navigate through complex and dynamic market conditions. + +The following figure illustrates how plastic granulate ends up being used in the housing of a control unit and how this would be viewed from a birds eye perspective. + +```mermaid +flowchart BT + subgraph CG1["Capacity Group 1                     (OEM - Tier1)"] + cg11UP[One-Up] + cg1Material[Control Unit] + cg11DOWN[One-Down] + end + subgraph CG2["Capacity Group 2                     (Tier1 - Tier2)"] + cg21UP[One-Up] + cg2Material[Case] + cg21DOWN[One-Down] + end + subgraph CG3["Capacity Group 3                     (Tier2 - Tier3)"] + cg31UP[One-Up] + cg3Material[Granulate] + cg31DOWN[One-Down] + end +cg3Material-->cg2Material +cg2Material-->cg1Material +style cg11UP fill:#707070,color:#ffffff +style cg1Material fill:#FFFFFF,color:#707070 +style cg11DOWN fill:#046b99,color:#ffffff +style cg21UP fill:#046b99,color:#ffffff +style cg2Material fill:#FFFFFF,color:#707070 +style cg21DOWN fill:#219dd4,color:#000000 +style cg31UP fill:#219dd4,color:#000000 +style cg3Material fill:#FFFFFF,color:#707070 +style cg31DOWN fill:#575757,color:#ffffff +``` + +Figure: *A small supply chain built by three capacity groups* + +The following figure illustrates the flow of demand and capacity data through the supply network. Capacity and demand blocks are placed according to responsibility. Data exchange that is happening within the Catena-X dataspace is denoted by arrows with "Provide" written on them. + +```mermaid +flowchart LR + subgraph t0[OEM] + car + t0a[Demand] + t0b[Demand] + end + subgraph t1[Tier 1] + t1a[Capacity] + t1b[Capacity] + t1c[Demand] + end + subgraph t2[Tier 2] + subgraph t2py[Plant Y] + t2pya[Capacity] + t2pyb[Demand] + t2pyc[Demand] + end + subgraph t2pz[Plant Z] + t2pza[Demand] + t2pzb[Demand] + t2pzc[Capacity] + end + end + subgraph t3a[Tier 3] + t3aa[Capacity] + end + subgraph t3b[Tier 3] + t3ba[Capacity] + t3bb[Capacity] + end +t0a-->car +t0b-->car +t1a--"Provide"-->t0a +t0a--"Provide"-->t1a +t1b--"Provide"-->t0b +t0b--"Provide"-->t1b +t1c-->t1a +t1c-->t1b +t2pzc--"Provide"-->t1c +t1c--"Provide"-->t2pzc +t2pza-->t2pzc +t2pzb-->t2pzc +t2pya--"Provide"-->t2pza +t2pza--"Provide"-->t2pya +t3bb--"Provide"-->t2pzb +t2pzb--"Provide"-->t3bb +t2pyb-->t2pya +t2pyc-->t2pya +t3ba--"Provide"-->t2pyc +t2pyc--"Provide"-->t3ba +t3aa--"Provide"-->t2pyb +t2pyb--"Provide"-->t3aa +classDef Demand fill:#FFA600,stroke:#FFFFFF,color:#000000 +classDef Capacity fill:#B3CB2D,stroke:#FFFFFF,color:#000000 +classDef CG1 fill:#B3CB2D,color:#000000 +classDef CG2 fill:#a0b626,color:#000000 +classDef CG3 fill:#8da01e,color:#000000 +classDef CG4 fill:#7a8b17,color:#FFFFFF +classDef CG5 fill:#66750f,color:#FFFFFF +classDef CG6 fill:#536008,color:#FFFFFF +classDef CG7 fill:#404a00,color:#FFFFFF +classDef Car fill:#219DD4,color:#000000 +class t1a,t0a CG1 +class t1b,t0b CG6 +class t3aa,t2pyb CG2 +class t3ba,t2pyc CG3 +class t2pzb,t3bb CG4 +class t2pya,t2pza CG7 +class t2pzc,t1c CG5 +class car Car +``` + +![N-Tier Linking Legend Legend](./resources/business-process_nTierLinking_Legend.svg) + +Figure: *A small supply network built by seven capacity groups* + + +## Match and Comparison of Demand and Capacity + +![Guide Match](./resources/business-process_guide_match.svg) + +Figure: *Basic DCM process with match and comparison part highlighted* + + +Both, customer and supplier, need to apply the same logic when comparing demand and capacity data in order to get the same results and come to identical conclusions. + +The standard describes exactly which scenario leads to the three possible matching results: + +- Zero deviation +- Surplus +- Bottleneck + +Within a DCM application those three matching results are commonly represented as a traffic light status, with zero deviation and surplus being green and bottleneck being orange or red, depending on whether demand is higher than maximum capacity or just actual capacity. + +While customers might not feel impacted by a surplus, because the demand is matched, it still represents capacity that the supplier could better utilize. + +For ease of use demand and capacity data should be shown on the same graph and colored in appropriately, within a DCM application. + +![Capacity Match and Compare](./resources/business-process_ExampleMatchCompare.svg) + +Figure: *Visualizing the comparison of demand and capacity quantities* + + + + + +## Collaboration + +![Guide Collaboration ](./resources/business-process_guide_collab.svg) + +Figure: *Basic DCM process with collaboration part highlighted* + + + +Collaboration is key within the DCM process. It is the final part of the DCM user journey, where actual solutions for problems (surplus and bottlenecks) are proposed, discussed and finally deployed. + +In order to facilitate collaboration with the Catena-X dataspace the DCM standards describes the exchange of comments, using an own aspect model and API. Communication features outside the Catena-X dataspace, such as eMail, phone calls, online meetings, etc. are not prohibited and should be used as the individual customers and suppliers see fit. + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-andCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md new file mode 100644 index 00000000000..86352f242d2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md @@ -0,0 +1,108 @@ +--- +id: comments +title: Comments +description: Share comments to further help solving bottlenecks. +sidebar_position: 6 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Comments use their own aspect model and API. Comments are provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Comment on demand or capacity data|X|X| +|Inform business partner about comment|X|X| + +## Sequence Diagram + +```mermaid + +sequenceDiagram +autonumber +Participant c as Customer +Participant s as Supplier +rect rgb(4,107,153) +s->>c: The demand in weeks 23 and 24 seems extraordinarily high. Can you please have a look at it. +end +rect rgb(4,107,153) +c->>s: This is not an error. My demand actually is that high. +end +rect rgb(4,107,153) +c->>s: Could you try meeting my demand by going into pre-production for week 10 to 20? +end +rect rgb(64,74,0) +s->>c: Provide WeekBasedCapacityGroup containing pre production for weeks 10 to 20 +end +rect rgb(4,107,153) +s->>c: I updated the capacity data to include pre production, lets discuss this in an online meeting. +end +``` + +Figure: *Utilizing comments to solve a production problem* + +## Details + +Collaboration is a critical element in Demand and Capacity Management. It enables alignment and cooperation between customers and suppliers within their respective business relationships. This interaction is facilitated by the exchange of comments, which are messages or texts related to data objects – either Material Demand or Capacity Group. These objects are identified by an "ObjectID," which matches the UUID of either a WeekBasedMaterialDemand or a WeekBasedCapacityGroup. + +Each comment, formally known as an IdBasedComment, within the business relationship is uniquely identified by a CommentID. + +This functionality allows users to integrate all data, including communications with their business partners, into the core process. This integration fosters a unified source of truth within the DCM process and enhances efficient decision-making. Comments can also be directed toward specific periods within the exchanged time series data to improve the precision of collaboration. + +Comments consist solely of text exchanges, without the transfer of documents or attachments. + +Comments must be formatted according to the Catena-X data standards and processed through the specified API. + +Both customers and suppliers must be able to send and receive comments regarding a capacity group object. Similarly, exchanging comments on a material demand object is strongly advised to enhance collaborative efforts in Demand and Capacity Management. + +To aid in the interpretation of received comments, a comment type must be specified during its creation. Each comment must align with one of the defined types in the standard. The consumer of the comment is responsible for determining the appropriate actions in response to the comment type. + +The provider of a comment can freely write their message in a designated text field, as outlined in the corresponding data model. Any editing of comments, such as changes to content, date, or time, does not alter the CommentID. + +Additionally, comments may include references to specific calendar weeks of the time series data for clarity. + +### Enriching comments + +Every comment should have the following data embedded into it: + +- The identity of the comment creator, which could be their first and last name, email address, or the Business Partner Number of their company (BPNL). + - Adherence to the General Data Protection Regulation (GDPR) must be ensured, especially regarding the treatment of comments and user data following the withdrawal of the individual or their company. This includes compliance with decisions agreed upon by partner companies. + - The comment creator should have the option to remain anonymous if desired, utilizing only the BPNL. +- The data and time when the comment was created. + +As a general guideline, the ability to modify an existing comment should be restricted solely to the individual who originally authored the comment. This ensures that the integrity of the comment is maintained and that any changes reflect the creator's current views or corrections. + +### Linking comments + +It should be possible to create comments in the following manner: + +- Pertaining to a specific capacity group + - General comments, detached from specific calendar weeks + - Comments attached to one or multiple calendar weeks +- Pertaining to a specific material demand + - General comments, detached from specific calendar weeks + - Comments attached to one or multiple calendar weeks + +Since users will typically interact with a graphical user interface (UI) that displays an aggregation of a specific capacity group along with all its associated material demands and other capacity groups, it is logical to aggregate comments in a corresponding manner. This approach would allow users to view comments in the context of the specific data they are associated with, streamlining the user experience and enhancing the relevance of the comments in relation to the aggregated data being reviewed. + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md new file mode 100644 index 00000000000..82c56d1d093 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md @@ -0,0 +1,157 @@ +--- +id: delta-production +title: Simulated Delta Production +description: Solve bottlenecks using pre- and post production +sidebar_position: 3 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Delta-Production data is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers provide Delta-Production related data and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Solve bottleneck via pre-/post production||X| +|Inform customer||X| +|Acknowledge that bottleneck has been solved|X|| + +## Business value + +Simulated Delta-Production is a feature that helps suppliers to manage their production capacity more effectively. It allows them to address and balance capacity shortages without having to increase their actual or maximum capacity. Suppliers can choose to use this feature, but it is not mandatory. + +The main advantage of using simulated Delta-Production is that it gives suppliers a way to manage small capacity shortfalls. This can be done manually or automatically, which saves time and effort that would otherwise be spent on frequent capacity adjustments, particularly when demand is unpredictable. + +### Advantages + +- Solve minor bottlenecks via pre-production/post-production +- Optimize utilization +- Smoothen demand and capacity peaks +- No frequent alerting for minor bottlenecks which can be solved by the supplier (within its actual or maximum capacity) + +Simulated Delta-Production enables suppliers to add extra detail to their capacity information. This helps illustrate solutions for capacity issues or times when production resources might be offline. Only the end results of simulated Delta-Production are shared with the customer. Suppliers may input a simulated Delta-Production value for each week as needed, which shows an increase or decrease in planned demand without actually changing the real figures. + +## Functional description + +![DCM_DeltaProduction](./resources/business-process_DeltaProduction_functional.svg) +![DCM_DeltaProduction_Legend](./resources/business-process_DeltaProduction_functional_legend.svg) + +Figure: *Capacity group structure with linked material demand including simulated Delta-Production Result* + + + + +Simulated Delta-Production may be used within a capacity group to indicate how production can be adjusted to meet demand. It helps cover potential shortfalls by showing where goods could be produced earlier or later than currently demanded. Therefore simulated Delta-Production covers both pre-production and post-production activities. + +Suppliers can provide these values on a weekly basis alongside their regular capacity data via parameter: + +| Main Parameters | Required? | Description | Example | +|-|-|-|-| +| Delta Production Result | No | Delta related to the aggregated material demand after pre-/post production calculation the supplier wants to send to the customer. Can be positive and negative.| Decimal value (e.g. "400"). A value of 400 means that in the respective week 400 units of the material will be pre-produced.| + +There's no need to give details about the duration of these adjustments, as this can be inferred from the number of weeks for which the simulated data is provided. +When comparing demand and capacity data, the simulated values are considered without altering the actual data. If a simulated Delta-Production value is provided, it must be included in the weekly demand and capacity comparison. A positive value indicates a virtual increase in planned demand, while a negative value indicates a virtual decrease. + +### Considerations + +- The standard does not define individual calculation logic for simulated Delta-Production, only the results may be submitted +- Suppliers should apply appropriate smoothing algorithms, depending on their planning requirements and toolchains +- Consideration of e.g. stock levels, storage capacity, transport capacity, product or part versioning, perishability, storing or handling requirements is subject to suppliers individual planning and product requirements + +Simulated Delta-Production must not change the material demand. It's strictly a simulation feature. +Suppliers can use comments to provide customers with additional information about the simulated Delta-Production. For more details on this communication feature, see Chapter 5.9 of [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Example + +### Sequence Diagram + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) + c->>s: I need 100 blue toys each in weeks 47, 48, 49 and 50 +end +s->>s: Manage Capacities +s->>s: There is a bottleneck in week 50 +s->>s: It is solvable via pre-production in weeks 48 and 49 +rect rgb(4,107,153) + s-->>c: I can produce 100 in week 47, 0 in week 50 and 150 in weeks 48 and 49 + autonumber off + s->>c: 50 each in weeks 48 und 49 are pre-produced to cover the demand in week 50 +end +``` + +Figure: *Utilizing simulated delta-production to solve a production problem* + +![DCM_DeltaProduction](./resources/business-process_DeltaProduction_example_diagram.svg) + +Figure: *Visualized example of results of simulated Delta-Production (with pre-production)* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +### Sample Data + +For sample data please refer to [Aspect Model - WeekBasedCapacityGroup](../../development-view/model-capacity-group.md). + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md new file mode 100644 index 00000000000..6ff6a8e3937 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md @@ -0,0 +1,155 @@ +--- +id: demand-volatility +title: Demand Volatility Metrics +description: Create transparency regarding data volatility and strife for a solution +sidebar_position: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Demand Volatility data is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers provide Demand Volatility related data and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Define parameters for calculating Demand Volatility||X| +|Calculate Demand Volatility||X| +|Inform business partner about parameters for calculating Demand Volatility||X| +|Inform business partner about calculated Demand Volatility||X| +|Acknowledge Demand Volatility calculation|X|| +|Reproduce Demand Volatility calculation|X|| + +## Business Value + +Demand Volatility metrics help suppliers to identify and measure volatility in demands. It allows them to address Demand Volatility directly to their customers, increasing transparency for a more effective collaborative capacity planning. Demand Deviation is the first metric for measuring Demand Volatility in the [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] (see chapter 5.11 Demand Volatility Metrics). + +The exchange of measurements of the demand deviation metric between business partners in the automotive supply chain leads to the following advantages: + +- stabilize supply chain by introducing Demand Volatility measures +- making fluctuations in customer demands transparent +- facilitating collaboration between business partners regarding demand patterns +- taking action to stabilize demand levels in the supply chain over time +- improving the balance between demands and capacity +- reducing the costs of supply chain operations + +## Functional Description Demand Volatility + +Supply chains in the automotive industry are characterized by a dynamic operating environment that manifests itself in regular changes in delivery and production requirements. This leads to varying degrees of Demand Volatility that customers communicate to their suppliers, in short term as well as long term planning horizons. + +Empirical analyses prove that high levels of Demand Volatility lead to high levels of unplanned supply chain efforts and costs mostly linked to readjustments of supply chain plans and to increased inventories across all tiers of the automotive supply chain. + +An effective approach to address the negative consequences of Demand Volatility is to systematically measure them and thus make them transparent. This facilitates collaborative alignments between supply chain partners in order to reduce Demand Volatility and increase the stability of supply plans. Therefore, the [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] includes a simple Demand Volatility metric: “Demand Deviation”. Figure 1 shows that the parameters and metrics that are processed for Demand Deviation form part of the dataset of the capacity group, which is also handled by suppliers. The metric is generally based on the comparison of the current aggregated demand measured for a defined capacity group with a previous aggregated demand. It is recommended to measure Demand Deviation on a monthly basis. Hence, a 4-week offset between measurements of current and previous demands is recommended. + + + +![Demand Volatility CG](./resources/business-process_demand_volatility_CG.svg) +![Demand Volatility CG Legend](./resources/business-process_demand_volatility_CG_legend.svg) + +Figure: *Demand Volatility within capacity group* + +Feature Demand Volatility is to be used optional but if it is used certain parameters are required to be filled. + +__Parameters of the Demand Volatility metric are as follows:__ + +| Main Parameters | Required? | Description | Example | +|-|-|-|-| +| Start Reference Date Time | Yes | Point in time when the measurement is initiated on suppliers side. It needs to be a point in time after receiving the active flag. It also marks the beginning of the first reporting interval/subhorizon| A value of 2024-08-01 indicates the measurement will start as of August 1st 2024. | +| Measurement Interval | Yes | Indicates the length in weeks between two measurements. First interval start with the *Start Reference Date Time*. Second interval starts the mentioned weeks after this date and so on | A value of 4 indicates a measurement will be taken each 4 weeks, starting with the *Start Reference Date Time*. | +| Sequence Number | Yes | Sequence Number of the respective subhorizon. The time frame can be divided into any positive number of individual subhorizons | A value of 2 indicates that this specific subhorizon is subhorizon number 2.| +| Subhorizon Lengths | Yes | Length of an individual subhorizon. Minimum length is always one week per individual subhorizon due to the DCM granularity | In the example having a *Sequence Number* set as 2, a value of 6 indicates that subhorizon 2 has a length of 6 weeks. | +| Absolute Negative Deviation | No | Absolute negative deviation threshold which triggers an alert | E.g. -100 units (value 100) means an alert is triggered if the absolute negative deviation between two measurement intervals for a respective calendar week decrease by 100 or more units. | +| Absolute Positive Deviation | No | Absolute positive deviation threshold which triggers an alert | E.g. 100 units (value 100) means an alert is triggered if the absolute positive deviation between two measurement intervals for a respective calendar week increases by 100 or more units. | +| Relative Negative Deviation | No | Relative negative deviation threshold which triggers an alert | E.g. -30% (value 0,3) means an alert is triggered if the relative negative deviation between two measurement intervals for a respective calendar week decrease by 30% or more. Value can be set between 0 and 1. | +| Relative Positive Deviation | No | Absolute negative deviation threshold which triggers an alert | E.g. 20% (value 0,2) means an alert is triggered if the relative positive deviation between two measurement intervals for a respective calendar week increase by 20% or more. Value can be set between 0 and 1. | + +For further details please refer to [Aspect Model WeekBasedCapacityGroup](../../development-view/model-capacity-group.md). + +## Example of Demand Volatility Measurements + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) + c->>s: I need 1000 red toys in week 19 +end +c->>c: Wait 4 weeks +rect rgb(157,93,00) + c->>s: I need 100 red toys in week 19 +end +s->>s: I should really start measuring the volatility of my customers demands +c->>c: Wait 4 weeks +rect rgb(157,93,00) + c->>s: I need 75 red toys in week 19 +end +s->>s: I start transferring the volatility of my customers demands +rect rgb(64,74,00) + s->>c: I started measuring Demand Deviation, using the following parameters: + autonumber off + s-->>c: Measurement Interval is set to 4 weeks + s-->>c: Increase limited to max. 20% in subhorizon 3 + s-->>c: Decrease limited to max. -20% in subhorizon 3 + s-->>c: Measurement starts in week 0, using 4 subhorizons of length (2,11,39,52) +end +``` + +Figure: *Utilizing demand volatility metrics to address data consistency issues* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md new file mode 100644 index 00000000000..0e078624ba0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md @@ -0,0 +1,58 @@ +--- +id: disruption-notification +title: Supply Chain Disruption Notification +description: Inform the supply chain about urgent issues, that connect be quantified yet. +sidebar_position: 7 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Supply chain disruption notifications use their own aspect model and API. Supply chain disruption notifications are provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Inform business partner about disruption|X|X| +|Detail pre-existing disruption notification|X|X| +|Resolve disruption|X|X| + +## Sequence Diagram + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer / Supplier +Participant s as Supplier / Customer +rect rgb(4,107,153) + c->>s: One of my production plants is negatively impacted by a strike + autonumber off + c-->>s: This affects the demand of the following materials: {Toy 1, Toy2, Toy3} +end +rect rgb(4,107,153) + autonumber 2 + c->>s: The disruption (strike) has ended +end +``` + +Figure: *Utilizing supply chain disruption notification* + +For further details, please refer to [CX-0146 Supply Chain Disruption Notifications][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0146-SupplyChainDisruptionNotifications diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md new file mode 100644 index 00000000000..36864403975 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md @@ -0,0 +1,140 @@ +--- +id: load-factors +title: Load Factors +description: Detail capacities by defining how much of a strain a material is on your capacities, compared to other materials. +sidebar_position: 4 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Load Factors are advanced parameters of a Capacity Group structure and therefore used optionally by suppliers. The application of Load Factors is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers may apply Load Factors and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Define Load Factors for materials||X| +|Define conversion factor for unit of measure||X| +|Inform business partners about factors||X| +|Acknowledge factors|X|| +|Recalculate demands in user interface, based on factors |X|X| + +## Business value + +The feature “Load Factors” allows suppliers to model and represent otherwise impossible capacity occurrences, by introducing a numerical multiplication factor, that changes the demand volume interpretation of a capacity group. + +Load Factors should be used to solve the following two problems: + +- Processing of non-homogeneous material variants within a capacity group, resulting in diverging capacity utilization. + +- Requirement for having a different unit of measure within a WeekBasedCapacityGroup, in relation to its linked WeekBasedMaterialDemand. + +Load Factors solve these problems by: + +- Scaling the weekly demand linearly if a material variant causes higher or lower than normal load within the capacity group. Load Factors can, for example, express a reduction to 90% or an increase to 150%. + +- Acting as conversion factors, converting the unit of measure of a WeekBasedMaterialDemand into the unit of measure of the WeekBasedCapacityGroup. This leads to a conversion into either “time” (unit:secondUnitOfTime) or “cycle” (unit:cycle), expressing that, for example, a piece of material takes 12 seconds, or a set of material takes half a cycle to manufacture. + +### Advantages + +- Possible differentiation of capacity utilization for product variants within a capacity group +- Possible conversion of different units of measure +- Better reflection of actual production environment + +## Functional description + +![Loadfactor](./resources/business-process_LoadFactor_functional.svg) +![LoadfactorLegend](./resources/business-process_FunctionalBlockDiagram_Legend.svg) + +Figure: *Capacity group structure with linked material demand incl. Load Factors* + +Suppliers may apply Load Factors within WeekBasedCapacityGroup aspect model via the parameter: + +| Main Parameters | Required? | Description | Example | +|-|-|-|-| +| Load Factor | No | If applied, a Load Factor indicates that in order to produce the required material demand, more (or less) production resources are required.| Decimal value (e.g. "3.5"). A value of 3.5 means that in the respective week the demand value is multiplied by 3,5 in order to reflect the required capacity needed to fulfil the demand. | + +Suppliers can apply Load Factors within the WeekBasedCapacityGroup model via a parameter. If they choose to do so, a Load Factor must be assigned to every WeekBasedMaterialDemand linked to the WeekBasedCapacityGroup. + +A Load Factor of 1 is neutral and does not change the linked WeekBasedMaterialDemand. Since Load Factors are applied via the WeekBasedCapacityGroup, a WeekBasedMaterialDemand can have multiple, differing Load Factors. + +Without Load Factors, the units of measure of a WeekBasedCapacityGroup and its linked WeekBasedMaterialDemand should be identical. With Load Factors, they may differ. + +### Considerations + +- The standard does not specify individual calculation logic for applying a Load Factor (e.g., converting capacity in pieces to production cycles). This logic depends on the suppliers’ individual planning requirements and tools. Indicating a Load Factor informs the customer that a conversion has taken place but does not affect the transferred demand or capacity values. +- Lot size restrictions, especially lot size = 1, are not considered when using Load Factors. +- To maintain consistency in demand-capacity comparison, rounding of fractional conversion results should be avoided. +- If a WeekBasedCapacityGroup links several WeekBasedMaterialDemand containing the same material, the Load Factors applied to these WeekBasedMaterialDemand should be identical. + +Suppliers can use comments to provide customers with additional information about the applied Load Factors. For more details on this communication feature, see Chapter 5.9 of [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] + +## Example + +The supplier produces two toys colored red and chrome on its line for the customer. +Both materials pass through the same station within the coloring process. + +Red toy needs 1 cycle at this station. Chrome toy needs 2 cycles because it needs to be painted twice. The supplier can effectively produce 250 cycles per week at this station. + +### Sequence Diagram + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) + c->>s: I need 100 red and 100 chrome toys +end +s->>s: Chrome toys strain my capacities twice as much as red toys +rect rgb(4,107,153) + s-->>c: Your demand and my capacities need to be expressed as production cycles. + autonumber off + s-->>c: Red toys are loaded with factor 1 + s-->>c: Chrome toys are loaded with factor 2 + s->>c: My overall capacity is 250 cycles +end +autonumber 4 +c->>c: My demands are 100 red cycles plus 200 chrome cycles equals 300 cycles +c->>c: Their capacity for both toys is 250 cycles +c->>c: Reduce demand for chrome toys to 75 so total demand equals 250 cycles +``` + +Figure: *Utilizing load factors* + +The supplier has created a capacity group "Red and Chrome Toys" with the unit “cycle” (unit:cycle). A processing time per piece of 1 cycle is set for red toys and 2 cycles for chrome toys. The maximum available process time is set to 250 cycles. + +The customer requires 100 pieces of red toys and 100 pieces of chrome toys in the respective week. The supplier calculates the required process time to be 300 cycles, i.e. 100(red)\*1 + 100(chrome)\*2 = 100 + 200 = 300 cycles. + +Without the Load Factor applied, it would not have been transparent for the customer, that the required amount of red and chrome toys is not possible to be fulfilled and it is necessary to decrease the volume in the respective week. + +One possible solution would be to reduce the chrome toys by 25 pieces to 75 pieces. New required process time would add up to 100(red)\*1 + 75(chrome)\*2 = 100 + 150 = 250 cycles. + +![Loadfactor](./resources/business-process_LoadFactor_example_diagram.svg) + +Figure: *Example for application of Load Factor within WeekBasedCapacityGroup* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +### Sample Data + +For sample data please refer to [Aspect Model - WeekBasedCapacityGroup](../../development-view/model-capacity-group.md). + +### Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/nesting.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/nesting.md new file mode 100644 index 00000000000..fa0973626bb --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/nesting.md @@ -0,0 +1,254 @@ +--- +id: nesting +title: Nesting +description: Nest material demands and capacity groups into other capacity groups +sidebar_position: 8 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Nesting is a feature defined in the DCM standard [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] and includes an advanced property of the Capacity Group structure and therefore may be used optionally by suppliers. The Nesting feature is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers may apply Nesting and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Define Nesting in a Capacity Group||X| +|Inform business partners about Nesting via data transfer||X| +|Receive Nesting information|X|| + +## Business Value + +Nesting may be used by suppliers for the following purposes (but not limited to): + +- To simplify the maintenance of Capacity Groups +- To enable the bundling of several smaller Capacity Groups to reflect a (virtual, internal) company structure + +### Advantages + +- Avoid increased maintenance efforts if same Material Demands may be required for another Capacity Group +- Allows to provide additional transparency to customers + +## Functional Description + +Nesting is an indirect linking of Material Demand information to a Capacity Group done by a supplier. It involves connecting the WeekBasedCapacityGroup to another WeekBasedCapacityGroup that is already linked to a WeekBasedMaterialDemand. +Suppliers may apply Nesting within WeekBasedCapacityGroup aspect model via the parameter `linkedCapacityGroups`. + +For more transparent collaboration, a supplier may also aggregate two or more Capacity Groups and share this aggregated Capacity Group with its customer, if all aggregated Capacity Groups refer to the same customer (BPNL). +Nesting helps suppliers for example to map the internal production sequence in the Capacity Groups, e.g. the combination of two production lines into one final assembly line can be mapped by linking the two Capacity Groups of the preceding lines into another Capacity Group (see [Example](#example)). +The same applies to multiple production plants representing a customer's total allocated capacity for materials. + +The supplier is able to put the desired Capacity Groups with their respective demands and capacities together and then share it with the customer. + +Consolidation is performed only on the demand and not on the capacity side when Nesting is used: all related capacity information is fully independent, i.e. the capacity data in the Capacity Group must be maintained individually. If a Capacity Group contains linked Capacity Groups, then the Material Demands of these linked Capacity Groups are summed up and used as aggregated demand. The supplier must either link individual Material Demands or link existing Capacity Groups in the Capacity Group. + +The following figure shows that:  + +- Capacity Group 1 and 2 are linked to Capacity Group 3 (i.e. Nesting or indirect linking).  +- Material Demand 1 and 2 are linked to Capacity Group 1 (i.e. direct linking). +- Material Demand 3 and 4 are linked to Capacity Group 2 (i.e. direct linking). +- Capacity Group 3 considers the Material Demands 1, 2, 3 and 4 because they are indirectly linked via the nested Capacity Group. + + + + + +![Simple nesting example](./resources/business-process_nesting_example-basic.svg) +![Simple nesting example legend](./resources/business-process_nesting_example_legend.svg) + +Figure: *Capacity Group with directly linked Material Demands or nested Capacity Groups (indirectly linked Material Demands)* + +Capacity Group 3 is the result of the indirect way of linking Material Demand, therefore it must not contain any additional directly linked Material Demands. + +If a linked Capacity Group contains further linked Capacity Groups (dark green in figure below), the Nesting is recurrent and must go further until referenced Capacity Groups contain only linked demand series (orange in figure below) ("domino effect"). + +![Recurrent nested Capacity Groups](./resources/business-process_nesting_example-recurrent.svg) + +Figure: *Recurrent nested Capacity Groups* + +### Considerations + +- It must not be possible to have a combination of directly linked Material Demand series and linked Capacity Groups (Nesting) within the same Capacity Group. +- Suppliers can use comments to provide customers with additional information about the Nesting. For more details on this communication feature, see chapter 5.9 in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] or [Comments](comments.md) page in DCM Kit of Tractus-X. +- Suppliers should be carefully applying recurring linked Capacity Groups ("domino effect"), because of the complexity of keeping track on changes and in maintenance. It is more difficult to identify and understand demand changes and where they are originating from (e.g. which part). + +Feature Nesting is to be used optional but if it is used certain parameters are required to be filled. + +**Parameters of the Nesting are as follows:** + +| Main Parameters | Required? | Description | Example | +|-|-|-|-| +| linkedCapacityGroups | No | UUID of the linked Capacity Group | 0157ba42-d2a8-4e28-8565-7b07830c1110 | + +For further details please refer to [Aspect Model - WeekBasedCapacityGroup](../../development-view/model-capacity-group.md). + +## Sequence Diagram + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer +Participant s as Supplier +rect rgb(191,113,00) + c->>s: I need 60 pieces of toy 1, 40 pieces of toy 2 and 50 pieces of toy 3 + c->>s: I need 100 pieces of toy 4 and 70 pieces of toy 5 +end +s->>s: Toys 1, 2 and 3 are produced on line 1, toys 4 and 5 on line 2 and all toys have to pass through paint shop +rect rgb(64,74,00) + autonumber off + s-->>c: Your demand and my capacities need to be assigned to 3 different capacity groups. + autonumber 4 + s->>c: Toys 1, 2 and 3 are part of capacity group "Production Line 1" + s->>c: Toys 4 and 5 are part of capacity group "Production Line 2" + autonumber off + s-->>c: All toys have to be colored in the paint shop + autonumber 6 + s->>c: Nesting "Production Line 1" and "Production Line 2" in "Paint Shop" instead of linking each Material Demand separately again +end +c->>c: My demands for all 5 toys are interlinked and transparent that they affect same capacity together +``` + +Figure: *Utilizing nesting to structure demand and capacity data* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Example + +The supplier produces five different toys on two different production lines for the customer. Afterwards the produced toys of both production lines are colored in the same paint shop. +All five toys pass through the same paint shop within the coloring process. + +- Production line 1 is used to produce toys 1, 2 and 3 for the customer. +- Production line 2 is used to produce toys 4 and 5 for the customer. +- The supplier has created a Capacity Group "Production Line 1" with the directly linked Material Demands of toys 1, 2 and 3. +- The supplier has also created a Capacity Group "Production Line 2" with the directly linked Material Demands of toys 4 and 5. +- For the paint shop the supplier has created another Capacity Group "Paint Shop", but without directly linked Material Demands. Instead, the supplier linked the Capacity Groups "Production Line 1" and "Production Line 2". +- The customer requires 60 pieces of toy 1, 40 pieces of toy 2 and 50 pieces of toy 3 in the respective week. Therefore the Capacity Group "Production Line 1" has an aggregated Material Demand of 150 pieces per week. +- Of toy 4, the customer wants 100 pieces and of toy 5 70 pieces in the respective week. Accordingly the related Capacity Group "Production Line 2" shows an aggregated Material Demand of 170 pieces per week. + +With the Nesting, the supplier achieves that the latest Material Demands that are linked to "Production Line 1" and "Production Line 2" are automatically available and considered in his Capacity Group "Paint Shop" without any further activities. Also in case a new toy 6 would be requested by same customer and produced on e.g. "Production Line 2", the supplier would only need to add it to that Capacity Group and automatically its Material Demand would also be considered in the Capacity Group "Paint Shop", thus also avoiding time-consuming additional maintenance on the demand side for "Paint Shop" Capacity Group. + + + + + +![Advanced Nesting example](./resources/business-process_nesting_example-basic.svg) +![Advanced Nesting example Legend](./resources/business-process_nesting_example_legend.svg) + +Figure: *Example for application of Nesting* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg new file mode 100644 index 00000000000..1cda8f760cc --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg @@ -0,0 +1,2493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder + Demand + + + + + Demand + + Dynamischer Verbinder.237 + Capacity + + + + + Capacity + + Dynamischer Verbinder.238 + Demand + + + + + Demand + + Dynamischer Verbinder.239 + Capacity + + + + + Capacity + + Dynamischer Verbinder.240 + Demand + + + + + Demand + + Dynamischer Verbinder.241 + Capacity + + + + + Capacity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall + + Tabelle.249 + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + + + + + + + + + + + + + + Tabelle.253 + + + + + + + + + + + + + + + Tabelle.254 + + + + + + + + + Tabelle.255 + + + + Tabelle.256 + + + Tabelle.257 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.258 + Relationship A + + + + + + + + + + + + + + + + + + + + + + + Relationship A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.270 + + Tabelle.271 + + + Tabelle.272 + + + + Tabelle.273 + + + + Tabelle.274 + + + + + + + + + + + + + + + + + Tabelle.275 + + + + + + + + + + + + + + + Tabelle.276 + + + + + + + + + Tabelle.277 + + + + Tabelle.278 + + + Tabelle.279 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.280 + Relationship B + + + + + + + + + + + + + + + + + + + + + + + Relationship B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.281 + + Tabelle.282 + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + + + + + + + + + + + + + + Tabelle.286 + + + + + + + + + + + + + + + Tabelle.287 + + + + + + + + + Tabelle.288 + + + + Tabelle.289 + + + Tabelle.290 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.291 + Relationship C + + + + + + + + + + + + + + + + + + + + + + + Relationship C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.296 + + Tabelle.297 + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + + + + + + + + + + + + + + + + + + Tabelle.301 + + + + + + + + + + + + + + + + + + + Tabelle.302 + + + + + + + + + Tabelle.303 + + + + Tabelle.304 + + + Tabelle.305 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.306 + Demand A1 .. An Capacity A1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand A1 .. AnCapacity A1.. An + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.308 + + Tabelle.309 + + + Tabelle.310 + + + + Tabelle.311 + + + + Tabelle.312 + + + + + + + + + + + + + + + + + + + + + Tabelle.313 + + + + + + + + + + + + + + + + + + + Tabelle.314 + + + + + + + + + Tabelle.315 + + + + Tabelle.316 + + + Tabelle.317 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.318 + Demand B1 .. An Capacity B1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand B1 .. AnCapacity B1.. An + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.319 + + Tabelle.320 + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + + + + + + + + + + + + + + + + + + Tabelle.324 + + + + + + + + + + + + + + + + + + + Tabelle.325 + + + + + + + + + Tabelle.326 + + + + Tabelle.327 + + + Tabelle.328 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.329 + Demand C1 .. An Capacity C1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand C1 .. AnCapacity C1.. An + + + diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg new file mode 100644 index 00000000000..57d5c86e8e7 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg @@ -0,0 +1,3 @@ + + +
WeekBasedCapacityGroup
Supplier
Customer
CapacityGroupID
changedAt
Calendar Week
Inactive flag
UnitOfMeasure
CapacityGroupName
ActualCapacity
MaximumCapacity
AgreedCapacity
quantity
quantity
quantity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg new file mode 100644 index 00000000000..0641dc51fe2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg @@ -0,0 +1,3 @@ + + +
Capacity data (MUST)
Capacity data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg new file mode 100644 index 00000000000..9d2d2d9e7e2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg @@ -0,0 +1 @@ +020406080100120140160week 46week 47week 48week 49week 50week 51Demand within actual capacityDemand over actual capacityDelta ProductionActual CapacityΔ+50Δ+50Δ-100 \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg.license new file mode 100644 index 00000000000..d90a88f6ee7 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_example_diagram.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg new file mode 100644 index 00000000000..8a3c7bbf396 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg @@ -0,0 +1,3 @@ + + +
WeekBasedCapacityGroup
Supplier
Customer
CapacityGroupID
changedAt
Calendar Week
DemandSeries
Inactive flag
UnitOfMeasure
CapacityGroupName
ActualCapacity
MaximumCapacity
AgreedCapacity
MaterialNumberCustomer
DemandCategory
CustomerLocation
DeltaProductionResult
PointInTime
Quantity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg.license new file mode 100644 index 00000000000..d90a88f6ee7 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg new file mode 100644 index 00000000000..5b5570a6a42 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg @@ -0,0 +1,3 @@ + + +
Demand data (MUST)
Demand data (optional)
Capacity data (MUST)
Capacity data (optional)
diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg.license new file mode 100644 index 00000000000..d90a88f6ee7 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DeltaProduction_functional_legend.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg new file mode 100644 index 00000000000..5519a56000b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg @@ -0,0 +1,3 @@ + + +
WeekBasedCapacityGroup
Supplier
Customer
CapacityGroupID
changedAt
Calendar Week
DemandSeries
Inactive flag
UnitOfMeasure
CapacityGroupName
ActualCapacity
MaximumCapacity
AgreedCapacity
MaterialNumberCustomer
DemandCategory
CustomerLocation
quantity
quantity
quantity
PointInTime
quantity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg new file mode 100644 index 00000000000..881818edf30 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg @@ -0,0 +1,3 @@ + + +
Demand data (MUST)
Demand data (optional)
Capacity data (MUST)
Capacity data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg new file mode 100644 index 00000000000..4212548db47 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Capacity DataActual CapacityMaximum CapacityAgreed Capacity \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg new file mode 100644 index 00000000000..d4899a05c34 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Demand DataDemand \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg new file mode 100644 index 00000000000..adbe420ccd0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Demand and Capacity Data Matching and Comparison within Capacity GroupDemand over actual capacityDemand within actual capacityDemand over actual but within maximum capacityActual capacityMaximum capacityAgreed capacity \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg new file mode 100644 index 00000000000..3798e71d51b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg @@ -0,0 +1 @@ +
Demand data (MUST)
Demand data (optional)
Capacity data (MUST)
Capacity data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg.license new file mode 100644 index 00000000000..0a9faa1647f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_FunctionalBlockDiagram_Legend.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg new file mode 100644 index 00000000000..1ae3e7dd1d3 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg @@ -0,0 +1 @@ +CapacityGroup "Redand Chrome Toys"Machine1Variant “Red(PartNo. 1)Machine2Variant „Chrome“ (PartNo. 2)Machine3Variant „Red“+“Chrome“ (PartNo. 1+2)Actualweeklycapacity: 250 cycles*Weekly capacityin pcsWeekly capacityin cyclesWeekly demandin cyclesLoad factorWeekly demandin pcs1001001001.0100VariantRed751502002.0100Variant „Chrome“175250300200VariantsRed“+“Chrome“* e.g.productioncycles, minutesper unitproduced= Actualcapacityin unitcycle” (unit:cycle) \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg.license new file mode 100644 index 00000000000..0a9faa1647f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_example_diagram.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg new file mode 100644 index 00000000000..74c1ce93e12 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg @@ -0,0 +1 @@ +
WeekBasedCapacityGroup
Supplier
Customer
CapacityGroupID
changedAt
Calendar Week
DemandSeries
Inactive flag
UnitOfMeasure
CapacityGroupName
ActualCapacity
MaximumCapacity
AgreedCapacity
MaterialNumberCustomer
DemandCategory
CustomerLocation
PointInTime
quantity
Load Factor
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg.license new file mode 100644 index 00000000000..0a9faa1647f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg new file mode 100644 index 00000000000..3b596ea01c8 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg @@ -0,0 +1,3 @@ + + +
Capacity data (MUST)
Capacity data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg.license new file mode 100644 index 00000000000..0a9faa1647f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_LoadFactor_functional_legend.svg.license @@ -0,0 +1,10 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg new file mode 100644 index 00000000000..bd8f29a776b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg @@ -0,0 +1,3 @@ + + +
WeekBasedMaterialDemand
Supplier
Customer
changedAt
DemandSeries
MaterialDescriptionCustomer
MaterialNumberCustomer
MaterialDemandID
MaterialNumberCustomer
DemandCategory
CustomerLocation
InactiveFlag
UnitOfMeasure
PointInTime
DemandQuantity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg new file mode 100644 index 00000000000..3f31748deb2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg @@ -0,0 +1,3 @@ + + +
Demand data (MUST)
Demand data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg new file mode 100644 index 00000000000..d151096f50f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg @@ -0,0 +1,3 @@ + + +CustomerSupplier
Exchange demand
Exchange demand
Customer
Manage demand
Manage demand
Customer
Provide demand data
Provide demand data
Supplier
Consume demand data
Consume demand data
Exchange capacities
Exchange capacities
Supplier
Manage capacity
Manage capacity
Supplier
Link demand and capacity
Link demand and capacity
Supplier
Provide capacity data
Provide capacity data
Customer
Consume capacity data
Consume capacity data
Match and Compare
Match and Compare
CustomerSupplier
Match and compare demand and capacity
Match and compare demand and capacity
CustomerSupplier
Identifiy problems
Identifiy problems
Collaborate
Collaborate
CustomerSupplier
Propose sulutions
Propose sulutions
CustomerSupplier
Evaluate solutions
Evaluate solutions
CustomerSupplier
Simulate solutions
Simulate solutions
CustomerSupplier
Decide on Measures
Decide on Measures
CustomerSupplier
Solve problems
Solve problems
Basic DCM User Journey
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg new file mode 100644 index 00000000000..f7895becc3c --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg @@ -0,0 +1,3 @@ + + +Example 1Week14Week15Week16Week17Week18Week19Week20Week21Week22Week232000180016001400120010008006004002000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example1.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg new file mode 100644 index 00000000000..7f7d94ff117 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg @@ -0,0 +1 @@ +Example 2Week14Week15Week16Week17Week18Week19Week20Week21Week22Week232000180016001400120010008006004002000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example2.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg new file mode 100644 index 00000000000..72a939b7f53 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg @@ -0,0 +1 @@ +Example 3Week14Week15Week16Week17Week18Week19Week20Week21Week22Week232000180016001400120010008006004002000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example3.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg new file mode 100644 index 00000000000..280a1ba30fe --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg @@ -0,0 +1 @@ +Example 4aWeek14Week15Week16Week17Week18Week19Week20Week21Week22Week2322002000180016001400120010008006004002000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4a.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg new file mode 100644 index 00000000000..b69a7b85739 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg @@ -0,0 +1,3 @@ + + +Example 4bWeek14Week15Week16Week17Week18Week19Week20Week21Week22Week2322002000180016001400120010008006004002000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example4b.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg new file mode 100644 index 00000000000..b60fb5dade4 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg @@ -0,0 +1,3 @@ + + +
Demand over Actual Capacity
Demand over Actual but within Maximum Capacity
Demand within Actual Capacity
Actual Capacity
Maximum Capacity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg.license new file mode 100644 index 00000000000..3caf219d970 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_capacity-types_example_legend.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg new file mode 100644 index 00000000000..ea3e163af1e --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg @@ -0,0 +1 @@ +
WeekBasedCapacityGroup
Supplier
Customer
CapacityGroupID
changedAt
Calendar Week
Inactive flag
UnitOfMeasure
Demand Volatility
CapacityGroupName
ActualCapacity
MaximumCapacity
AgreedCapacity
quantity
quantity
quantity
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg.license new file mode 100644 index 00000000000..0b0a50d4396 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG.svg.license @@ -0,0 +1,11 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg new file mode 100644 index 00000000000..3b596ea01c8 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg @@ -0,0 +1,3 @@ + + +
Capacity data (MUST)
Capacity data (optional)
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg.license new file mode 100644 index 00000000000..0b0a50d4396 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_demand_volatility_CG_legend.svg.license @@ -0,0 +1,11 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg new file mode 100644 index 00000000000..078861867fc --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg @@ -0,0 +1,3 @@ + + +
One-Up (Customer)
One-Down(Supplier)
Manage
Manage
Demand
Capacity
Match & Comparison
Collaboration
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg new file mode 100644 index 00000000000..df50320bc53 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg @@ -0,0 +1,3 @@ + + +
One-Up (Customer)
One-Down(Supplier)
Manage
Manage
Demand
Capacity
Match & Comparison
Collaboration
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg new file mode 100644 index 00000000000..12227df12b6 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg @@ -0,0 +1,3 @@ + + +
One-Up (Customer)
One-Down(Supplier)
Manage
Manage
Demand
Capacity
Match & Comparison
Collaboration
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg new file mode 100644 index 00000000000..ffc951efc3d --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg @@ -0,0 +1,3 @@ + + +
One-Up (Customer)
One-Down(Supplier)
Manage
Manage
Demand
Capacity
Match & Comparison
Collaboration
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg new file mode 100644 index 00000000000..4bf629b12fe --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg @@ -0,0 +1,3 @@ + + +
CapacityGroup 1
CapacityGroup 2
CapacityGroup 3
CapacityGroup 4
CapacityGroup 5
CapacityGroup 6
CapacityGroup 7
\ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg new file mode 100644 index 00000000000..5d6f8feba51 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg @@ -0,0 +1 @@ +Capacity Group “Paint Shop”Capacity Group “Production Line 1”Capacity Group “Production Line 2”Material Demand “Toy 4”Material Demand “Toy 5”Capacity Group “Production Line 1”Material Demand “Toy 1”Capacity Group “Production Line 2”Material Demand “Toy 4”Material Demand “Toy 5”170 pieces100 pieces70 piecesMaterial Demand “Toy 1”Material Demand “Toy 2”Material Demand “Toy 3”150 piecesMaterial Demand “Toy 2”Material Demand “Toy 3”60 pieces40 pieces50 pieces \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg.license new file mode 100644 index 00000000000..720f8276cf0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-adv.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg new file mode 100644 index 00000000000..d0cc643b192 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg @@ -0,0 +1 @@ +Capacity Group 3Capacity Group 1Material Demand 1Material Demand 2Capacity Group 2Material Demand 3Material Demand 4Capacity Group 1Material Demand 1Material Demand 2Capacity Group 2Material Demand 3Material Demand 4 \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg.license new file mode 100644 index 00000000000..720f8276cf0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-basic.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg new file mode 100644 index 00000000000..e816e4a2b43 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg @@ -0,0 +1 @@ +CapacityGroup -1SupplierInactiveFlagCustomerUnit ofMeasureCapacityGroup IDNameChangedAtCalendarWeekActualCapacityQuantityMaximum CapacityQuantityAgreedCapacityQuantityDelta ProductionQuantityLinkedCapacityGroupsCapacityGroup -2CapacityGroup -3SupplierInactiveFlagCustomerUnit ofMeasureCapacityGroup IDNameChangedAtCalendarWeekActualCapacityQuantityMaximum CapacityQuantityAgreedCapacityQuantityDelta ProductionQuantityLinkedDemand SeriesCustomer Material NumberDemand CategoryCustomer LocationLoad FactorCapacityGroup -2SupplierInactiveFlagCustomerUnit ofMeasureCapacityGroup IDNameChangedAtCalendarWeekActualCapacityQuantityMaximum CapacityQuantityAgreedCapacityQuantityDelta ProductionQuantityLinkedCapacityGroupsCapacityGroup -3LegendCapacityGroup -mandatoryCapacityGroup -optionalMaterial Demand -mandatoryMaterial Demand -optional \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg.license new file mode 100644 index 00000000000..720f8276cf0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example-recurrent.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg new file mode 100644 index 00000000000..8e5c8e4ce74 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg @@ -0,0 +1 @@ +Demand data (directly linked)Demand data (indirectly linked)Capacity dataCapacity data (linked or nested) \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg.license new file mode 100644 index 00000000000..720f8276cf0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nesting_example_legend.svg.license @@ -0,0 +1,9 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg new file mode 100644 index 00000000000..14620ec2fef --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg @@ -0,0 +1,3 @@ + + +Example: Demand and Capacity Data Matching and Comparison within Capacity GroupWeek1Week2Week3Week4Week5Week6Week7Week8600055005000450040003500300025002000150010005000. \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md new file mode 100644 index 00000000000..dff7ada86ed --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md @@ -0,0 +1,63 @@ +--- +id: rfu +title: Request for Update +description: Request updates from your partner +sidebar_position: 5 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Request for update uses its own aspect model and API. Request for update is provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Identify demand or capacity data that is not recent|X|X| +|Inform business partner about data that needs updating|X|X| +|Provide business partner with fresh data|X|X| +|Show users how fresh the data is |X|X| + +## Sequence Diagram + +```mermaid +sequenceDiagram +autonumber +Participant c as Customer / Supplier +Participant s as Supplier / Customer +c->>c: One of my users is viewing some data +c->>c: This data from my partner is 6 months old and I received the last update 2 months ago. +rect rgb(4,107,153) + c->>s: I have data known by ID e03ac75f with timestamp 2023.12.12 do you have a more recent version? +end +c->>c: Inform user that I am synchronizing the data +alt Data not in sync + s->>c: Here is a more recent version of data e03ac75f +else Data still in sync + autonumber 5 + s->>c: You already have the most recent version of data e03ac75f +end +c->>c: Show user how old the data is and when it was last synchronized. +``` + +Figure: *Utilizing request for update* + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md new file mode 100644 index 00000000000..54e9fda024f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md @@ -0,0 +1,91 @@ +--- +id: dependencies +title: Dependencies +description: Dependencies +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Standard Dependencies + +Designing an implementing an application that conforms to CX-0128 - DEMAND AND CAPACITY MANAGEMENT DATA EXCHANGE V.2.1.0, means not only conforming to CX-0128 but also to all standards that CX-0128 depends upon. + +### Dependency Graph + +In order to keep things orderly some restrictions to this graph apply: + +- The first first mention of a standard is marked by using the standards name in addition to its ID (e.g. CX-0011 ISSUING AGENCY). +- Further mentions are denoted by using only the standards ID (e.g. CX-0011). +- To avoid visual loops, only the first mention of a standard is resolved further for standard dependencies. +- Catena-X standards can be identified by their ID (e.g. CX-0011). +- Non Catena-X standards are never resolved further. + +![Dependency Graph](./resources/dependencies_dependency-graph.svg) + +Figure: *Dependencies* + + + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/overview.md b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/overview.md new file mode 100644 index 00000000000..dfb7f91d750 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/overview.md @@ -0,0 +1,202 @@ +--- +id: overview +title: Architecture View +description: The view from above +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Why​ + +This page is relevant for you, if one of the following cases applies: + +1. You want to participate in the demand and capacity usecase as either a customer or a supplier and intend to adapt your existing custom application landscape to Catena-X DCM. +2. You want to offer business solutions to the aforementioned customers and suppliers by adapting your commercial software product for Catena-X DCM. + +If none of this applies to you or you are unsure, please refer to [Operation View](../operation-view.md) first. + +> Note: If you purchase commercial software from a software vendor, the vendor needs to adopt their software for you. Please refer your vendor to this page. + +## Prerequisites + +In order to participate in the Catena-X network an Eclipse Dataspace Connector (EDC), or a similar connector fulfilling the Dataspace Protocol, is required, as the endpoints must not be called directly but only through a Data Asset/Contract Offer. + +In addition use case participants need to be boarded onto the Catena-X network. + +Participants intending to act as a customer require at least one BPNL for their company as well as one BPNS for every site they intend to integrate into the Catena-X network. + +Participants intending to act as a supplier require at least one BPNL for their company. + +## How + +If you want to adapt your custom or commercial applications to work with the Catena-X DCM usecase you will have to + +1. Modify the source code of your application +2. Enable your software to offer multiple REST API endpoints in order to receive data +3. Enable your software to call multiple REST API endpoints in order to send data +4. Enable your software to communicate through an Eclipse Dataspace Connector (EDC), or a similar solution, which is to be setup separately + +For details, please refer to the Catena-X DCM standard [CX-0128][StandardLibrary]. This page provides a non-normative overview only. + +## Solution Overview + +For the exchange of the demand and capacity information required by the process, five REST APIs are used: + +- WeekBasedMaterialDemand API - used for the exchange of demand information +- WeekBasedCapacityGroup API - used for the exchange of capacity information +- RequestForUpdate API - used for requesting an update of WeekBasedMaterialDemand or WeekBasedCapacityGroup +- IdBasedComment API - used for the exchange of additional comments regarding WeekBasedMaterialDemand or WeekBasedCapacityGroup +- Asset Administration Shell (AAS) API - used when using DCM in combination with a Digital Twin Registry + +All those APIs are REST-based APIs. + +Implementing all endpoints is mandatory, except the AAS API endpoint, which is optional. + +Note that the software solutions used as well as the business process should be enabled in order to receive WeekBasedMaterialDemand information from customers and send WeekBasedCapacityGroup information back to those customers. Also, it needs to be possible to send the own WeekBasedMaterialDemand information to the suppliers and receive their WeekBasedCapacityGroup information in return. Therefore, the software tools used need to be able to send/receive these information and the users need to be able to work with the information in the planning processes. + +When implementing the API endpoints, it is important to follow the DCM standard closely in order to ensure compatibility with other solutions. This is not limited to technical aspects, but also extends to the business definition of demand and capacity. + +### Architecture Constraints + +| Constraint ID | Constraint | +| ------------- | ------------- | +| C-1 | Software and third party software must be compliant to the Catena-X and Eclipse Foundation Guidelines/Policies [eclipse_foundation](https://www.eclipse.org/projects/dev_process/) | +| C-2 | [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc/tree/main) (EDC), or a similar solution, must be used for data transfer between different legal entities; e.g. the API endpoints listed above may only be called through a Data Asset/Contract Offer | + +## Sequence Diagram + +The overall interaction between partners is illustrated by the following sequence diagram: + +```mermaid +sequenceDiagram + box rgb(97,97,97) Customer + actor Customer + participant CustomerApp as Customer App + participant CustomerConnector as Customer connector + end + box rgb(97,97,97) Core Services + participant CoreBpnlDiscovery as Core BPNL Discovery + participant CoreEdcDiscovery as Core EDC discovery + end + box rgb(97,97,97) Supplier + participant SupplierConnector as Supplier connector + participant SupplierApp as Supplier App + actor Supplier + end + rect rgb(221,130,0) + note right of Customer: Customer creates MaterialDemand locally + Customer ->> CustomerApp: Create MaterialDemand + activate CustomerApp + CustomerApp -->> Customer: MaterialDemand created + deactivate CustomerApp + Customer ->> CustomerApp: Finalize MaterialDemand + end + rect rgb(4,107,153) + note right of CustomerApp: Customer App finds endpoint of Supplier + activate CustomerApp + CustomerApp ->> CoreBpnlDiscovery: Resolve Supplier Base Data into BPNL + activate CoreBpnlDiscovery + CoreBpnlDiscovery -->> CustomerApp: Supplier BPNL + deactivate CoreBpnlDiscovery + CustomerApp ->> CoreEdcDiscovery: Resolve Supplier BPNL into connector URL catalogue + activate CoreEdcDiscovery + CoreEdcDiscovery -->> CustomerApp: Connector URL catalogue + deactivate CoreEdcDiscovery + CustomerApp ->> CustomerApp: Find correct connector via URL catalogue inspection + activate CustomerConnector + CustomerConnector ->> SupplierConnector: Resolve connector Endpoint and connector service catalogue into MaterialDemand API URL + activate SupplierConnector + SupplierConnector ->> CustomerConnector: Framework & Contract Negotiation + CustomerConnector -->> SupplierConnector: Framework & Contract Negotiation + SupplierConnector -->> CustomerConnector: MaterialDemand API URL + end + rect rgb(221,130,0) + note right of Customer: Exchange Material Demand + CustomerApp ->> CustomerConnector: Transmit MaterialDemand + CustomerConnector ->> SupplierConnector: Transmit MaterialDemand + SupplierConnector ->> SupplierApp: Transmit MaterialDemand + activate SupplierApp + SupplierApp ->> Supplier: Transmit MaterialDemand + Supplier -->> SupplierApp: MaterialDemand received + SupplierApp -->> SupplierConnector: MaterialDemand received + deactivate SupplierApp + SupplierConnector -->> CustomerConnector: MaterialDemand received + deactivate SupplierConnector + CustomerConnector -->> CustomerApp: MaterialDemand received + deactivate CustomerConnector + CustomerApp -->> Customer: MaterialDemand finalized & synchronized + deactivate CustomerApp + end + rect rgb(128,149,0) + note left of Supplier: Supplier creates CapacityGroup locally + Supplier ->> SupplierApp: Create CapacityGroup + activate SupplierApp + SupplierApp -->> Supplier: CapacityGroup created + deactivate SupplierApp + Supplier ->> SupplierApp: Link Demands to CapacityGroup + activate SupplierApp + SupplierApp -->> Supplier: Demands Linked + deactivate SupplierApp + Supplier ->> SupplierApp: Finalize CapacityGroup + end + rect rgb(4,107,153) + note left of SupplierApp: Supplier App finds endpoint of Customer + activate SupplierApp + SupplierApp ->> CoreBpnlDiscovery: Resolve Customer Base Data into BPNL + activate CoreBpnlDiscovery + CoreBpnlDiscovery -->> SupplierApp: Customer BPNL + deactivate CoreBpnlDiscovery + SupplierApp ->> CoreEdcDiscovery: Resolve Customer BPNL into connector URL catalogue + activate CoreEdcDiscovery + CoreEdcDiscovery -->> SupplierApp: connector URL catalogue + deactivate CoreEdcDiscovery + SupplierApp ->> SupplierApp: Find correct connector via URL catalogue inspection + SupplierApp ->> SupplierConnector: Transmit CapacityGroup + activate SupplierConnector + SupplierConnector ->> CustomerConnector: Resolve connector Endpoint and connector service catalogue into CapacityGroup API URL + activate CustomerConnector + CustomerConnector ->> SupplierConnector: Framework & Contract Negotiation + SupplierConnector -->> CustomerConnector: Framework & Contract Negotiation + CustomerConnector -->> SupplierConnector: CapacityGroup API Endpoint + end + rect rgb(128,149,0) + note left of Supplier: Exchange Capacity Group + SupplierConnector ->> CustomerConnector: Transmit CapacityGroup + CustomerConnector ->> CustomerApp: Transmit CapacityGroup + activate CustomerApp + CustomerApp ->> Customer: Transmit CapacityGroup + Customer -->> CustomerApp: CapacityGroup received + CustomerApp -->> CustomerConnector: CapacityGroup received + deactivate CustomerApp + CustomerConnector -->> SupplierConnector: CapacityGroup received + deactivate CustomerConnector + SupplierConnector -->> SupplierApp: CapacityGroup received + deactivate SupplierConnector + SupplierApp -->> Supplier: CapacityGroup finalized & synchronized + deactivate SupplierApp + end +``` + +Figure: *Core business process* + +Note that the supplier does not need to immediately reply with capacity group after receiving demand information, although a timely reply is appreciated, there can be a considerable time in between instead. + +Digital Twins can also be used to reference parts, but are not shown in the sequence diagram for simplicity. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg new file mode 100644 index 00000000000..32cf4902ea4 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg @@ -0,0 +1,3 @@ + + +CX-0128 - DEMAND ANDCAPACITY MANAGEMENTDATA EXCHANGE V.2.1.0CX-0001 EDC Discovery APICX-0006 Registration andinitial onboardingCX-0009 CATENA-XREGISTRATION APICX-0010CX-0011 ISSUING AGENCYCX-0010ISO/IEC 15459CX-0013 IDENTITY OFMEMBER COMPANIESCX-0049 DID DocumentSchemaCX-0149CX-0010CX-0002 Digital Twins inCatena-XCX-0003CX-0018CX-0001CX-0053 BPN DiscoveryService APIsCX-0010CX-0044 ECLASSECLASS HomepageCX-0003 SAMM Aspect MetaModelSAMM Semantic AspectMeta ModelCX-0002Catena-X Operating ModelWhitepaperCX-0010 Business PartnerNumberCX-0018 DataspaceConnectivityIDSA Dataspace ProtocolIdentity And Trust ProtocolCX-0050 FrameworkAgreement CredentialCX-0149 Verfied CompanyIdentityCX-0010CX-0011CX-0015 IAM & AccessControl ParadigmINCITS 565-2020CX-0050Identity TrustCredential PresentationProtocolTractus-X ProfilesCX-0126 Industry Core: PartTypeCX-0001CX-0002CX-0003CX-0018CX-0146 Supply ChainDisruption Notifications \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/changelog.md b/docs-kits/kits/Demand and Capacity Management Kit/changelog.md new file mode 100644 index 00000000000..9d9347d7827 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/changelog.md @@ -0,0 +1,124 @@ +--- +id: changelog +title: Changelog +description: 'What has changed recently?' +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM KIT Changelog + +All notable changes to this Kit will be documented in this file. + +## [1.2.0] - 2024-12-02 + +### Added + +- Added E2E Tests to [Development View](./development-view/overview.md) +- Added Glossary to [Adoption View](./adoption-view/overview.md) +- Added Delta Production to [Adoption View](./adoption-view/overview.md) +- Added Demand Volatility to [Adoption View](./adoption-view/overview.md) +- Added Load Factors to [Adoption View](./adoption-view/overview.md) +- Added Nesting to [Adoption View](./adoption-view/overview.md) + +### Changed + +- Updated [Core Business Process](./adoption-view/use-case/business-process.md) with assorted examples of capacity groups and material demands +- Updated [Onboarding](./adoption-view/onboarding.md) to include an onboarding journey + +## [1.1.0] - 2024-08-05 + +### Added + +- Added multiple diagrams to [Development View](./development-view/overview.md) +- Added APIs to [Development View](./development-view/overview.md) +- Added Use Case to [Adoption View](./adoption-view/overview.md) +- Added Q&A to [Adoption View](./adoption-view/overview.md) + +### Changed + +- Restructured [Development View](./development-view/overview.md) +- Restructured [Adoption View](./adoption-view/overview.md) +- Recolored sequence diagram in [Architecture View](./architecture-view/overview.md) +- Moved onboarding content from [Operation View](./operation-view.md) to [Adoption View](./adoption-view/overview.md) + +## [1.0.0] - 2024-05-24 + +### Added + +- Added [DCM Operation View](./operation-view.md) + +### Changed + +- Changed banner image file location and converted .png image to .svg +- Updated aspect models in [Architecture View](./architecture-view/overview.md) to new versions +- Updated aspect models and API definitions in [Development View](./development-view/overview.md) to new versions +- Updated WeekBasedMaterialDemand data model and API chapters to new data model (Replaced MaterialDemand with WeekBasedMaterialDemand aspect model) +- Updated choice of words and writing pattern throughout the documentation + +### Removed + +- ./. + +## [0.2.0] - 2024-03-08 + +### Added + +- Added Architecture View +- Added IdBasedRequestForUpdate data model reference to Adoption View +- Added IdBasedComment data model reference to Adoption View +- Added IdBasedRequestForUpdate data model chapter to Development View +- Added IdBasedComment data model chapter to Development View +- Added IdBasedRequestForUpdate API chapter to Development View +- Added IdBasedComment API chapter to Development View + +### Changed + +- Updated DCM standard references in Adoption View (Merged CX-0046, CX-0047 and CX-0048 into CX-0128) +- Updated data model references in Adoption View +- Updated MaterialDemand data model chapter to new data models and versions (Replaced WeekBasedMaterialDemand with MaterialDemand aspect model) +- Updated WeekBasedCapacityGroup data model chapter to new data models and versions +- Updated MaterialDemand API chapter to new API definitions +- Updated WeekBasedCapacityGroup API chapter to new API definitions + +### Removed + +n/a + +## [0.1.0] - 2023-03-01 + +### Added + +- Adoption View +- Development View + +### Changed + +n/a + +### Removed + +n/a + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 BearingPoint Holding B.V +- SPDX-FileCopyrightText: 2024 Capgemini SE +- SPDX-FileCopyrightText: 2024 CatX Service GmbH +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 Renault SA +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Volvo Car Corporation +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-aas.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-aas.md new file mode 100644 index 00000000000..4c6f15da6e6 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-aas.md @@ -0,0 +1,36 @@ +--- +id: api-aas +title: API - AAS +description: API - AAS +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM Asset Administration Shell API (AAS API) + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md new file mode 100644 index 00000000000..922eb36a774 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md @@ -0,0 +1,77 @@ +--- +id: api-WeekBasedCapacityGroup +title: API - WeekBasedCapacityGroup +description: API - WeekBasedCapacityGroup +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## WeekBasedCapacityGroup API + +The WeekBasedCapacityGroup API is owned and registered as an EDC asset by the supplier. The customer provides capacity group data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer||X| +|Supplier|X|| + +### Data Exchange + +```mermaid +sequenceDiagram +autonumber + actor c as Customer + participant ce as Customer EDC + participant se as Supplier EDC + participant a as WeekBasedCapacityGroup API + actor s as Supplier + + rect rgb(217,24,24) + s->>+se: Register API as Asset + se->>-s: API registered + end + rect rgb(128,149,00) + c->>+ce: Provide WeekBasedCapacityGroup + rect rgb(179,203,45) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide WeekBasedCapacityGroup + se->>+a: Provide WeekBasedCapacityGroup + a->>-se: WeekBasedCapacityGroup consumed + se->>-ce: WeekBasedCapacityGroup consumed + ce->>-c: WeekBasedCapacityGroup consumed + + end + +``` + +Figure: *Exchanging WeekBasedCapacityGroup via API* + +### Open API documentation + +|API|Link| +|-|-| +|WeekBasedCapacityGroup|[Find here](./plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-comment.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-comment.md new file mode 100644 index 00000000000..85b2bae348e --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-comment.md @@ -0,0 +1,98 @@ +--- +id: api-IdBasedComment +title: API - IdBasedComment +description: API - IdBasedComment +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## IdBasedComment API + +The IdBasedComment API is owned and registered as an EDC asset by both customer and supplier. The corresponding business partner (supplier and customer) provides comment data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +### Data Exchanges + +```mermaid +sequenceDiagram + actor c as Customer + participant ca as Comment API + participant ce as Customer EDC + participant se as Supplier EDC + participant sa as Comment API + actor s as Supplier + + rect rgb(217,24,24) + autonumber 1 + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(217,24,24) + autonumber 1 + s->>+se: Register API as Asset + se->>-s: API registered + end +autonumber 1 + rect rgb(04,107,153) + c->>+ce: Provide IdBasedComment + rect rgb(33,157,212) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide IdBasedComment + se->>+sa: Provide IdBasedComment + sa->>-se: IdBasedComment consumed + se->>-ce: IdBasedComment consumed + ce->>-c: IdBasedComment consumed + + end + + rect rgb(04,107,153) + s->>+se: Provide IdBasedComment + rect rgb(33,157,212) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide IdBasedComment + ce->>+ca: Provide IdBasedComment + ca->>-ce: IdBasedComment consumed + ce->>-se: IdBasedComment consumed + se->>-s: IdBasedComment consumed + + end + +``` + +Figure: *Exchanging IdBasedComment via API* + +### Open API documentation + +|API|Link| +|-|-| +|IdBasedComment|[Find here](./plugin-generated-comment-api/post-id-based-comment.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md new file mode 100644 index 00000000000..59e17dbdb0c --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md @@ -0,0 +1,77 @@ +--- +id: api-WeekBasedMaterialDemand +title: API - WeekBasedMaterialDemand +description: API - WeekBasedMaterialDemand +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## WeekBasedMaterialDemand API + +The WeekBasedMaterialDemand API is owned and registered as an EDC asset by the customer. The supplier provides material demand data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|| +|Supplier||X| + +### Data Exchange + +```mermaid +sequenceDiagram + actor c as Customer + participant a as WeekBasedMaterialDemand API + participant ce as Customer EDC + participant se as Supplier EDC + actor s as Supplier + + rect rgb(217,24,24) + autonumber 1 + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(221,130,0) + autonumber 1 + s->>+se: Provide WeekBasedMaterialDemand + rect rgb(255,166,0) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide WeekBasedMaterialDemand + ce->>+a: Provide WeekBasedMaterialDemand + a->>-ce: WeekBasedMaterialDemand consumed + ce->>-se: WeekBasedMaterialDemand consumed + se->>-s: WeekBasedMaterialDemand consumed + + end +``` + +Figure: *Exchanging WeekBasedMaterialDemand via API* + +### Open API documentation + +|API|Link| +|-|-| +|WeekBasedMaterialDemand|[Find here](./plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-rfu.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-rfu.md new file mode 100644 index 00000000000..d4c17bfa5ad --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/api-rfu.md @@ -0,0 +1,94 @@ +--- +id: api-IdBasedRequestForUpdate +title: API - IdBasedRequestForUpdate +description: API - IdBasedRequestForUpdate +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## IdBasedRequestForUpdate API + +The RequestForUpdate API is owned and registered as an EDC asset by both customer and supplier. The corresponding business partner (supplier and customer) provides request for update data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +### Data Exchange + +```mermaid +sequenceDiagram + actor c as Customer + participant ca as Request for Update API + participant ce as Customer EDC + participant se as Supplier EDC + participant sa as Request for Update API + actor s as Supplier + rect rgb(217,24,24) + autonumber 1 + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(217,24,24) + autonumber 1 + s->>+se: Register API as Asset + se->>-s: API registered + end + rect rgb(04,107,153) + autonumber 1 + c->>+ce: Provide IdBasedRequestForUpdate + rect rgb(33,157,212) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide IdBasedRequestForUpdate + se->>+sa: Provide IdBasedRequestForUpdate + sa->>-se: IdBasedRequestForUpdate consumed + se->>-ce: IdBasedRequestForUpdate consumed + ce->>-c: IdBasedRequestForUpdate consumed + end + rect rgb(04,107,153) + s->>+se: Provide IdBasedRequestForUpdate + rect rgb(33,157,212) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide IdBasedRequestForUpdate + ce->>+ca: Provide IdBasedRequestForUpdate + ca->>-ce: IdBasedRequestForUpdate consumed + ce->>-se: IdBasedRequestForUpdate consumed + se->>-s: IdBasedRequestForUpdate consumed + end + +``` + +Figure: *Exchanging IdBasedRequestForUpdate via API* + +### Open API documentation + +|API|Link| +|-|-| +|IdBasedRequestForUpdate|[Find here](./plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md new file mode 100644 index 00000000000..bdcd398b242 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md @@ -0,0 +1,131 @@ +--- +id: model-WeekBasedCapacityGroup +title: Aspect Model - WeekBasedCapacityGroup +description: Aspect Model - WeekBasedCapacityGroup +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "WeekBasedCapacityGroup" + +Suppliers provide customers capacity data as `WeekBasedCapacityGroup` aspect models. Suppliers also link demand data to `WeekBasedCapacityGroup` aspect models. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|||X| +|Supplier|X|X|X| + +### Structure of a WeekBasedCapacityGroup + +![WeekBasedCapacityGroup Structure](./resources/model-capacity-group_structure.svg) +![WeekBasedCapacityGroup Structure Legend](./resources/model-capacity-group_legend.svg) + +Figure: *WeekBasedCapacityGroup structure* + + + +### Example data + +```json +{ + "unitOfMeasure" : "unit:piece", + "linkedDemandSeries" : [ { + "loadFactor" : 3.5, + "materialNumberCustomer" : "MNR-7307-AU340474.002", + "materialNumberSupplier" : "MNR-8101-ID146955.001", + "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", + "demandCategory" : { + "demandCategoryCode" : "0001" + } + } ], + "linkedCapacityGroups" : [ "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" ], + "unitOfMeasureIsOmitted" : false, + "capacityGroupIsInactive" : true, + "demandVolatilityParameters" : { + "rollingHorizonAlertThresholds" : [ { + "sequenceNumber" : 1, + "absoluteNegativeDeviation" : 100.0, + "subhorizonLength" : 4, + "relativeNegativeDeviation" : 0.3, + "absolutePositiveDeviation" : 100.0, + "relativePositiveDeviation" : 0.2 + } ], + "measurementInterval" : 4, + "startReferenceDateTime" : "2024-01-10T12:00:00.320Z" + }, + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "name" : "Spark Plugs on drilling machine for car model XYZ", + "supplierLocations" : [ "{{CATENAX-SUPPLIER-BPNS}}" ], + "capacities" : [ { + "pointInTime" : "2022-08-01", + "agreedCapacity" : 1800, + "actualCapacity" : 1000, + "maximumCapacity" : 2000, + "deltaProductionResult" : 400 + } ], + "changedAt" : "2023-03-10T12:27:11.320Z", + "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_capacity_group/3.0.0/WeekBasedCapacityGroup.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-comment.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-comment.md new file mode 100644 index 00000000000..40d62702451 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-comment.md @@ -0,0 +1,94 @@ +--- +id: model-IdBasedComment +title: Aspect Model - IdBasedComment +description: Aspect Model - IdBasedComment +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "IdBasedComment" + +Customer and suppliers provide each other `IdBasedComment` aspect models in order to exchange additional information on `WeekBasedCapacityGroup` and `WeekBasedMaterialDemand`. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X|X|X| +|Supplier|X|X|X| + +### Structure of a IdBasedComment + +![IdBasedComment Structure](./resources/model-comment_structure.svg) +![IdBasedComment Structure Legend](./resources/model-comment_legend.svg) + +Figure: *IdBasedComment structure* + + + +### Example data + +```json +{ + "postedAt" : "2023-03-10T12:27:11.320Z", + "listOfReferenceDates" : [ "2023-11-05" ], + "author" : "someone@company.com", + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "commentType" : "information", + "commentId" : "f5c151e4-30b5-4456-94fd-2a7b559b6121", + "changedAt" : "2023-03-10T12:27:11.320Z", + "commentText" : "Hello, this is a comment!", + "requestDelete" : true, + "objectId" : "dfeb1334-497e-4dab-97c1-4e6f4e1c0320", + "objectType" : "urn:samm:io.catenax.week_based_capacity_group", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_comment/1.0.0/IdBasedComment.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md new file mode 100644 index 00000000000..b640bb4d949 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md @@ -0,0 +1,117 @@ +--- +id: model-WeekBasedMaterialDemand +title: Aspect Model - WeekBasedMaterialDemand +description: Aspect Model - WeekBasedMaterialDemand +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "WeekBasedMaterialDemand" + +Customer provide suppliers demand data as `WeekBasedMaterialDemand` aspect models. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X|X|X| +|Supplier|||X| + +### Structure of a WeekBasedMaterialDemand + +![WeekBasedMaterialDemand Structure](./resources/model-material-demand_structure.svg) +![WeekBasedMaterialDemand Structure Legend](./resources/model-material-demand_legend.svg) + +Figure: *WeekBasedMaterialDemand structure* + + +### Example data + +```json +{ + "unitOfMeasureIsOmitted" : false, + "unitOfMeasure" : "unit:piece", + "materialDescriptionCustomer" : "Spark Plug", + "materialGlobalAssetId" : "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "materialNumberSupplier" : "MNR-8101-ID146955.001", + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "changedAt" : "2023-11-05T08:15:30.123-05:00", + "demandSeries" : [ { + "expectedSupplierLocation" : "{{CATENAX-SUPPLIER-BPNS}}", + "demands" : [ { + "demand" : 1000, + "pointInTime" : "2023-10-09" + } ], + "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", + "demandCategory" : { + "demandCategoryCode" : "0001" + } + } ], + "materialDemandIsInactive" : true, + "materialNumberCustomer" : "MNR-7307-AU340474.002", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_material_demand/3.0.0/WeekBasedMaterialDemand.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-rfu.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-rfu.md new file mode 100644 index 00000000000..fce9084c533 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/model-rfu.md @@ -0,0 +1,105 @@ +--- +id: model-IdBasedRequestForUpdate +title: Aspect Model - IdBasedRequestForUpdate +description: Aspect Model - IdBasedRequestForUpdate +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "IdBasedRequestForUpdate" + +Customer and suppliers provide each other `IdBasedRequestForUpdate` aspect models to facilitate and ensure data synchronicity. They only contain transitive information, meaning it is not required to store them, after a `IdBasedRequestForUpdate` has been correctly reacted to. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X||X| +|Supplier|X||X| + +### Structure of a IdBasedRequestForUpdate + +![IdBasedRequestForUpdate Structure](./resources/model-rfu_structure.svg) +![IdBasedRequestForUpdate Structure Legend](./resources/model-rfu_legend.svg) + +Figure: *IdBasedRequestForUpdate structure* + + + +### Example data + +```json +{ + "weekBasedMaterialDemand" : [ { + "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456", + "changedAt" : "2023-03-10T12:27:11.320Z" + } ], + "weekBasedCapacityGroup" : [ { + "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "changedAt" : "2023-03-10T12:27:11.320Z" + } ] +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_request_for_update/3.0.0/IdBasedRequestForUpdate.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md new file mode 100644 index 00000000000..1575f376135 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/overview.md @@ -0,0 +1,266 @@ +--- +id: overview +title: Development View +description: 'What do I have to implement?' +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +This page describes the most important parts for the software implementation of the DCM standards. For the full +technical specification, please refer to the +standard [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Introduction + +This document provides developers with resources to accelerate the development of apps and services. + +## Capabilities of a DCM application + +[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] describes the following capabilities: + +|Capability|Category|Related Aspect Models|Related APIs| +|-|-|-|-| +|Providing and consuming demand data|Core|WeekBasedMaterialDemand|WeekBasedMaterialDemand API| +|Providing and consuming capacity data|Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Comparing demand and capacity data|Core|WeekBasedMaterialDemand
WeekBasedCapacityGroup|N/A| +|Demand volatility metrics|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Simulated delta production|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Load factors|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Digital twins|Extended|WeekBasedMaterialDemand
WeekBasedCapacity Group|DCM Asset Administration Shell API| +|Request for update|Extended|IdBasedRequestForUpdate|IdBasedRequestForUpdate AP| +|Comments|Extended|IdBasedComment|IdBasedComment API| +|Supply chain disruption notifications|Extended|demandAndCapacityNotification|DemandAndCapacityNotification API| + +- Core capabilities are mandatory within the standard. +- Outer core capabilities share APIs and aspect models with core capabilities, but are optional. +- Extended capabilities introduce aspect models or APIs beyond the core and are optional. + +A MVP approach can be followed when developing software, implementing CX-0128, by taking care of core capabilities first, followed by outer core and finishing with extended capabilities. + +## Roles and rights of a DCM application + +[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] describes the business roles customer and supplier. In addition an admin role might be a sensible addition to any application. Most companies within a supply chain will have need of both business roles. Individual users within a company might need access to both business roles. + +|Role|Capabilities| +|-|-| +|Customer| - Modify WeekBasedMaterialDemand
- Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup
- Utilize comments
- Utilize supply chain disruption notification| +|Supplier| - Modify WeekBasedCapacityGroup
- Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup
- Link WeekBasedMaterialDemand to WeekBasedCapacityGroup
- Utilize comments
- Utilize supply chain disruption notification| +|Admin| - Configure Request for update| + +## Aspect models utilized by a DCM application + +- [WeekBasedMaterialDemand](./model-material-demand.md) +- [WeekBasedCapacityGroup](./model-capacity-group.md) +- [IdBasedRequestForUpdate](./model-rfu.md) +- [IdBasedComment](./model-comment.md) + +## Application Programming Interfaces + +### APIs as data assets + +The data consumer registers one data-asset per API with its own EDC. Those data-assets need a `dataAddress` with a `baseURL` pointing to the URI of the API endpoint. The same `dataAddress` needs to be setup to use the consumers EDC as a proxy, utilizing the different proxy related properties within the `dataAddress` object. + +#### Asset example + +```json +{ + "@id": "capacitygroup-prod", + "@type": "Asset", + "properties": { + "http://purl.org/dc/terms/type": { + "@id": "https://w3id.org/catenax/taxonomy#DcmWeekBasedCapacityGroup" + }, + "https://w3id.org/catenax/ontology/common#version": "2.0", + "id": "capacitygroup-prod" + }, + "dataAddress": { + "@type": "DataAddress", + "proxyPath": "false", + "oauth2:clientId": {{clientID}}, + "oauth2:tokenUrl": {{tokenUrl}}, + "type": "HttpData", + "proxyMethod": "true", + "oauth2:clientSecretKey": "dcm-api-client-secret", + "oauth2:scope": "roles", + "proxyQueryParams": "true", + "proxyBody": "true", + "baseUrl": "https://myDCMapp.mycompany.com/catx/apis/weekbasedcapacitygroup" + }, +``` + +### Data exchange + +The data provider is required to use HTTP POST to call the API in order to transfer the data. The POST request has to contain a messageHeader and can contain multiple information objects, with information objects being the different aspect models. Because one API is dedicated to one aspect models mixing different aspect models into the same payload as information objects will result in a malformed payload. + +#### Payload structure + +```json +{ + "messageHeader": + , + + "content":{ + "informationObject":[ + , + + ] + } +} +``` + +This format ensures that the header, which contains metadata about the message, is kept separate from the content, which includes the actual data being exchanged. The content section can hold multiple `informationObject` entries. These objects can be one of the following types: `WeekBasedMaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedComment` or `IdBasedRequestForUpdate`. + +The master reference for generating additional file formats and serializations is the RDF turtle file, which is an instance of the Semantic Aspect Meta Model. The RDF turtle file for the `messageHeaderObject` is defined in a centralized shared aspect model and can be accessed at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/3.0.0/MessageHeaderAspect.ttl +``` + +Within the RDF turtle file, you will find detailed descriptions for how to use the message header. + +For further information on the APIs and how to use them in order to facilitate data exchange, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] and [CX-0018 Dataspace Connectivity][StandardLibrary] + +## APIs utilized by a DCM application + +- [WeekBasedMaterialDemand API](./api-material-demand.md) +- [WeekBasedCapacityGroup API](./api-capacity-group.md) +- [RequestForUpdate API](./api-rfu.md) +- [IdBasedComment API](./api-comment.md) +- [DCM Asset Administration Shell API (AAS API)](./api-aas.md) + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Testing a DCM application + +Having a well organized and documented testing of a DCM application is advantageous not only for the whole development process, but especially because test-runs can be used as proof for required certification of the application. + +It is recommended to compartmentalize tests into test-sets from which different user journeys can be built, depending on which specific capabilities are supposed to be tested by the user journey. Below you will find tests, test-sets and user journeys. Please be aware that they do not provide full coverage of the standard and depending on how you build your application you will need to expand on them. + +### List of Test-Sets + +|Test-Set|Description|Tests in test-set| +|--|--|--| +|[Customer: Prepare yourself](./test-customer#customer-prepare-yourself)|Prepares customer for the user journey, by setting up EDC, data assets, wallet, certificates etc.|- Setup EDC
- Register APIs as assets
- Check wallet for certificates
- Prepare variables for other tests
- User journey specific preparation| +|[Supplier: Prepare yourself](./test-supplier#supplier-prepare-yourself)|Prepares supplier for the user journey, by setting up EDC, data assets, wallet, certificates etc.|- Setup EDC
- Register APIs as assets
- Check wallet for certificates
- Prepare variables for other tests
- User journey specific preparation| +|[Customer: Create WeekBasedMaterialDemand](./test-customer#customer-create-weekbasedmaterialdemand)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Customer: Provide WeekBasedMaterialDemand](./test-customer#customer-provide-weekbasedmaterialdemand)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Supplier: Consume WeekBasedMaterialDemand](./test-supplier#supplier-consume-weekbasedmaterialdemand)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Supplier: Create WeekBasedCapacityGroup](./test-supplier#supplier-create-weekbasedcapacitygroup)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Supplier: Provide WeekBasedCapacityGroup](./test-supplier#supplier-provide-weekbasedcapacitygroup)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Customer: Consume WeekBasedCapacityGroup](./test-customer#customer-consume-weekbasedcapacitygroup)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Customer: Visualize CapacityGroup together with MaterialDemand](./test-customer#customer-visualize-capacitygroup-together-with-materialdemand)|Minor user acceptance test|- Bottleneck calculation
- Surplus calculation
- Zero deviation calculation
- User journey specific calculation| +|[Supplier: Visualize CapacityGroup together with MaterialDemand](./test-supplier#supplier-visualize-capacitygroup-together-with-materialdemand)|Minor user acceptance test|- Bottleneck calculation
- Surplus calculation
- Zero deviation calculation
- User journey specific calculation| +|[Customer: Create IdBasedRequestForUpdate](./test-customer#customer-create-idbasedrequestforupdate)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Customer: Provide IdBasedRequestForUpdate](./test-customer#customer-provide-idbasedrequestforupdate)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Supplier: Consume IdBasedRequestForUpdate](./test-supplier#supplier-consume-idbasedrequestforupdate)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Supplier: Create IdBasedRequestForUpdate](./test-supplier#supplier-create-idbasedrequestforupdate)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Supplier: Provide IdBasedRequestForUpdate](./test-supplier#supplier-provide-idbasedrequestforupdate)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Customer: Consume IdBasedRequestForUpdate](./test-customer#customer-consume-idbasedrequestforupdate)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Customer: Create IdBasedComment](./test-customer#customer-create-idbasedcomment)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Customer: Provide IdBasedComment](./test-customer#customer-provide-idbasedcomment)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Supplier: Consume IdBasedComment](./test-supplier#supplier-consume-idbasedcomment)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Supplier: Create IdBasedComment](./test-supplier#supplier-create-idbasedcomment)|Tests the implementation of the aspect model|- Create valid aspect model
- Create invalid aspect model
- Create user journey specific aspect model| +|[Supplier: Provide IdBasedComment](./test-supplier#supplier-provide-idbasedcomment)|Tests communication via EDC|- Provide valid payload
- Provide invalid payload
- Provide user journey specific payload| +|[Customer: Consume IdBasedComment](./test-customer#customer-consume-idbasedcomment)|Tests the implementation of the API and the aspect model|- Consume valid payload
- Consume invalid payload
- Consume user journey specific payload| +|[Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand](./test-customer#customer-visualize-idbasedcomment-together-with-capacitygroup-and-materialdemand)|Minor user acceptance test|- Comment linked to WeekbasedCapacityGroup
- Comment linked to WeekbasedMaterialGroup
- Comment linked to IdBasedComment| +|[Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand](./test-supplier#supplier-visualize-idbasedcomment-together-with-capacitygroup-and-materialdemand)|Minor user acceptance test|- Comment linked to WeekbasedCapacityGroup
- Comment linked to WeekbasedMaterialGroup
- Comment linked to IdBasedComment| + +### List of User-Journeys + +|#|User Journey|Test-Sets|Tested Capabilities| +|--|--|--|--| +|1|Base journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand
- Customer: Provide IdBasedRequestForUpdate
- Supplier: Consume IdBasedRequestForUpdate
- Supplier: Provide IdBasedRequestForUpdate
- Customer: Consume IdBasedRequestForUpdate
- Customer: Create IdBasedComment
- Customer: Provide IdBasedComment
- Supplier: Consume IdBasedComment
- Supplier: Create IdBasedComment
- Supplier: Provide IdBasedComment
- Customer: Consume IdBasedComment
- Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand
- Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Request for update
- Comments| +|2|Demand volatility metrics journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Demand volatility metrics| +|3|Simulated delta production journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Simulated delta production| +|4|Load factors journey|- Customer: Prepare yourself
- Supplier: Prepare yourself
- Customer: Create WeekBasedMaterialDemand
- Customer: Provide WeekBasedMaterialDemand
- Supplier: Consume WeekBasedMaterialDemand
- Supplier: Create WeekBasedCapacityGroup
- Supplier: Provide WeekBasedCapacityGroup
- Customer: Consume WeekBasedCapacityGroup
- Customer: Visualize CapacityGroup together with MaterialDemand
- Supplier: Visualize CapacityGroup together with MaterialDemand|- Providing and consuming demand data
- Providing and consuming capacity data
- Comparing demand and capacity data
- Load factors| + +#### Base Journey + +``` mermaid +sequenceDiagram +actor c as Customer +actor s as Supplier +rect rgb(57,57,57) + note right of c: Prepare for E2E test + c->>c: Check EDC + c->>c: Check Data Assets + c->>c: Check Wallet + s->>s: Check EDC + s->>s: Check Data Assets + s->>s: Check Wallet +end +rect rgb(221,130,0) +autonumber 1 + note right of c: Transfer WeekBasedMaterialDemand + c->>s: FileTransfer ALPHA containing MaterialDemand ALPHA,BETA and GAMMA + s->>c: HTTP 200 OK + c->>s: FileTransfer BETA containing MaterialDemand DELTA + s->>c: HTTP 200 OK +end +rect rgb(128,149,0) + note right of c: Transfer WeekBasedCapacityGroup + s->>c: FileTransfer GAMMA containing CapacityGroup ALPHA and BETA + c->>s: HTTP 200 OK + s->>c: FileTransfer DELTA containing CapacityGroup GAMMA and DELTA + c->>s: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize bottleneck calculation + autonumber 9 + s->>s: Visualize bottleneck calculation +end +rect rgb(4,107,153) + note right of c: Transfer IdBasedRequestForUpdate + c->>s: FileTransfer EPSILON containing RequestForUpdate ALPHA + s->>c: HTTP 200 OK +end +rect rgb(128,149,0) + note right of c: React to Request for Update + s->>c: FileTransfer ETA containing CapacityGroup ALPHA + c->>s: HTTP 200 OK +end +rect rgb(4,107,153) + note right of c: Transfer IdBasedRequestForUpdate + s->>c: FileTransfer ZETA containing RequestForUpdate BETA + c->>s: HTTP 200 OK +end +rect rgb(221,130,0) + note right of c: React to Request for Update + c->>s: FileTransfer THETA containing MaterialDemand GAMMA + s->>c: HTTP 200 OK +end +rect rgb(4,107,153) + note right of c: Transfer IdBasedComment +c->>s: Filetransfer IOTA containing Comment ALPHA and BETA +s->>c: HTTP 200 OK +end +rect rgb(4,107,153) + note right of c: Transfer IdBasedComment +s->>c: Filetransfer KAPPA containing Comment GAMMA and DELTA +c->>s: HTTP 200 OK +end +rect rgb(57,57,57) + note right of c: GUI test + c->>c: Visualize Comment + autonumber 22 + s->>s: Visualize Comment +end +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 CatX Service GmbH +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx new file mode 100644 index 00000000000..678cb668e4b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-week-based-capacity-group +title: "Catena-X DCM Week Based Capacity Group" +description: "Open API documentation for the Catena-X DCM Week Based Capacity Group" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM Week Based Capacity Group + + + +Open API documentation for the Catena-X DCM Week Based Capacity Group + + + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx new file mode 100644 index 00000000000..2f24861c876 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx @@ -0,0 +1,99 @@ +--- +id: post-week-based-capacity-group +title: "postWeekBasedCapacityGroup" +description: "Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner." +sidebar_label: "postWeekBasedCapacityGroup" +hide_title: true +hide_table_of_contents: true +api: {"tags":["WeekBasedCapacityGroup"],"operationId":"postWeekBasedCapacityGroup","description":"Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the WeekBasedCapacityGroup with the message header data model in order to be compliant with the DCM standard for the exchange of a capacity groups.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"An entity made up of the weekly actual and maximum capacities for a specific customer in a given time period. A capacity group is used to compare demand and capacity data for one or several similar bundled materials in a defined unit of measure.","type":"object","properties":{"capacityGroupId":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"name":{"description":"Name of the capacity group.","type":"string"},"supplierLocations":{"description":"Set of BPNS indicating the supplier sites that will be fulfilling the demands associated with this capacity group.","type":"array","items":{"type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"uniqueItems":true},"customer":{"description":"The Business Partner Number (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"supplier":{"description":"The Business Partner Number (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"unitOfMeasure":{"description":"Unit of measurement for capacity quantities.","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:piece","unit:set","unit:pair","unit:page","unit:cycle","unit:kilowattHour","unit:gram","unit:kilogram","unit:tonneMetricTon","unit:tonUsOrShortTonUkorus","unit:ounceAvoirdupois","unit:pound","unit:metre","unit:centimetre","unit:kilometre","unit:inch","unit:foot","unit:yard","unit:squareCentimetre","unit:squareMetre","unit:squareInch","unit:squareFoot","unit:squareYard","unit:cubicCentimetre","unit:cubicMetre","unit:cubicInch","unit:cubicFoot","unit:cubicYard","unit:litre","unit:millilitre","unit:hectolitre","unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hourUnitOfTime","unit:day"]},"linkedDemandSeries":{"description":"Set of demand series assigned to this capacity group.","type":"array","items":{"description":"Encapsulates information used to reference a specific demand series.","type":"object","properties":{"materialNumberCustomer":{"description":"Material identifier as assigned by customer. This material number identifies the material (as planned) in the customer's database.","type":"string"},"materialNumberSupplier":{"description":"Material identifier as assigned by supplier. This material number identifies the material (as planned) in the supplier's database. Used as informational field only, not for assigning demand series to capacity groups.","type":"string"},"customerLocation":{"description":"The BPNS number of the site at which the customer needs the specified material for the referenced demand series.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"demandCategory":{"description":"Type of demand of the referenced demand series.","type":"object","oneOf":[{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["0001"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["A1S1"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["SR99"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OS01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["ED01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PO01"]}},"required":["demandCategoryCode"]}]},"loadFactor":{"description":"If existent, the load factor indicates that this material of the material demand collection takes a factor more or less intensity to produce.","type":"number"}},"required":["materialNumberCustomer","customerLocation","demandCategory"]},"uniqueItems":true},"capacities":{"description":"A time series with week-based granularity along a given time period containing the capacity values.","type":"array","items":{"description":"A supplier's realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity.","type":"object","properties":{"pointInTime":{"description":"ISO Calendar Week of the given time series entry. Must be given as date of the monday in the week.","type":"string","format":"date"},"actualCapacity":{"description":"The actual capacity is the realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"maximumCapacity":{"description":"The supplier maximum capacity is the maximal available output per calendar week and material for a specific customer in a specific unit of measure. The maximum capacity thereby restricts the flexible capacity, as the flexible capacity is obtained from the difference of a suppliers maximum capacity minus actual capacity.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"deltaProductionResult":{"description":"Delta related to the aggregated material demand after pre-/post production calculation the supplier wants to send to the customer. Can be positive and negative.","type":"number"},"agreedCapacity":{"description":"The agreed capacity of a supplier for a specific customer material(s) within a capacity group. The agreed capacity MUST NOT constitute a legal obligation to deliver.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false}},"required":["pointInTime","actualCapacity","maximumCapacity"]},"uniqueItems":true},"changedAt":{"description":"Point in time when the content (any property according to the data model) of the capacity group was changed, at the supplier, either by a human user or an automated process.","type":"string","format":"date-time"},"linkedCapacityGroups":{"description":"A set of capacity groups linked to this capacity group. This set contains all children capacity groups of the current capacity group in an unidirectional path.","type":"array","items":{"type":"string","description":"The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI.","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"uniqueItems":true},"unitOfMeasureIsOmitted":{"description":"Explicit indicator of whether the unit of measure is left out of the payload intentionally. If \"true\" it means the sending application sends demand values without unit of measure intentionally and the unit of measure MUST NOT be contained in the payload. If \"false\" a unit of measure MUST be supplied.","type":"boolean"},"demandVolatilityParameters":{"description":"The parameters to calibrate the measuring of demand volatility.","type":"object","properties":{"startReferenceDateTime":{"description":"Point in time when the measurement starts on supplier side. It needs to be a point in time after the receival of active flag.\nThis point in time marks the beginning of the first reporting interval. It is also the time of the first week for the rolling sub horizons for alert generation.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"measurementInterval":{"description":"Indicates the length of intervals in weeks.\nThe first interval starts with the point in time given by the “startReferenceDateTime”. The second interval starts [Value] week (s) after this. And so on.","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"rollingHorizonAlertThresholds":{"description":"Contains the Parameters that define subhorizons in sequence and length to enable different alert thresholds (per week) over time.\nThe total length of the DCM horizon is 104 weeks. It can be split into subhorizons.","type":"array","items":{"description":"Encapsulation of the rolling horizons thresholds parameters.","type":"object","properties":{"sequenceNumber":{"description":"Sequence number of the subhorizon \n(positive int values)","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"subhorizonLength":{"description":"Length of the subhorizon in weeks. (Value must be >= 1) As a subhorizon can not be shorter than one week.","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"relativePositiveDeviation":{"description":"Relative positive deviation threshold which triggers an alert; 20% = 0,2","type":"number"},"relativeNegativeDeviation":{"description":"Relative negative deviation threshold which triggers an alert; -30% = 0,3","type":"number","maximum":1,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"absolutePositiveDeviation":{"description":"Absolute positive deviation threshold which triggers an alert; 100 (units) = 100","type":"number"},"absoluteNegativeDeviation":{"description":"Absolute negative deviation threshold which triggers an alert; 100 (units) = 100","type":"number"}},"required":["sequenceNumber","subhorizonLength"]},"uniqueItems":true}},"required":["startReferenceDateTime","measurementInterval"]},"capacityGroupIsInactive":{"description":"Indicates that this capacity group is currently not in use/maintained by the supplier.","type":"boolean"}},"required":["capacityGroupId","name","customer","supplier","changedAt","unitOfMeasureIsOmitted","capacityGroupIsInactive"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-week-based-capacity-group-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"capacityGroupId":"string","name":"string","supplierLocations":["string"],"customer":"string","supplier":"string","unitOfMeasure":"unit:piece","linkedDemandSeries":[{"materialNumberCustomer":"string","materialNumberSupplier":"string","customerLocation":"string","demandCategory":{"demandCategoryCode":"0001"},"loadFactor":0}],"capacities":[{"pointInTime":"2024-07-08","actualCapacity":0,"maximumCapacity":0,"deltaProductionResult":0,"agreedCapacity":0}],"changedAt":"2024-07-08","linkedCapacityGroups":["string"],"unitOfMeasureIsOmitted":true,"demandVolatilityParameters":{"startReferenceDateTime":"string","measurementInterval":0,"rollingHorizonAlertThresholds":[{"sequenceNumber":0,"subhorizonLength":0,"relativePositiveDeviation":0,"relativeNegativeDeviation":0,"absolutePositiveDeviation":0,"absoluteNegativeDeviation":0}]},"capacityGroupIsInactive":true}]}},"info":{"title":"Catena-X DCM Week Based Capacity Group","description":"Open API documentation for the Catena-X DCM Week Based Capacity Group","version":"3.0.0"},"postman":{"name":"post Week Based Capacity Group","description":{"content":"Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-week-based-capacity-group-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postWeekBasedCapacityGroup + + + +Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner. + +
Request Body
    messageHeader object
    + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
    header object required
    + +Contains standardized attributes for message processing common across several use cases. + +
    :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
    content object
    + +Bundles all business objects in this property. + +
    informationObject object[]
    + +Property to collect all transferred business objects. + +
    linkedDemandSeries object[]
    + +Set of demand series assigned to this capacity group. + +
    demandCategory object required
    + +Type of demand of the referenced demand series. + +
    oneOf
    capacities object[]
    + +A time series with week-based granularity along a given time period containing the capacity values. + +
    demandVolatilityParameters object
    + +The parameters to calibrate the measuring of demand volatility. + +
    = 1` and `<= 999`"} defaultValue={undefined}>
    rollingHorizonAlertThresholds object[]
    + +Contains the Parameters that define subhorizons in sequence and length to enable different alert thresholds (per week) over time. +The total length of the DCM horizon is 104 weeks. It can be split into subhorizons. + +
    = 1` and `<= 999`"} defaultValue={undefined}>= 1) As a subhorizon can not be shorter than one week."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 999`"} defaultValue={undefined}>
    + +OK + +
    + +Created + +
    + +Bad request + +
    + +Unauthorized + +
    + +Forbidden + +
    + +Method not allowed + +
    + +Unprocessable Entity + +
    + +Service Unavailable + +
    + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js new file mode 100644 index 00000000000..74803bfdf48 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group"},{"type":"category","label":"WeekBasedCapacityGroup","link":{"type":"generated-index","title":"WeekBasedCapacityGroup","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/week-based-capacity-group"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group","label":"postWeekBasedCapacityGroup","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx new file mode 100644 index 00000000000..5480a071086 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-id-based-comment +title: "Catena-X DCM Id Based Comment" +description: "Open API documentation for the Catena-X DCM Id Based Comment" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 1.0.0 + +# Catena-X DCM Id Based Comment + + + +Open API documentation for the Catena-X DCM Id Based Comment + + + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx new file mode 100644 index 00000000000..46490b27ba2 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx @@ -0,0 +1,82 @@ +--- +id: post-id-based-comment +title: "postIdBasedComment" +description: "Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner." +sidebar_label: "postIdBasedComment" +hide_title: true +hide_table_of_contents: true +api: {"tags":["IdBasedComment"],"operationId":"postIdBasedComment","description":"Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the IdBasedComment with the message header data model in order to be compliant with the DCM standard for the exchange of a comment.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"Aspect model for an exchange of comment belonging to a entity.","type":"object","properties":{"commentId":{"description":"The Comment ID uniquely identifies the entity within the business relationship between a customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"objectId":{"description":"The ID of the object to which the comment belongs.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"author":{"description":"The E-Mail address of the creator who wrote the comment. In case comment creator wants to stay anonymous, show BPNL in app which is sent the comment along.","type":"string"},"postedAt":{"description":"Point in time when the comment was created.","type":"string","format":"date-time"},"changedAt":{"description":"Point in time when the comment was last changed.","type":"string","format":"date-time"},"commentText":{"description":"Text up to 5.000 characters in format \"UTF-8\" will be shared.","type":"string","pattern":"^[\\s\\S]{0,5000}$"},"commentType":{"description":"Type of a comment to indicate a priority.","type":"string","enum":["information","warning","default","actionRequired"]},"requestDelete":{"description":"Indicates that the deletion of the comment is requested by sender incl. all of it's history.","type":"boolean"},"listOfReferenceDates":{"description":"Point in time the comment belongs to.","type":"array","items":{"type":"string","format":"date"},"uniqueItems":true},"objectType":{"description":"Aspect Model which the comment refers to. The value MUST consist of the Catena-X aspect model unique identifier of the referenced data model without a version.","type":"string"},"customer":{"description":"The Business Partner Number Legal Entity (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"supplier":{"description":"The Business Partner Number Legal Entity (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"}},"required":["commentId","objectId","objectType","customer","supplier"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"501":{"description":"Not Implemented"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-id-based-comment-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"commentId":"string","objectId":"string","author":"string","postedAt":"2024-07-08","changedAt":"2024-07-08","commentText":"string","commentType":"information","requestDelete":true,"listOfReferenceDates":["2024-07-08"],"objectType":"string","customer":"string","supplier":"string"}]}},"info":{"title":"Catena-X DCM Id Based Comment","description":"Open API documentation for the Catena-X DCM Id Based Comment","version":"1.0.0"},"postman":{"name":"post Id Based Comment","description":{"content":"Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-id-based-comment-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postIdBasedComment + + + +Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner. + +
    Request Body
      messageHeader object
      + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
      header object required
      + +Contains standardized attributes for message processing common across several use cases. + +
      :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
      content object
      + +Bundles all business objects in this property. + +
      informationObject object[]
      + +Property to collect all transferred business objects. + +
      + +OK + +
      + +Created + +
      + +Bad request + +
      + +Unauthorized + +
      + +Forbidden + +
      + +Method not allowed + +
      + +Unprocessable Entity + +
      + +Not Implemented + +
      + +Service Unavailable + +
      + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js new file mode 100644 index 00000000000..1a307acd439 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment"},{"type":"category","label":"IdBasedComment","link":{"type":"generated-index","title":"IdBasedComment","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/id-based-comment"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment","label":"postIdBasedComment","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx new file mode 100644 index 00000000000..a74f9aaadfc --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-week-based-material-demand +title: "Catena-X DCM Week Based Material Demand" +description: "Open API documentation for the Catena-X DCM Week Based Material Demand" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM Week Based Material Demand + + + +Open API documentation for the Catena-X DCM Week Based Material Demand + + + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx new file mode 100644 index 00000000000..192fa5ef30f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx @@ -0,0 +1,90 @@ +--- +id: post-week-based-material-demand +title: "postWeekBasedMaterialDemand" +description: "Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner." +sidebar_label: "postWeekBasedMaterialDemand" +hide_title: true +hide_table_of_contents: true +api: {"tags":["WeekBasedMaterialDemand"],"operationId":"postWeekBasedMaterialDemand","description":"Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the WeekBasedMaterialDemand with the message header data model in order to be compliant with the DCM standard for the exchange of a material demand.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"The requirements of a customer towards a specific supplier for a specific material. Each material demand is unique by its Customer, Supplier and Material Number.","type":"object","properties":{"materialDemandId":{"description":"The Material Demand ID uniquely identifies the material demand within the business relationship between a customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"demandSeries":{"description":"The demands for a dedicated material in a given time period of a given demand rate, distinguished by their demand location and demand category.","type":"array","items":{"description":"Encapsulates the demand series related information.","type":"object","properties":{"customerLocation":{"description":"The Business Partner Number Site (BPNS) of the site at which the customer needs the specified material for this demand series.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"demandCategory":{"description":"Type of demand for this demand series.","type":"object","oneOf":[{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["0001"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["A1S1"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["SR99"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OS01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["ED01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PO01"]}},"required":["demandCategoryCode"]}]},"demands":{"description":"A time series with a specified demand rate along a given time period to describe the demand values for this demand series.","type":"array","items":{"description":"A single demand for a given point in time according to the demand rate.","type":"object","properties":{"demand":{"description":" Quantity of materials required in the specified point in time according specified demand rate. This demand should be as close as possible to demand that is derived from the actual production program.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"pointInTime":{"description":"Defines the start of the demand rate as a point in time. The point in time must be interpreted according to the demand rate.","type":"string","format":"date"}},"required":["demand","pointInTime"]},"uniqueItems":true},"expectedSupplierLocation":{"description":"The Business Partner Number Site (BPNS) of the site from where the customer expects the supplier to fulfill the demands of the demand series. The value is used for informational purposes only and is therefore not binding for the supplier.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"}},"required":["customerLocation","demandCategory","demands"]},"uniqueItems":true},"customer":{"description":"The Business Partner Number Legal Entity (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"supplier":{"description":"The Business Partner Number Legal Entity (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"unitOfMeasure":{"description":"Unit of measurement for demand quantities.","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:piece","unit:set","unit:pair","unit:page","unit:cycle","unit:kilowattHour","unit:gram","unit:kilogram","unit:tonneMetricTon","unit:tonUsOrShortTonUkorus","unit:ounceAvoirdupois","unit:pound","unit:metre","unit:centimetre","unit:kilometre","unit:inch","unit:foot","unit:yard","unit:squareCentimetre","unit:squareMetre","unit:squareInch","unit:squareFoot","unit:squareYard","unit:cubicCentimetre","unit:cubicMetre","unit:cubicInch","unit:cubicFoot","unit:cubicYard","unit:litre","unit:millilitre","unit:hectolitre","unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hourUnitOfTime","unit:day"]},"materialNumberCustomer":{"description":"Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. Must be unique for each Material Demand in the customer-supplier relationship.","type":"string"},"materialNumberSupplier":{"description":"Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database.","type":"string"},"materialDescriptionCustomer":{"description":"Description of the material.","type":"string"},"changedAt":{"description":"Point in time when the content (any property according to the data model) of the material demand was changed, at the customer, either by a human user or an automated process.","type":"string","format":"date-time"},"materialGlobalAssetId":{"description":"Identifier used uniquely to identify part type twin.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"unitOfMeasureIsOmitted":{"description":"Explicit indicator of whether the unit of measure is left out of the payload intentionally. If \"true\" it means the sending application sends demand values without unit of measure intentionally and the unit of measure MUST NOT be contained in the payload. If \"false\" a unit of measure MUST be supplied.","type":"boolean"},"materialDemandIsInactive":{"description":"Indicates that this material demand is currently not in use/maintained by the supplier.","type":"boolean"}},"required":["materialDemandId","demandSeries","customer","supplier","materialNumberCustomer","materialDescriptionCustomer","changedAt","unitOfMeasureIsOmitted","materialDemandIsInactive"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-week-based-material-demand-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"materialDemandId":"string","demandSeries":[{"customerLocation":"string","demandCategory":{"demandCategoryCode":"0001"},"demands":[{"demand":0,"pointInTime":"2024-07-08"}],"expectedSupplierLocation":"string"}],"customer":"string","supplier":"string","unitOfMeasure":"unit:piece","materialNumberCustomer":"string","materialNumberSupplier":"string","materialDescriptionCustomer":"string","changedAt":"2024-07-08","materialGlobalAssetId":"string","unitOfMeasureIsOmitted":true,"materialDemandIsInactive":true}]}},"info":{"title":"Catena-X DCM Week Based Material Demand","description":"Open API documentation for the Catena-X DCM Week Based Material Demand","version":"3.0.0"},"postman":{"name":"post Week Based Material Demand","description":{"content":"Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-week-based-material-demand-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postWeekBasedMaterialDemand + + + +Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner. + +
      Request Body
        messageHeader object
        + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
        header object required
        + +Contains standardized attributes for message processing common across several use cases. + +
        :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
        content object
        + +Bundles all business objects in this property. + +
        informationObject object[]
        + +Property to collect all transferred business objects. + +
        demandSeries object[] required
        + +The demands for a dedicated material in a given time period of a given demand rate, distinguished by their demand location and demand category. + +
        demandCategory object required
        + +Type of demand for this demand series. + +
        oneOf
        demands object[] required
        + +A time series with a specified demand rate along a given time period to describe the demand values for this demand series. + +
        + +OK + +
        + +Created + +
        + +Bad request + +
        + +Unauthorized + +
        + +Forbidden + +
        + +Method not allowed + +
        + +Unprocessable Entity + +
        + +Service Unavailable + +
        + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js new file mode 100644 index 00000000000..e13f56ff04b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand"},{"type":"category","label":"WeekBasedMaterialDemand","link":{"type":"generated-index","title":"WeekBasedMaterialDemand","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/week-based-material-demand"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand","label":"postWeekBasedMaterialDemand","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx new file mode 100644 index 00000000000..226288017c8 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-id-based-request-for-update +title: "Catena-X DCM ID Based Request For Update" +description: "Open API documentation for the Catena-X DCM ID Based Request For Update" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM ID Based Request For Update + + + +Open API documentation for the Catena-X DCM ID Based Request For Update + + + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx new file mode 100644 index 00000000000..29729a6006f --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx @@ -0,0 +1,84 @@ +--- +id: post-id-based-request-for-update +title: "postIdBasedRequestForUpdate" +description: "Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner." +sidebar_label: "postIdBasedRequestForUpdate" +hide_title: true +hide_table_of_contents: true +api: {"tags":["IdBasedRequestForUpdate"],"operationId":"postIdBasedRequestForUpdate","description":"Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the IdBasedRequestForUpdate with the message header data model in order to be compliant with the DCM standard for the exchange of a request for update.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"The requirements for a request for update from another Catena-X Partner of a specific entity.\nIf within the payload, no specific object type is defined (Payload empty), than an update of all objects within the sender receiver relation is requested).","type":"object","properties":{"weekBasedMaterialDemand":{"description":"Material demands the supplier requests an update for.\nIf within the array, no specific ID (array empty), than an update of all IDs is requested).","type":"array","items":{"description":"Encapsulates the information that is necessary for an update request.","type":"object","properties":{"materialDemandId":{"description":"The Material Demand ID uniquely identifies the material demand the supplier requests an update for within the business relationship between the customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"changedAt":{"description":"Point in time of the last update known to the requesting business partner. If the requested entity has been changed more recently, the requested party should resend the data. If the changedAt property is not given, the latest entity should be send without precondition.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["materialDemandId"]},"uniqueItems":true},"weekBasedCapacityGroup":{"description":"Capacity groups the customer requests an update for.\nIf within the array, no specific ID (array empty), than an update of all IDs is requested).","type":"array","items":{"description":"Encapsulates the information that is necessary for an update request.","type":"object","properties":{"capacityGroupId":{"description":"The Capacity Group ID uniquely identifies the capacity group the supplier requests an update for within the business relationship between the supplier and its customer.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"changedAt":{"description":"Point in time of the last update known to the requesting business partner. If the requested entity has been changed more recently, the requested party should resend the data. If the changedAt property is not given, the latest entity should be send without precondition.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["capacityGroupId"]},"uniqueItems":true}}},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-id-based-request-for-update-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"weekBasedMaterialDemand":[{"materialDemandId":"string","changedAt":"string"}],"weekBasedCapacityGroup":[{"capacityGroupId":"string","changedAt":"string"}]}]}},"info":{"title":"Catena-X DCM ID Based Request For Update","description":"Open API documentation for the Catena-X DCM ID Based Request For Update","version":"3.0.0"},"postman":{"name":"post Id Based Request For Update","description":{"content":"Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-id-based-request-for-update-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postIdBasedRequestForUpdate + + + +Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner. + +
        Request Body
          messageHeader object
          + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
          header object required
          + +Contains standardized attributes for message processing common across several use cases. + +
          :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
          content object
          + +Bundles all business objects in this property. + +
          informationObject object[]
          + +Property to collect all transferred business objects. + +
          weekBasedMaterialDemand object[]
          + +Material demands the supplier requests an update for. +If within the array, no specific ID (array empty), than an update of all IDs is requested). + +
          weekBasedCapacityGroup object[]
          + +Capacity groups the customer requests an update for. +If within the array, no specific ID (array empty), than an update of all IDs is requested). + +
          + +OK + +
          + +Bad request + +
          + +Unauthorized + +
          + +Forbidden + +
          + +Method not allowed + +
          + +Unprocessable Entity + +
          + +Service Unavailable + +
          + \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js new file mode 100644 index 00000000000..4355d7abfd0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update"},{"type":"category","label":"IdBasedRequestForUpdate","link":{"type":"generated-index","title":"IdBasedRequestForUpdate","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/id-based-request-for-update"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update","label":"postIdBasedRequestForUpdate","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg new file mode 100644 index 00000000000..6b019f02fc6 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg @@ -0,0 +1,3 @@ + + +
          Capacity data (mandatory)
          Capacity data (optional)
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg new file mode 100644 index 00000000000..415ce5ec62b --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg @@ -0,0 +1,3 @@ + + +
          WeekBasedCapacityGroup
          Supplier
          Customer
          CapacityGroupID
          changedAt
          Calendar Week
          Inactive flag
          UnitOfMeasure
          CapacityGroupName
          ActualCapacity
          MaximumCapacity
          AgreedCapacity
          quantity
          quantity
          quantity
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg new file mode 100644 index 00000000000..dcf7090ef1d --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg @@ -0,0 +1,3 @@ + + +
          Comment data (mandatory)
          Comment data (optional)
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg new file mode 100644 index 00000000000..c17c417a662 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg @@ -0,0 +1,3 @@ + + +
          IdBasedComment
          listOfReferenceDates
          commentType
          commentText
          requestDelete
          objectId
          objectType
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg new file mode 100644 index 00000000000..2c2ecc0f6c0 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg @@ -0,0 +1,3 @@ + + +
          Demand data (mandatory)
          Demand data (optional)
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg new file mode 100644 index 00000000000..6af1f5d1520 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg @@ -0,0 +1,3 @@ + + +
          WeekBasedMaterialDemand
          Supplier
          Customer
          changedAt
          DemandSeries
          MaterialDescriptionCustomer
          MaterialNumberCustomer
          MaterialDemandID
          MaterialNumberCustomer
          DemandCategory
          CustomerLocation
          InactiveFlag
          UnitOfMeasure
          PointInTime
          DemandQuantity
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg new file mode 100644 index 00000000000..d15b733b626 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg @@ -0,0 +1,3 @@ + + +
          Request for Update data (mandatory)
          Request for Update data (optional)
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg new file mode 100644 index 00000000000..5141acd8fb4 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg @@ -0,0 +1,3 @@ + + +
          RequestforUpdate
          WeekBasedMaterialDemand
          WeekBasedCapacityGroup
          changedAt
          MaterialDemandID
          changedAt
          CapacityGroupID
          \ No newline at end of file diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license new file mode 100644 index 00000000000..1dae35e9e20 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md new file mode 100644 index 00000000000..85a89215d69 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-customer.md @@ -0,0 +1,972 @@ +--- +id: test-customer +title: Test - Customer +description: 'Tests relevant for the business role customer.' +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Introduction + +This page lists tests that can be executed by the business role customer. + +They are written in [Gherkin](https://cucumber.io/docs/gherkin/). + +For an overview of these tests you should visit [Testing a DCM application](./overview.md#testing-a-dcm-application) within the Development View of this KIT. + +## Customer: Prepare yourself + +### Setup EDC + +This test ensures that the customer sets up its EDC. + +```cucumber +Feature: Customer: Prepare yourself + +Scenario: Setup EDC + Given I have joined the Catena-X dataspace and want to execute DCM tests + When I check whether I have setup my EDC or not + Then I should confirm that I have setup my EDC in the correct version successfully +``` + +### Register APIs as assets + +This test ensures that the customer registers its API endpoints as data assets with its own EDC. + +```cucumber +Feature: Customer: Prepare yourself + +Scenario Outline: Register APIs as assets + Given my EDC has been setup correctly + When I check the asset catalog of my own EDC + Then I should find an asset for the with the correct and + +Examples: +| API | taxonomy | version | +| WeekBasedCapacityGroup API | cx-taxo:DcmWeekBasedCapacityGroup | 2.0 | +| RequestForUpdate API | cx-taxo:DcmIdBasedRequestForUpdate | 2.0 | +| IdBasedComment API | cx-taxo:DcmIdBasedComment | 2.0 | +``` + +### Check wallet for certificates + +This test ensures that the customer has the necessary credentials in its wallet. + +```cucumber +Feature: Customer: Prepare yourself + +Scenario Outline: Check wallet for certificates + Given I have been successfully onboarded into the Catena-X dataspace + When I check my wallet + Then I should find a that corresponds to a + +Examples: +| credential | policy | +| BPN-restricted Data Usage | BPN-restricted Data Usage | +| Membership Credential | Membership Credential | +| DataExchangeGovernance:1.0 | DataExchangeGovernance:1.0 | +``` + +### Prepare variables for other tests + +This test ensures that the customer is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. + +```cucumber +Feature: Customer: Prepare yourself + + Scenario Outline: Prepare variables for other tests + Given I want to execute a that uses a I need to have a assigned to that makes sense in the context of the and use the value of the variable instead of its name when testing. + When the test gets executed + Then it should work as intended + +Examples: +| test | variable | value | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | BPNL_SUP | {Business Partner Number Legal (BPNL) of the company that acts as the business role Supplier in the context of the test execution e.g. BPNL00000000052O } | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | BPNL_CUS | {Use your own Business Partner Number Legal (BPNL) e.g. BPNL000000000JS9} | +| Customer: Create WeekBasedMaterialDemand | BPNS_SUP1 | {A Business Partner Number Site (BPNS) of the company that acts as the business role Supplier in the context of the test execution } | +| Customer: Create WeekBasedMaterialDemand | BPNS_CUS1 | {Use one of your own Business Partner Number Site (BPNS)} | +| Customer: Create WeekBasedMaterialDemand | BPNS_CUS2 | {Use one of your own Business Partner Number Site (BPNS)} | +| Customer: Create WeekBasedMaterialDemand | BPNS_CUS3 | {Use one of your own Business Partner Number Site (BPNS)} | +| Customer: Create WeekBasedMaterialDemand | DSC_MAT1 | {Description of the material e.g. spark plug} | +| Customer: Create WeekBasedMaterialDemand | DSC_MAT2 | {Description of the material e.g. spark plug} | +| Customer: Create WeekBasedMaterialDemand | DSC_MAT3 | {Description of the material e.g. spark plug} | +| Customer: Create WeekBasedMaterialDemand | UUID_MD1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | UUID_MD2 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | UUID_MD3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand | UUID_GA1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand | UUID_GA2 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand | UUID_GA3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create WeekBasedMaterialDemand | UUID_GA4 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create IdBasedComment | UUID_COM1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create IdBasedComment | UUID_COM3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Customer: Create IdBasedRequestForUpdate | UUID_CG1 | {UUIDv4 that gets generated by the supplier. Known to the customer as soon as consuming the corresponding WeekBasedCapacityGroup.} | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment | TS_NOW | {Timestamp that represents the system time when the corresponding aspect model gets created e.g. 2023-11-05T08:15:30.123-05:00} | +| Customer: Create WeekBasedMaterialDemand, Customer: Create IdBasedComment, Customer: Create IdBasedRequestForUpdate | OMITTED | {Special case where you do not include the property in the data at all. You do not even mention it.} | +``` + +### Prepare for base journey + +This test ensures that the customer is aware of the sequence of communication and naming conventions within the base journey. + +```cucumber +Feature: Customer: Prepare yourself + + Scenario Outline: Prepare for base journey + Given I want to execute the base journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the base journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey | +| MD_beta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey, Calculation for base journey | +| MD_gamma | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha and Theta | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey, Calculation for base journey, Consume IdBasedRequestForUpdate for base journey | +| MD_delta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Beta | Create WeekBasedMaterialDemand for base journey, Provide WeekBasedMaterialDemand for base journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma and Eta | Consume WeekBasedCapacityGroup for base journey, Provide IdBasedRequestForUpdate for base journey | +| CG_beta | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma | Consume WeekBasedCapacityGroup for base journey, Calculation for base journey | +| CG_gamma | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Delta | Consume WeekBasedCapacityGroup for base journey | +| CG_delta | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Delta | Consume WeekBasedCapacityGroup for base journey | +| RU_alpha | An IdBasedRequestForUpdate created by the customer and transmitted via Filetransfer Epsilon | Create IdBasedRequestForUpdate for base journey, Provide IdBasedRequestForUpdate for base journey | +| RU_beta | An IdBasedRequestForUpdate created by the supplier and transmitted via Filetransfer Zeta | Consume IdBasedRequestForUpdate for base journey | +| CT_alpha | An IdBasedComment created by the customer and transmitted via Filetransfer Iota | Create IdBasedComment for base journey, Provide IdBasedComment for base journey | +| CT_beta | An IdBasedComment created by the customer and transmitted via Filetransfer Iota | Create IdBasedComment for base journey, Provide IdBasedComment for base journey | +| CT_gamma | An IdBasedComment created by the supplier and transmitted via Filetransfer Kappa | Consume IdBasedComment for base journey | +| CT_delta | An IdBasedComment created by the supplier and transmitted via Filetransfer Kappa | Consume IdBasedComment for base journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for base journey | +| FT_beta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide WeekBasedMaterialDemand for base journey | +| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for base journey | +| FT_delta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume WeekBasedCapacityGroup for base journey | +| FT_epsilon | A Filetransfer providing IdBasedRequestForUpdate for the supplier to consume | Provide IdBasedRequestForUpdate for base journey | +| FT_eta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide IdBasedRequestForUpdate for base journey | +| FT_zeta | A Filetransfer providing IdBasedRequestForUpdate for the customer to consume | Consume IdBasedRequestForUpdate for base journey | +| FT_theta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume IdBasedRequestForUpdate for base journey | +| FT_iota | A Filetransfer providing IdBasedComment for the supplier to consume | Provide IdBasedComment for base journey | +| FT_kappa | A Filetransfer providing IdBasedComment for the customer to consume | Consume IdBasedComment for base journey | +``` + +## Customer: Create WeekBasedMaterialDemand + +### Create valid WeekBasedMaterialDemand + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate valid WeekBasedMaterialDemand + Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "materialDemandIsInactive" is with a default value of "false" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "materialDescriptionCustomer" is with a default value of "Spark Plug" + * the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "demandSeries" contains exactly one entity "DemandSeries" + * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "demands" contains exactly one entity "Demand" + * the value for the property "pointInTime" is with a default value of "2023-10-09" + * the value for the property "demand" is with a default value of "1000" + When the application tries to generate the WeekBasedMaterialDemand + Then it should generate the WeekBasedMaterialDemand + +Examples: +| v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | +| {{OMITTED}} | | | true | | | | | | | | | | | | | +| | | | false | | | | | | | | | | | | | +| unit:gram | | | | | | | | | | | | | | | | +| unit:kilogram | | | | | | | | | | | | | | | | +| unit:tonneMetricTon | | | | | | | | | | | | | | | | +| unit:tonUsOrShortTonUkorus | | | | | | | | | | | | | | | | +| unit:ounceAvoirdupois | | | | | | | | | | | | | | | | +| unit:pound | | | | | | | | | | | | | | | | +| unit:centimetre | | | | | | | | | | | | | | | | +| unit:metre | | | | | | | | | | | | | | | | +| unit:kilometre | | | | | | | | | | | | | | | | +| unit:inch | | | | | | | | | | | | | | | | +| unit:foot | | | | | | | | | | | | | | | | +| unit:yard | | | | | | | | | | | | | | | | +| unit:squareCentimetre | | | | | | | | | | | | | | | | +| unit:squareMetre | | | | | | | | | | | | | | | | +| unit:squareInch | | | | | | | | | | | | | | | | +| unit:squareFoot | | | | | | | | | | | | | | | | +| unit:squareYard | | | | | | | | | | | | | | | | +| unit:cubicCentimetre | | | | | | | | | | | | | | | | +| unit:cubicMetre | | | | | | | | | | | | | | | | +| unit:cubicInch | | | | | | | | | | | | | | | | +| unit:cubicFoot | | | | | | | | | | | | | | | | +| unit:cubicYard | | | | | | | | | | | | | | | | +| unit:millilitre | | | | | | | | | | | | | | | | +| unit:litre | | | | | | | | | | | | | | | | +| unit:hectolitre | | | | | | | | | | | | | | | | +| unit:piece | | | | | | | | | | | | | | | | +| unit:set | | | | | | | | | | | | | | | | +| unit:pair | | | | | | | | | | | | | | | | +| unit:page | | | | | | | | | | | | | | | | +| unit:kilowattHour | | | | | | | | | | | | | | | | +| unit:secondUnitOfTime | | | | | | | | | | | | | | | | +| unit:minuteUnitOfTime | | | | | | | | | | | | | | | | +| unit:hourUnitOfTime | | | | | | | | | | | | | | | | +| unit:cycle | | | | | | | | | | | | | | | | +| | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | +| | | true | | | | | | | | | | | | | | +| | | false | | | | | | | | | | | | | | +| | | | true | | | | | | | | | | | | | +| | | | false | | | | | | | | | | | | | +| | | | | Hello world | | | | | | | | | | | | +| | | | | Καλημέρα κόσμε | | | | | | | | | | | | +| | | | | コンニチハ | | | | | | | | | | | | +| | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | +| | | | | | Hello world | | | | | | | | | | | +| | | | | | Καλημέρα κόσμε | | | | | | | | | | | +| | | | | | コンニチハ | | | | | | | | | | | +| | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | +| | | | | | | A materia| description_that mig#t cont§in sp3cial ch@r@cters | | | | | | | | | | +| | | | | | | | 857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | +| | | | | | | | urn:uuid:857e3c6f-f556-4ac4-a7cd-8f46ad03673f | | | | | | | | | +| | | | | | | | | e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | +| | | | | | | | | urn:e2a72ce8-45b6-4d5a-8854-2d6e0299d337 | | | | | | | | +| | | | | | | | | | | | | | SR99 | | | +| | | | | | | | | | | | | | ED01 | | | +| | | | | | | | | | | | | | A1S1 | | | +| | | | | | | | | | | | | | OI01 | | | +| | | | | | | | | | | | | | OS01 | | | +| | | | | | | | | | | | | | PI01 | | | +| | | | | | | | | | | | | | PO01 | | | +| | | | | | | | | | | | | | 0001 | | | +| | | | | | | | | | | | | | | 2024-09-02 | | +| | | | | | | | | | | | | | | 1930-01-06 | | +| | | | | | | | | | | | | | | 2119-12-25 | | +| | | | | | | | | | | | | | | | 0 | +| | | | | | | | | | | | | | | | 10000 | +| unit:kilowattHour | | | | | | | | | | | | | | | 999999999999.999 | +| unit:tonneMetricTon | | | | | | | | | | | | | | | 4.4 | +``` + +### Create invalid WeekBasedMaterialDemand + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate invalid WeekBasedMaterialDemand + Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "materialDemandIsInactive" is with a default value of "false" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "materialDescriptionCustomer" is with a default value of "Spark Plug" + * the value for the property "materialDemandId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "materialGlobalAssetId" is with a default value of "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "demandSeries" contains exactly one entity "DemandSeries" + * the value for the property "expectedSupplierLocation" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "demands" contains exactly one entity "Demand" + * the value for the property "pointInTime" is with a default value of "2023-10-09" + * the value for the property "demand" is with a default value of "1000" + When the application tries to generate the WeekBasedMaterialDemand + Then it should NOT generate the WeekBasedMaterialDemand and throw an instead + +Examples: +| v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | error | +| unit:cake list | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | +| | 22.04.2021 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | 2000-01-01T66:23:00.66372+14:00 | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | Wrong Format | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | | Maybe | | | | | | | | | | | | | | AspectModel Conformity Error: materialDemandIsInactive | +| | | | 2 | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | +| | | | | | | | This is not an UUID | | | | | | | | | AspectModel Conformity Error: materialDemandId | +| | | | | | | | | 4888d48-6f1d-47f5-8ded-a4410d879df | | | | | | | | AspectModel Conformity Error: materialGlobalAssetId | +| | | | | | | | | | This is not BPNL | | | | | | | AspectModel Conformity Error: supplier | +| | | | | | | | | | | This is not BPNL | | | | | | AspectModel Conformity Error: customer | +| | | | | | | | | | | | This is not BPNS | | | | | AspectModel Conformity Error: expectedSupplierLocation | +| | | | | | | | | | | | | This is not BPNS | | | | AspectModel Conformity Error: customerLocation | +| | | | | | | | | | | | | | Default | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | OSO1 | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | 0S01 | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | | | 22.04.2021 | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | 2022-04-22 | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | 5,5 | AspectModel Conformity Error: demand | +| | | | | | | | | | | | | | | | 9999999999999999999999 | AspectModel Conformity Error: demand | +| | | | | | | | | | | | | | | | -1 | AspectModel Conformity Error: demand | + +``` + +### Create WeekBasedMaterialDemand for base journey + +The customer creates four WeekBasedMaterialDemand used by the base journey. + +```cucumber +Feature: Customer: Create WeekBasedMaterialDemand + +Scenario Outline: Try to generate WeekBasedMaterialDemand for base journey using different + + Given the value for the property "unitOfMeasure" is + * the value for the property "changedAt" is + * the value for the property "materialDemandIsInactive" is + * the value for the property "unitOfMeasureIsOmitted" is + * the value for the property "materialNumberCustomer" is + * the value for the property "materialNumberSupplier" is + * the value for the property "materialDescriptionCustomer" is + * the value for the property "materialDemandId" is + * the value for the property "materialGlobalAssetId" is + * the value for the property "supplier" is + * the value for the property "customer" is + * the value for the property "demandSeries" contains exactly one Entity "DemandSeries" + * the value for the property "expectedSupplierLocation" is + * the value for the property "customerLocation" is + * the value for the property "demandCategoryCode" is + * the value for the property "demands" contains exactly one Entity "Demand" + * the value for the property "pointInTime" is + * the value for the property "demand" is + When the application tries to generate the WeekBasedMaterialDemand + Then it should generate the WeekBasedMaterialDemand + +Examples: +| v_tests | v_unitOfMeasure | v_changedAt | v_materialDemandIsInactive | v_unitOfMeasureIsOmitted | v_materialNumberCustomer | v_materialNumberSupplier | v_materialDescriptionCustomer | v_materialDemandId | v_materialGlobalAssetId | v_supplier | v_customer | v_expectedSupplierLocation | v_customerLocation | v_demandCategoryCode | v_pointInTime | v_demand | +| MD_alpha | unit:pieces | {{TS_NOW}} | false | false | MNR-8540-CH063329.001 | {{OMITTED}} | {{DSC_MAT1}} | {{UUID_MD1}} | {{UUID_GA1}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{BPNS_SUP1}} | {{BPNS_CUS1}} | 0001 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 200,190,190,200,190,250,280,0,270,250,240,220,200,190,180,200,190,180,190,200 | +| MD_beta | unit:kilogram | {{TS_NOW}} | false | false | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{UUID_MD2}} | {{UUID_GA2}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS2}} | A1S1 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 100,100,100,100,100,100,100,100,100,100,100,200,100,200,200,100,100,200,100,200 | +| MD_gamma | unit:kilogram | {{TS_NOW}} | false | false | MNR-8549-CH706214.023 | {{OMITTED}} | {{DSC_MAT2}} | {{UUID_MD2}} | {{UUID_GA3}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS2}} | PI01 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 500,200,500,400,500,500,300,500,500,600,600,600,800,700,800,600,600,800,500,900 | +| MD_delta | unit:liters | {{TS_NOW}} | false | false | MNR-8538-CH809974.001 | {{OMITTED}} | {{DSC_MAT3}} | {{UUID_MD3}} | {{UUID_GA4}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{BPNS_CUS3}} | PO01 | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 2540,4160,3660,3210,0,3570,490,3590,3400,3130,2920,3270,3210,0,3060,3030,2570,2740,0,1450 | +``` + +## Customer: Provide WeekBasedMaterialDemand + +### Provide valid WeekBasedMaterialDemand + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario: Provide valid new WeekBasedMaterialDemand + Given the materialDemandId of the WeekBasedMaterialDemand is unknown to my supplier + When I try to provide my supplier with said WeekBasedMaterialDemand + Then I should get an http 201 status message + +Scenario: Provide valid existing WeekBasedMaterialDemand + Given the materialDemandId of the WeekBasedMaterialDemand is already known to my supplier + When I try to provide my supplier with said WeekBasedMaterialDemand + Then I should get an http 200 status message +``` + +### Provide invalid WeekBasedMaterialDemand + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario: Provide invalid WeekBasedMaterialDemand + Given I accidentally created an invalid WeekBasedMaterialDemand + When I try to provide my supplier with said WeekBasedMaterialDemand + Then I should get an http 400 status message +``` + +### Provide WeekBasedMaterialDemand for base journey + +The customer sends the previously created WeekBasedMaterialDemands to the supplier as two separate data transfers. + +```cucumber +Feature: Customer: Provide WeekBasedMaterialDemand + +Scenario Outline: Provide WeekBasedMaterialDemand for base journey + Given I have successfully created demands alpha, beta, gamma and delta as described in Create WeekBasedMaterialDemand for base journey + When I try to provide my supplier with as + Then I should get from my supplier. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha,MD_beta,MD_gamma | FT_alpha | 200 OK | +| MD_delta | FT_beta | 200 OK | +``` + +## Customer: Consume WeekBasedCapacityGroup + +### Consume valid WeekBasedCapacityGroup + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario: Consume valid unknown WeekBasedCapacityGroup + Given I receive a valid WeekBasedCapacityGroup from my supplier with a capacityGroupId that is unknown to me + When I try to consume said WeekBasedCapacityGroup + Then I should be able to consume it and send my supplier a http 201 status message + +Scenario: Consume valid known WeekBasedCapacityGroup + Given I receive a valid WeekBasedCapacityGroup from my supplier with a capacityGroupId that is already known to me + When I try to consume said WeekBasedCapacityGroup + Then I should be able to consume it and send my supplier a http 200 status message +``` + +### Consume invalid WeekBasedCapacityGroup + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario: Consume invalid WeekBasedCapacityGroup + Given I receive an invalid WeekBasedCapacityGroup from my supplier + When I try to consume said WeekBasedCapacityGroup + Then I should not consume it and send my supplier a http 400 status message +``` + +### Consume WeekBasedCapacityGroup for base journey + +The customer receives the previously created WeekBasedCapacityGroups from the supplier as two separate data transfers. + +```cucumber +Feature: Customer: Consume WeekBasedCapacityGroup + +Scenario Outline: Consume WeekBasedCapacityGroup for base journey + Given I have successfully created demands alpha, beta, gamma and delta as described in Create WeekBasedMaterialDemand for base journey + When I try to consume provided by my supplier within + Then I should be able to consume the data and send to my supplier. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha,CG_beta | FT_gamma | 200 OK | +| CG_gamma,CG_delta | FT_delta | 200 OK | +``` + +## Customer: Visualize CapacityGroup together with MaterialDemand + +### Bottleneck calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Bottleneck calculation + Given I have created a WeekBasedMaterialDemand + * I have consumed at least one WeekBasedCapacityGroup linked to the WeekBasedMaterialDemand + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand > actual capacity = maximum capacity | red | bottleneck | +| actual capacity < demand = maximum capacity | orange | bottleneck | +| actual capacity < demand < maximum capacity | orange | bottleneck | +| actual capacity < maximum capacity < demand | red | bottleneck | +``` + +### Surplus calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Surplus calculation + Given I have created a WeekBasedMaterialDemand + * I have consumed at least one WeekBasedCapacityGroup linked to the WeekBasedMaterialDemand + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand < actual capacity = maximum capacity | green | surplus | +| demand < actual capacity < maximum capacity | green | surplus | +``` + +### Zero deviation calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Zero deviation calculation + Given I have created a WeekBasedMaterialDemand + * I have consumed at least one WeekBasedCapacityGroup linked to the WeekBasedMaterialDemand + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand = actual capacity = maximum capacity | green | zero deviation | +| demand = actual capacity < maximum capacity | green | zero deviation | +``` + +### Calculation for base journey + +The customer compares the demand data, sent to the supplier, to the capacity data, received from the supplier. + +```cucumber +Feature: Customer: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for base journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should get for in + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | result | case | color | +| CG_beta | MD_beta, MD_gamma | 09 | 2026 | bottleneck | demand > actual capacity = maximum capacity | red | +| CG_beta | MD_beta, MD_gamma | 18 | 2026 | bottleneck | actual capacity < demand = maximum capacity | orange | +| CG_beta | MD_beta, MD_gamma | 12 | 2026 | bottleneck | actual capacity < demand < maximum capacity | orange | +| CG_beta | MD_beta, MD_gamma | 15 | 2026 | bottleneck | actual capacity < maximum capacity < demand | red | +| CG_beta | MD_beta, MD_gamma | 20 | 2026 | surplus | demand < actual capacity = maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 01 | 2026 | surplus | demand < actual capacity < maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 13 | 2026 | zero deviation | demand = actual capacity = maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 14 | 2026 | zero deviation | demand = actual capacity < maximum capacity | green | +``` + +## Customer: Create IdBasedRequestForUpdate + +### Create valid IdBasedRequestForUpdate + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate valid IdBasedRequestForUpdate + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should generate the IdBasedRequestForUpdate and represent the following + +Examples: +| v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | case | +| {{OMITTED}} | {{OMITTED}} | Give me everything | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456","changedAt" : "2023-03-10T12:27:11.320Z"}] | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110","changedAt" : "2023-03-10T12:27:11.320Z"} ] | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456","changedAt" : "2023-03-10T12:27:11.320Z"}] | {{OMITTED}} | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| {{OMITTED}} | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110","changedAt" : "2023-03-10T12:27:11.320Z"} ] | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456"}] | {{OMITTED}} | Give me the specified aspect models | +| {{OMITTED}} | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110"} ] | Give me the specified aspect models | +| [ {"materialDemandId" : "e84f0078-cb3f-4917-8b56-8405c053d5ca"},{"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456"}] | {{OMITTED}} | Give me the specified aspect models | + +``` + +### Create invalid IdBasedRequestForUpdate + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate invalid IdBasedRequestForUpdate + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should NOT generate the IdBasedRequestForUpdate and throw an instead + +Examples: +| v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | error | +| This should not compute | {{OMITTED}} | AspectModel Conformity Error: weekBasedMaterialDemand | +| {{OMITTED}} | This should not compute | AspectModel Conformity Error: weekBasedCapacityGroup | + +``` + +### Create IdBasedRequestForUpdate for base journey + +The customer creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedCapacityGroup Alpha, identified via {{UUID_CG1}}. + +```cucumber +Feature: Customer: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate IdBasedRequestForUpdate for base journey using different + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should generate the IdBasedRequestForUpdate + +Examples: +| v_tests | v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | +| RU_alpha | {{OMITTED}} | [ {"capacityGroupId" : {{UUID_CG1}}}] | +``` + +## Customer: Provide IdBasedRequestForUpdate + +### Provide valid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide IdBasedRequestForUpdate + +Scenario: Provide valid IdBasedRequestForUpdate + Given I was able to create a valid IdBasedRequestForUpdate + When I try to provide my supplier with said IdBasedRequestForUpdate + Then I should get an http 200 status message +``` + +### Provide invalid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide IdBasedRequestForUpdate + +Scenario: Provide invalid IdBasedRequestForUpdate + Given I accidentally created an invalid IdBasedRequestForUpdate + When I try to provide my supplier with said IdBasedRequestForUpdate + Then I should get an http 400 status message +``` + +### Provide IdBasedRequestForUpdate for base journey + +The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. + +```cucumber +Feature: Customer: Provide IdBasedRequestForUpdate + +Scenario Outline: Provide IdBasedRequestForUpdate for base journey + Given I have previously consumed + When I provide my supplier with containing as payload + Then I should get a http 200 status message + * I should receive from my supplier, containing + +Examples: +| FileTransfer | IdBasedRequestForUpdate | reaction | reaction payload | +| FT_epsilon | RU_alpha | FT_eta | CG_alpha | +``` + +## Customer: Consume IdBasedRequestForUpdate + +### Consume valid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume IdBasedRequestForUpdate + +Scenario: Consume valid IdBasedRequestForUpdate + Given I receive a valid IdBasedRequestForUpdate from my supplier + When I try to consume said IdBasedRequestForUpdate + Then I should be able to consume it, send my supplier a http 200 status message and provide my supplier with the data requested, if applicable +``` + +### Consume invalid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume IdBasedRequestForUpdate + +Scenario: Consume invalid IdBasedRequestForUpdate + Given I receive an invalid IdBasedRequestForUpdate from my supplier + When I try to consume said IdBasedRequestForUpdate + Then I should not consume it and send my supplier a http 400 status message +``` + +### Consume IdBasedRequestForUpdate for base journey + +```cucumber +Feature: Customer: Consume IdBasedRequestForUpdate + +Scenario Outline: Consume IdBasedRequestForUpdate for base journey + Given I receive a containing as payload + When I try to consume + Then I should be able to consume it and send my supplier a http 200 status message + * I should react by sending with back to my supplier + +Examples: +| FileTransfer | IdBasedRequestForUpdate | reaction | reaction payload | +| FT_zeta | RU_beta | FT_theta | MD_gamma | +``` + +## Customer: Create IdBasedComment + +### Create valid IdBasedComment + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create IdBasedComment + +Scenario Outline: Try to generate valid IdBasedComment + Given the value for the property "CommentId" is with a default value of "a54348ce-7373-4cf0-8f00-8a73ea323dab" + * the value for the property "ObjectId" is with a default value of "b01fac51-6e7f-4754-a762-11814a1ff243" + * the value for the property "CommentType" is with a default value of "default" + * the value for the property "listOfReferenceDates" is with a default value of "2025-04-21" + * the value for the property "author" is with a default value of "max.mustermann@company.de" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "CommentText" is with a default value of "This is a comment. Very nice! " + * the value for the property "requestDelete" is with a default value of "false" + * the value for the property "objectType" is with a default value of "urn:samm:io.catenax.week_based_capacity_group" + * the value for the property "postedAt" is with a default value of "2024-03-10T12:27:11.320Z" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + When the application tries to generate the IdBasedComment + Then it should generate the IdBasedComment + +Examples: +| v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | +| 1236a465-93ab-45f7-ad17-67ad3107d6c8 | | | | | | | | | | | | +| urn:uuid:1236a465-93ab-45f7-ad17-67ad3107d6c8 | | | | | | | | | | | | +| | f38d7d7b-b8e7-452c-8ee2-08c8c56a4f80 | | | | | | | | | | | +| | urn:uuid:f38d7d7b-b8e7-452c-8ee2-08c8c56a4f80 | | | | | | | | | | | +| | | information | | | | | | | | | | +| | | warning | | | | | | | | | | +| | | default | | | | | | | | | | +| | | actionRequired | | | | | | | | | | +| | | | 2024-05-13 | | | | | | | | | +| | | | 2024-05-13,2024-05-20 | | | | | | | | | +| | | | | test@gmail.com | | | | | | | | +| | | | | {{BPNL_CUS}} | | | | | | | | +| | | | | | {{BPNL_SUP}} | | | | | | | +| | | | | | | {{BPNL_CUS}} | | | | | | +| | | | | | | | This can be up to 5000 characters long and contain special characters. | | | | | +| | | | | | | | !"§$%&/()=,.;:#'+*~<>[]{} | | | | | +| | | | | | | | | true | | | | +| | | | | | | | | false | | | | +| | | | | | | | | | urn:samm:io.catenax.week_based_material_demand | | | +| | | | | | | | | | urn:samm:io.catenax.week_based_capacity_group | | | +| | | | | | | | | | urn:samm:io.catenax.id_based_comment | | | +| | | | | | | | | | | 2024-03-11T11:27:11.320Z | | +| | | | | | | | | | | | 2024-03-11T11:27:11.320Z | +``` + +### Create invalid IdBasedComment + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Customer: Create IdBasedComment + +Scenario Outline: Try to generate invalid IdBasedComment + Given the value for the property "CommentId" is with a default value of "a54348ce-7373-4cf0-8f00-8a73ea323dab" + * the value for the property "ObjectId" is with a default value of "b01fac51-6e7f-4754-a762-11814a1ff243" + * the value for the property "CommentType" is with a default value of "default" + * the value for the property "listOfReferenceDates" is with a default value of "2025-04-21" + * the value for the property "author" is with a default value of "max.mustermann@company.de" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "CommentText" is with a default value of "This is a comment. Very nice! " + * the value for the property "requestDelete" is with a default value of "false" + * the value for the property "objectType" is with a default value of "urn:samm:io.catenax.week_based_capacity_group" + * the value for the property "postedAt" is with a default value of "2024-03-10T12:27:11.320Z" + * the value for the property "changedAt" is with a default value of "2024-03-10T12:27:11.320Z" + When the application tries to generate the IdBasedComment + Then it should NOT generate the IdBasedComment and throw an instead + +Examples: +| v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | error | +| Not an UUID | | | | | | | | | | | | AspectModel Conformity Error: commentID | +| | Not an UUID | | | | | | | | | | | AspectModel Conformity Error: objectID | +| | | warnings | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | comment | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | Not a commentType | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | | 2024-05-13;2024-05-20 | | | | | | | | | AspectModel Conformity Error: listOfReferenceDates | +| | | | List,Of,Strings | | | | | | | | | AspectModel Conformity Error: listOfReferenceDates | +| | | | | Not@a@valid.email.adress | | | | | | | | AspectModel Conformity Error: author | +| | | | | Not a BPNL | | | | | | | | AspectModel Conformity Error: author | +| | | | | | Not a BPNL | | | | | | | AspectModel Conformity Error: supplier | +| | | | | | | Not a BPNL | | | | | | AspectModel Conformity Error: customer | +| | | | | | | | {{String with more than 5000 characters}} | | | | | AspectModel Conformity Error: CommentText | +| | | | | | | | | maybe | | | | AspectModel Conformity Error: requestDelete | +| | | | | | | | | | urn:samm:io.catenax.id_based_request_for_update:3.0.0 | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | urn:samm:io.catenax.id_based_comment | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | Not an objectType | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | | 2000-01-01T66:23:00.66372+14:00 | | AspectModel Conformity Error: postedAt | +| | | | | | | | | | | | 2000-01-0 | AspectModel Conformity Error: changedAt | +``` + +### Create IdBasedComment for base journey + +```cucumber +Feature: Customer: Create IdBasedComment for base journey + +Scenario Outline: Try to generate IdBasedComment for base journey for base journey using different + +Given the value for the property "CommentId" is +* the value for the property "ObjectId" is +* the value for the property "CommentType" is +* the value for the property "listOfReferenceDates" is +* the value for the property "author" is +* the value for the property "supplier" is +* the value for the property "customer" is +* the value for the property "CommentText" is +* the value for the property "requestDelete" is +* the value for the property "objectType" is +* the value for the property "postedAt" is +* the value for the property "changedAt" is + +When the application tries to generate the IdBasedComment + +Then it should generate the IdBasedComment + +Examples: +| v_tests | v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | +| CT_alpha | {{UUID_COM1}} | {{UUID_MD1}} | information | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Demand increase in all upcoming weeks expected." | {{OMITTED}} | urn:samm:io.catenax.week_based_material_demand | {{OMITTED}} | {{TS_NOW}} | +| CT_beta | {{UUID_COM3}} | {{UUID_MD1}} | action required | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Demand Increase in CW45. Please confirm increase actual capacity." | {{OMITTED}} | urn:samm:io.catenax.week_based_material_demand | {{OMITTED}} | {{TS_NOW}} | +``` + +## Customer: Provide IdBasedComment + +### Provide valid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide IdBasedComment + +Scenario: Provide valid new IdBasedComment + Given the commentID of the IdBasedComment is unknown to my supplier + When I try to provide my supplier with said IdBasedComment + Then I should get an http 201 status message + +Scenario: Provide valid existing IdBasedComment + Given the commentID of the IdBasedComment is already known to my supplier + When I try to provide my supplier with said IdBasedComment + Then I should get an http 200 status message +``` + +### Provide invalid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide IdBasedComment + +Scenario: Provide invalid IdBasedComment + Given I accidentally created an invalid IdBasedComment + When I try to provide my supplier with said IdBasedComment + Then I should get an http 400 status message +``` + +### Provide IdBasedComment for base journey + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Provide IdBasedComment + +Scenario Outline: Provide IdBasedComment for base journey + Given I try to provide my supplier with an IdBasedComment + When I sent a containing as payload to my supplier + Then I should get an http 200 status message + +Examples: +| FileTransfer | IdBasedComment | +| FT_iota | CT_alpha, CT_beta | +``` + +## Customer: Consume IdBasedComment + +### Consume valid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume IdBasedComment + +Scenario: Consume valid unknown IdBasedComment + Given I receive a valid IdBasedComment from my supplier with a commentID that is unknown to me + When I try to consume said IdBasedComment + Then I should be able to consume it and send my supplier a http 201 status message + +Scenario: Consume valid known IdBasedComment + Given I receive a valid IdBasedComment from my supplier with a commentID that is already known to me + When I try to consume said IdBasedComment + Then I should be able to consume it and send my supplier a http 200 status message +``` + +### Consume invalid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume IdBasedComment + +Scenario: Consume invalid IdBasedComment + Given I receive an invalid IdBasedComment from my supplier + When I try to consume said IdBasedComment + Then I should not consume it and send my supplier a http 400 status message +``` + +### Consume IdBasedComment for base journey + +```cucumber +Feature: Customer: Consume IdBasedComment + +Scenario Outline: Consume IdBasedComment for base journey + Given I receive a containing as payload + When I try to consume + Then I should be able to consume it and send my supplier a http 200 status message + +Examples: +| FileTransfer | IdBasedComment | +| FT_kappa | CT_gamma, CT_delta | +``` + +## Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +### Comment linked to WeekBasedCapacityGroup + +This test checks the basic implementation of the comment feature within the GUI + +```cucumber +Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked to WeekBasedCapacityGroup + Given I have a comment that is linked to a WeekBasedCapacityGroup + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup the comment is linking +``` + +### Comment linked to WeekBasedMaterialDemand + +This test checks the basic implementation of the comment feature within the GUI + +```cucumber +Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked to WeekBasedMaterialDemand + Given I have a comment that is linked to a WeekBasedMaterialDemand + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedMaterialDemand the comment is linking + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the comment is linking + * the comments should be presented in a tree view +``` + +### Comment linked to IdBasedComment + +This test checks the basic implementation of the comment feature within the GUI + +```cucumber +Feature: Customer: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked ton IdBasedComment + Given I have a comment that is linked to an IdBasedComment + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedMaterialDemand the IdBasedComment is linking, the comment is linking + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the IdBasedComment is linking, the comment is linking +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 CatX Service GmbH +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md new file mode 100644 index 00000000000..b4589204f03 --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/development-view/test-supplier.md @@ -0,0 +1,1052 @@ +--- +id: test-supplier +title: Test - Supplier +description: 'Tests relevant for the business role supplier.' +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Introduction + +This page lists tests that can be executed by the business role supplier. + +They are written in [Gherkin](https://cucumber.io/docs/gherkin/). + +For an overview of these tests you should visit [Testing a DCM application](./overview.md#testing-a-dcm-application) within the Development View of this KIT. + +## Supplier: Prepare yourself + +### Setup EDC + +This test ensures that the supplier sets up its EDC. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario: Setup EDC + Given I have joined the Catena-X dataspace and want to execute DCM tests + When I check whether I have setup my EDC or not + Then I should confirm that I have setup my EDC in the correct version successfully +``` + +### Register APIs as assets + +This test ensures that the supplier registers its API endpoints as data assets with its own EDC. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario Outline: Register APIs as assets + Given my EDC has been setup correctly + When I check the asset catalog of my own EDC + Then I should find an asset for the with the correct and + +Examples: +| API | Taxonomy | Version | +| WeekBasedMaterialDemand API | cx-taxo:DcmWeekBasedMaterialDemand | 2.0 | +| RequestForUpdate API | cx-taxo:DcmIdBasedRequestForUpdate | 2.0 | +| IdBasedComment API | cx-taxo:DcmIdBasedComment | 2.0 | +``` + +### Check wallet for certificates + +This test ensures that the supplier has the necessary credentials in its wallet. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario Outline: Check wallet for certificates + Given I have been successfully onboarded into the Catena-X dataspace + When I check my wallet + Then I should find a that corresponds to a + +Examples: +| credential | policy | +| BPN-restricted Data Usage | BPN-restricted Data Usage | +| Membership Credential | Membership Credential | +| DataExchangeGovernance:1.0 | DataExchangeGovernance:1.0 | +``` + +### Prepare variables for other tests + +This test ensures that the supplier is aware of the fact that some tests contain variables that need to be filled in with the correct values before executing the tests. + +```cucumber +Feature: Supplier: Prepare yourself + +Scenario Outline: Prepare + Given I want to execute a that uses a I need to have a assigned to that makes sense in the context of the and use the value of the variable instead of its name when testing. + When the test gets executed + Then it should work as intended + +Examples: +| test | variable | value | +| Supplier: Create WeekBasedCapacityGroup, Supplier: Create IdBasedComment | BPNL_SUP | {Use your own Business Partner Number Legal (BPNL) e.g. BPNL000000000JS9} | +| Supplier: Create WeekBasedCapacityGroup, Supplier: Create IdBasedComment | BPNL_CUS | {Business Partner Number Legal (BPNL) of the company that acts as the business role Supplier in the context of the test execution e.g. BPNL00000000052O } | +| Supplier: Create WeekBasedCapacityGroup | BPNS_CUS1 | {A Business Partner Number Site (BPNS) of the company that acts as the business role customer in the context of the test execution} | +| Supplier: Create WeekBasedCapacityGroup | BPNS_CUS2 | {A Business Partner Number Site (BPNS) of the company that acts as the business role customer in the context of the test execution} | +| Supplier: Create WeekBasedCapacityGroup | BPNS_CUS3 | {A Business Partner Number Site (BPNS) of the company that acts as the business role customer in the context of the test execution} | +| Supplier: Create WeekBasedCapacityGroup | BPNS_SUP1 | {Use one of your own Business Partner Number Site (BPNS)} | +| Supplier: Create WeekBasedCapacityGroup, Supplier: Create IdBasedComment | UUID_CG1 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Supplier: Create WeekBasedCapacityGroup | UUID_CG2 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Supplier: Create WeekBasedCapacityGroup | UUID_CG3 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Supplier: Create WeekBasedCapacityGroup | UUID_CG4 | {UUIDv4 that needs to be generated during the creation of the corresponding aspect model and uniquely identifies it e.g. 4914cc91-5725-4268-9cd8-b8f6d72c525e} | +| Supplier: Create IdBasedRequestForUpdate | UUID_MD1 | {UUIDv4 of a WeekBasedCapacityGroup, which gets created through the customer} | +| Supplier: Create WeekBasedCapacityGroup | STR_LOCA | {Name of a capacity group, in the context of the base journey the name (not BPNS) of the customer sites that covered by the capacity group is used } | +| Supplier: Create WeekBasedCapacityGroup | STR_LOCB | {Name of a capacity group, in the context of the base journey the name (not BPNS) of the customer sites that covered by the capacity group is used } | +| Supplier: Create WeekBasedCapacityGroup | STR_LOCC | {Name of a capacity group, in the context of the base journey the name (not BPNS) of the customer sites that covered by the capacity group is used } | +| Supplier: Create WeekBasedCapacityGroup | STR_LOCD | {Name of a capacity group, in the context of the base journey the name (not BPNS) of the customer sites that covered by the capacity group is used } | +| Supplier: Create WeekBasedCapacityGroup, Supplier: Create IdBasedComment | TS_NOW | {Timestamp that represents the system time when the corresponding aspect model gets created e.g. 2023-11-05T08:15:30.123-05:00} | +| Supplier: Create WeekBasedCapacityGroup, Supplier: Create IdBasedRequestForUpdate, Supplier: Create IdBasedComment | OMITTED | {Special case where you do not include the property in the data at all. You do not even mention it.} | + +``` + +### Prepare for base journey + +This test ensures that the supplier is aware of the sequence of communication and naming conventions within the base journey. + +```cucumber +Feature: Supplier: Prepare yourself + + Scenario Outline: Prepare for base journey + Given I want to execute the base journey which uses in to fulfill a certain that I need to be aware of in order to execute my part of the base journey successfully + When the test gets executed + Then it should work as intended + +Examples: +| object | function | test | +| MD_alpha | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for base journey | +| MD_beta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha | Consume WeekBasedMaterialDemand for base journey, Calculation for base journey | +| MD_gamma | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Alpha and Theta | Consume WeekBasedMaterialDemand for base journey, Calculation for base journey, Provide IdBasedRequestForUpdate for base journey | +| MD_delta | A WeekBasedMaterialDemand created by the customer and transmitted via Filetransfer Beta | Consume WeekBasedMaterialDemand for base journey | +| CG_alpha | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma and Eta | Create WeekBasedCapacityGroup for base journey, Provide WeekBasedCapacityGroup for base journey, Consume IdBasedRequestForUpdate for base journey | +| CG_beta | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Gamma | Create WeekBasedCapacityGroup for base journey, Provide WeekBasedCapacityGroup for base journey, Calculation for base journey | +| CG_gamma | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Delta | Create WeekBasedCapacityGroup for base journey, Provide WeekBasedCapacityGroup for base journey | +| CG_delta | A WeekBasedCapacityGroup created by the supplier and transmitted via Filetransfer Delta | Create WeekBasedCapacityGroup for base journey, Provide WeekBasedCapacityGroup for base journey | +| RU_alpha | An IdBasedRequestForUpdate created by the customer and transmitted via Filetransfer Epsilon | Consume IdBasedRequestForUpdate for base journey | +| RU_beta | An IdBasedRequestForUpdate created by the supplier and transmitted via Filetransfer Zeta | Create IdBasedRequestForUpdate for base journey, Provide IdBasedRequestForUpdate for base journey | +| CT_alpha | An IdBasedComment created by the customer and transmitted via Filetransfer Iota | Consume IdBasedComment for base journey | +| CT_beta | An IdBasedComment created by the customer and transmitted via Filetransfer Iota | Consume IdBasedComment for base journey | +| CT_gamma | An IdBasedComment created by the supplier and transmitted via Filetransfer Kappa | Create IdBasedComment for base journey, Provide IdBasedComment for base journey | +| CT_delta | An IdBasedComment created by the supplier and transmitted via Filetransfer Kappa | Create IdBasedComment for base journey, Provide IdBasedComment for base journey | +| FT_alpha | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for base journey | +| FT_beta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Consume WeekBasedMaterialDemand for base journey | +| FT_gamma | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide WeekBasedCapacityGroup for base journey | +| FT_delta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Provide WeekBasedCapacityGroup for base journey | +| FT_epsilon | A Filetransfer providing IdBasedRequestForUpdate for the supplier to consume | Consume IdBasedRequestForUpdate for base journey | +| FT_eta | A Filetransfer providing WeekBasedCapacityGroup for the customer to consume | Consume IdBasedRequestForUpdate for base journey | +| FT_zeta | A Filetransfer providing IdBasedRequestForUpdate for the customer to consume | Provide IdBasedRequestForUpdate for base journey | +| FT_theta | A Filetransfer providing WeekBasedMaterialDemand for the supplier to consume | Provide IdBasedRequestForUpdate for base journey | +| FT_iota | A Filetransfer providing IdBasedComment for the supplier to consume | Consume IdBasedComment for base journey | +| FT_kappa | A Filetransfer providing IdBasedComment for the customer to consume | Provide IdBasedComment for base journey | +``` + +## Supplier: Consume WeekBasedMaterialDemand + +### Consume valid WeekBasedMaterialDemand + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume WeekBasedMaterialDemand + +Scenario: Consume valid unknown WeekBasedMaterialDemand + Given I receive a valid WeekBasedMaterialDemand from my customer with a materialDemandId that is unknown to me + When I try to consume said WeekBasedMaterialDemand + Then I should be able to consume it and send my customer a http 201 status message + +Scenario: Consume valid known WeekBasedMaterialDemand + Given I receive a valid WeekBasedMaterialDemand from my customer with a materialDemandId that is already known to me + When I try to consume said WeekBasedMaterialDemand + Then I should be able to consume it and send my customer a http 200 status message +``` + +### Consume invalid WeekBasedMaterialDemand + +This test checks the basic implementation of the API. + +```cucumber +Feature: Customer: Consume WeekBasedMaterialDemand + +Scenario: Consume invalid WeekBasedMaterialDemand + Given I receive an invalid WeekBasedMaterialDemand from my customer + When I try to consume said WeekBasedMaterialDemand + Then I should not consume it and send my customer a http 400 status message +``` + +### Consume WeekBasedMaterialDemand for base journey + +The supplier receives the previously created WeekBasedMaterialDemands from the customer as two separate data transfers. + +```cucumber +Feature: Supplier: Consume WeekBasedMaterialDemand + +Scenario Outline: Consume WeekBasedMaterialDemand for base journey + Given this is my entry point into the base journey + When I try to consume provided by my customer within + Then I should be able to consume the data and send to my customer. + +Examples: +| testDemand | fileTransfer | http status code | +| MD_alpha,MD_beta,MD_gamma | FT_alpha | 200 OK | +| MD_delta | FT_beta | 200 OK | +``` + +## Supplier: Create WeekBasedCapacityGroup + +### Create valid WeekBasedCapacityGroup + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate valid WeekBasedCapacityGroup + Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "name" is with a default value of "All my beautiful spark plugs" + * the value for the property "demandVolatilityParameters" contains exactly one entity "DemandVolatilityParametersEntity" + * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" + * the value for the property "rollingHorizonAlertThresholds" contains exactly one entity "RollingHorizonAlertThresholdsEntity" + * the value for the property "measurementInterval" is with a default value of "4" + * the value for the property "sequenceNumber" is with a default value of "1" + * the value for the property "subhorizonLength" is with a default value of "4" + * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" + * the value for the property "relativePositiveDeviation" is with a default value of "0.2" + * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" + * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "linkedDemandSeries" contains exactly one entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "loadFactor" is with a default value of "3.5" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "capacities" contains exactly one entity "Capacity" + * the value for the property "actualCapacity" is with a default value of "1000" + * the value for the property "agreedCapacity" is with a default value of "1800" + * the value for the property "maximumCapacity" is with a default value of "2000" + * the value for the property "deltaProductionResult" is with a default value of "400" + * the value for the property "pointInTime" is with a default value of "2022-08-01" + * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" + * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "capacityGroupIsInactive" is with a default value of "true" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + When the application tries to generate the WeekBasedCapacityGroup + Then it should generate the WeekBasedCapacityGroup + +Examples: +| v_unitOfMeasure | v_name | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_absoluteNegativeDeviation | v_relativePositiveDeviation | v_absolutePositiveDeviation | v_relativeNegativeDeviation | v_changedAt | v_demandCategoryCode | v_loadFactor | v_materialNumberSupplier | v_materialNumberCustomer | v_customerLocation | v_supplierLocations | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_linkedCapacityGroups | v_capacityGroupId | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_supplier | v_customer | +| unit:gram | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:kilogram | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:tonneMetricTon | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:tonUsOrShortTonUkorus | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:ounceAvoirdupois | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:pound | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:centimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:metre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:kilometre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:inch | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:foot | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:yard | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:squareCentimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:squareMetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:squareInch | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:squareFoot | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:squareYard | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cubicCentimetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cubicMetre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cubicInch | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cubicFoot | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cubicYard | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:millilitre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:litre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:hectolitre | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:piece | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:set | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:pair | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:page | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:kilowattHour | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:secondUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:minuteUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:hourUnitOfTime | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| unit:cycle | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | コンニチハ | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | Καλημέρα κόσμε | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | Hello World | | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | 2000-01-01T14:23:00.66372 | | | | | | | | | | | | | | | | | | | | | | | | | | +| | | | 1 | | | | | | | | | | | | | | | | | | | | | | | | | +| | | | 999 | | | | | | | | | | | | | | | | | | | | | | | | | +| | | | | 1 | | | | | | | | | | | | | | | | | | | | | | | | +| | | | | 999 | | | | | | | | | | | | | | | | | | | | | | | | +| | | | | | 1 | | | | | | | | | | | | | | | | | | | | | | | +| | | | | | 999 | | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | 4.4 | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | 0 | | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | 0 | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | 0.5 | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | 1 | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | 4.4 | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | 0 | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | 0 | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | 0.5 | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | 1 | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | 2000-01-01T14:23:00.66372+14:00 | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | SR99 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | ED01 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | A1S1 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | OI01 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | OS01 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | PI01 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | PO01 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | 0001 | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | 4.4 | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | 0.5 | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | Hello World | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | @!"§$%&/()=?`;:_-.,'*+#~><²³][}{´ | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | コンニチハ | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | Καλημέρα κόσμε | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | Hello World | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 0 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 0 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 0 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 4.4 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 10000 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | 999999999999.999 | | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | 2024-09-02 | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | 1930-01-06 | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | 2119-12-25 | | | | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | true | | | | +| | | | | | | | | | | | | | | | | | | | | | | | | false | | | | +| {{OMITTED}} | | | | | | | | | | | | | | | | | | | | | | | | | true | | | +| | | | | | | | | | | | | | | | | | | | | | | | | | false | | | +``` + +### Create invalid WeekBasedCapacityGroup + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate invalid WeekBasedCapacityGroup + Given the value for the property "unitOfMeasure" is with a default value of "unit:piece" + * the value for the property "name" is with a default value of "All my beautiful spark plugs" + * the value for the property "demandVolatilityParameters" contains exactly one entity "DemandVolatilityParametersEntity" + * the value for the property "startReferenceDateTime" is with a default value of "2024-01-10T12:00:00.320Z" + * the value for the property "rollingHorizonAlertThresholds" contains exactly one entity "RollingHorizonAlertThresholdsEntity" + * the value for the property "measurementInterval" is with a default value of "4" + * the value for the property "sequenceNumber" is with a default value of "1" + * the value for the property "subhorizonLength" is with a default value of "4" + * the value for the property "absoluteNegativeDeviation" is with a default value of "100.0" + * the value for the property "relativePositiveDeviation" is with a default value of "0.2" + * the value for the property "absolutePositiveDeviation" is with a default value of "100.0" + * the value for the property "relativeNegativeDeviation" is with a default value of "0.3" + * the value for the property "changedAt" is with a default value of "{{TS_NOW}}" + * the value for the property "linkedDemandSeries" contains exactly one entity "LinkedDemandSeries" + * the value for the property "demandCategoryCode" is with a default value of "0001" + * the value for the property "loadFactor" is with a default value of "3.5" + * the value for the property "materialNumberSupplier" is with a default value of "MNR-8101-ID146955.001" + * the value for the property "materialNumberCustomer" is with a default value of "MNR-7307-AU340474.002" + * the value for the property "customerLocation" is with a default value of "{{BPNS_CUS1}}" + * the value for the property "supplierLocations" is with a default value of "{{BPNS_SUP1}}" + * the value for the property "capacities" contains exactly one entity "Capacity" + * the value for the property "actualCapacity" is with a default value of "1000" + * the value for the property "agreedCapacity" is with a default value of "1800" + * the value for the property "maximumCapacity" is with a default value of "2000" + * the value for the property "deltaProductionResult" is with a default value of "400" + * the value for the property "pointInTime" is with a default value of "2022-08-01" + * the value for the property "linkedCapacityGroups" is with a default value of "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" + * the value for the property "capacityGroupId" is with a default value of "0157ba42-d2a8-4e28-8565-7b07830c1110" + * the value for the property "capacityGroupIsInactive" is with a default value of "true" + * the value for the property "unitOfMeasureIsOmitted" is with a default value of "false" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + When the application tries to generate the WeekBasedCapacityGroup + Then it should NOT generate the WeekBasedCapacityGroup and throw an instead + +Examples: +| v_unitOfMeasure | v_name | v_startReferenceDateTime | v_measurementInterval | v_sequenceNumber | v_subhorizonLength | v_absoluteNegativeDeviation | v_relativePositiveDeviation | v_absolutePositiveDeviation | v_relativeNegativeDeviation | v_changedAt | v_demandCategoryCode | v_loadFactor | v_materialNumberSupplier | v_materialNumberCustomer | v_customerLocation | v_supplierLocations | v_actualCapacity | v_agreedCapacity | v_maximumCapacity | v_deltaProductionResult | v_pointInTime | v_linkedCapacityGroups | v_capacityGroupId | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_supplier | v_customer | error | +| unit:decagram | | | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: unitOfMeasure | +| | | 2023-02-29T12:00:00.320Z | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | +| | | This is not a datetime | | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: startReferenceDateTime | +| | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: measurementInterval | +| | | | 2.3 | 5.5 | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: measurementInterval | +| | | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: sequenceNumber | +| | | | | | 4.6 | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: sequenceNumber | +| | | | | | This is not an integer | | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: subhorizonLength | +| | | | | | | -100 | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: subhorizonLength | +| | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absoluteNegativeDeviation | +| | | | | | | | 2 | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absoluteNegativeDeviation | +| | | | | | | | -0.1 | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | | -1.1 | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativePositiveDeviation | +| | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absolutePositiveDeviation | +| | | | | | | | | | -0.2 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: absolutePositiveDeviation | +| | | | | | | | | | 2 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | 200-01-0 | | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: relativeNegativeDeviation | +| | | | | | | | | | | This is not a datetime | | | | | | | | | | | | | | | | | | AspectModel Conformity Error: changedAt | +| | | | | | | | | | | | 0O01 | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | 01OI | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | Default | | | | | | | | | | | | | | | | | AspectModel Conformity Error: demandCategoryCode | +| | | | | | | | | | | | | -1 | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | 1,1 | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | This is not a decimal | | | | | | | | | | | | | | | | AspectModel Conformity Error: loadFactor | +| | | | | | | | | | | | | | | | This is not a BPNS | | | | | | | | | | | | | AspectModel Conformity Error: customerLocation | +| | | | | | | | | | | | | | | | | This is not a BPNS | | | | | | | | | | | | AspectModel Conformity Error: supplierLocations | +| | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | | | -1 | | | | | | | | | | | AspectModel Conformity Error: actualCapacity | +| | | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | | | -1 | | | | | | | | | | AspectModel Conformity Error: agreedCapacity | +| | | | | | | | | | | | | | | | | | | | 9999999999999999999999 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | | | 5,5 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | | | -1 | | | | | | | | | AspectModel Conformity Error: maximumCapacity | +| | | | | | | | | | | | | | | | | | | | | This is not a decimal | | | | | | | | AspectModel Conformity Error: deltaProductionResult | +| | | | | | | | | | | | | | | | | | | | | | 2022-04-22 | | | | | | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | | | | | | | 22.04.2021 | | | | | | | AspectModel Conformity Error: pointInTime | +| | | | | | | | | | | | | | | | | | | | | | | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | | AspectModel Conformity Error: linkedCapacityGroups | +| | | | | | | | | | | | | | | | | | | | | | | b90ae365-3866-9971-9004b1b1d003 | | | | | | AspectModel Conformity Error: linkedCapacityGroups | +| | | | | | | | | | | | | | | | | | | | | | | | b90ae365-3866-9971-9004b1b1d003 | | | | | AspectModel Conformity Error: capacityGroupId | +| | | | | | | | | | | | | | | | | | | | | | | | d01bfdc9-b599-4d2a-8817-6174c3095381 | | | | | AspectModel Conformity Error: capacityGroupId | +| | | | | | | | | | | | | | | | | | | | | | | | | maybe | | | | AspectModel Conformity Error: capacityGroupIsInactive | +| | | | | | | | | | | | | | | | | | | | | | | | | | maybe | | | AspectModel Conformity Error: unitOfMeasureIsOmitted | +| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a BPNL | | AspectModel Conformity Error: supplier | +| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a BPNL | AspectModel Conformity Error: customer | +``` + +### Create WeekBasedCapacityGroup for base journey + +```cucumber +Feature: Customer: Create WeekBasedCapacityGroup + +Scenario Outline: Try to generate WeekBasedCapacityGroup for base journey using different + +Given the value for the property "unitOfMeasure" is +* the value for the property "changedAt" is +* the value for the property "capacityGroupIsInactive" is +* the value for the property "unitOfMeasureIsOmitted" is +* the value for the property "name" is +* the value for the property "capacityGroupId" is +* the value for the property "supplier" is +* the value for the property "customer" is +* the value for the property "LinkedDemandSeries" contains at least one Entity "DemandSeries" +* the value for the property "linkedCapacityGroups" is +* the value for the property "pointInTime" is +* the value for the property "actualCapacity" is +* the value for the property "maximumCapacity" is +* the value for the property "agreedCapacity" is +* the value for the property "deltaProductionResult" is + + +When the application tries to generate the WeekBasedCapacityGroup + +Then it should generate the WeekBasedCapacityGroup + +Examples: +| v_tests | v_unitOfMeasure | v_changedAt | v_capacityGroupIsInactive | v_unitOfMeasureIsOmitted | v_name | v_capacityGroupId | v_supplier | v_customer | v_materialNumberCustomer | v_customerLocation | v_demandCategory | v_linkedCapacityGroups | v_DemandVolatility | v_pointInTime | v_actualCapacity | v_maximumCapacity | v_agreedCapacity | v_deltaProductionResult | +| alpha | unit:pieces | {{TS_NOW}} | false | false | {{STR_LOCA}} | {{UUID_CG1}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8540-CH063329.001 | {{BPNS_CUS1}} | 0001 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 220,209,209,220,209,245,250,0,240,250,245,242,220,209,198,220,109,198,209,220 | 250,250,250,250,250,250,250,0,250,250,250,250,250,250,250,250,250,250,250,250 | 300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300 | {{OMITTED}} | +| beta | unit:kilogram | {{TS_NOW}} | false | false | {{STR_LOCB}} | {{UUID_CG2}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8549-CH706214.023, MNR-8549-CH706214.023 | {{BPNS_CUS2}}, {{BPNS_CUS2}} | A1S1,PI01 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | {{OMITTED}} | +| gamma | unit:liters | {{TS_NOW}} | false | false | {{STR_LOCC}} | {{UUID_CG3}} | {{BPNL_SUP}} | {{BPNL_CUS}} | MNR-8538-CH809974.001 | {{BPNS_CUS3}} | PO01 | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 3790,3790,3890,3890,2020,2020,2310,2310,3690,0,3500,3500,1820,1820,3450,3450,3010,3010,550,550 | 3790,3790,3890,3890,3530,3530,3530,3910,3910,3910,3910,3910,3910,3910,3450,3450,3010,3010,2580,2580 | 4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000,4000 | {{OMITTED}} | +| delta | unit:kilogram | {{TS_NOW}} | false | false | {{STR_LOCD}} | {{UUID_CG4}} | {{BPNL_SUP}} | {{BPNL_CUS}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | {{OMITTED}} | 2026-01-05,2026-08-05,2026-01-12,2026-01-19,2026-01-26,2026-02-02,2026-02-09,2026-02-16,2026-02-23,2026-03-02,2026-03-09,2026-03-16,2026-03-23,2026-03-30,2026-04-06,2026-04-13,2026-04-20,2026-04-27,2026-05-04,2026-05-11 | 690,345,690,575,690,690,460,690,0,805,805,780,900,900,805,805,900,690,1150 | 900,900,900,900,900,900,900,900,0,900,900,900,900,910,950,900,900,1000,900,1150 | 800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800 | {{OMITTED}} | +``` + +## Supplier: Provide WeekBasedCapacityGroup + +### Provide valid WeekBasedCapacityGroup + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario: Provide valid new WeekBasedCapacityGroup + Given the capacityGroupId of the WeekBasedCapacityGroup is unknown to my customer + When I try to provide my customer with said WeekBasedCapacityGroup + Then I should get an http 201 status message + +Scenario: Provide valid existing WeekBasedCapacityGroup + Given the capacityGroupId of the WeekBasedCapacityGroup is already known to my customer + When I try to provide my customer with said WeekBasedCapacityGroup + Then I should get an http 200 status message +``` + +### Provide invalid WeekBasedCapacityGroup + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario: Provide invalid WeekBasedCapacityGroup + Given I accidentally created an invalid WeekBasedCapacityGroup + When I try to provide my customer with said WeekBasedCapacityGroup + Then I should get an http 400 status message +``` + +### Provide WeekBasedCapacityGroup for base journey + +The supplier sends the previously created WeekBasedCapacityGroups to the customer as two separate data transfers. + +```cucumber +Feature: Supplier: Provide WeekBasedCapacityGroup + +Scenario Outline: Provide WeekBasedCapacityGroup for base journey + Given I have successfully created capacity groups alpha, beta, gamma and delta as described in Create WeekBasedCapacityGroup for base journey + When I try to provide my customer with as + Then I should get from my customer. + +Examples: +| testCapacityGroup | fileTransfer | http status code | +| CG_alpha, CG_beta | FT_gamma | 200 OK | +| CG_gamma, CG_delta | FT_delta | 200 OK | +``` + +## Supplier: Visualize CapacityGroup together with MaterialDemand + +### Bottleneck calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Bottleneck calculation + Given I have created a WeekBasedCapacityGroup + * I have consumed at least one WeekBasedMaterialDemand linked by the WeekBasedCapacityGroup + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand > actual capacity = maximum capacity | red | bottleneck | +| actual capacity < demand = maximum capacity | orange | bottleneck | +| actual capacity < demand < maximum capacity | orange | bottleneck | +| actual capacity < maximum capacity < demand | red | bottleneck | +``` + +### Surplus calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Bottleneck calculation + Given I have created a WeekBasedCapacityGroup + * I have consumed at least one WeekBasedMaterialDemand linked by the WeekBasedCapacityGroup + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand < actual capacity = maximum capacity | green | surplus | +| demand < actual capacity < maximum capacity | green | surplus | +``` + +### Zero deviation calculation + +This test checks the basic implementation of the GUI. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Bottleneck calculation + Given I have created a WeekBasedCapacityGroup + * I have consumed at least one WeekBasedMaterialDemand linked by the WeekBasedCapacityGroup + When I calculate and visualize the demand and capacity time series + Then it should show in for + +Examples: +| case | color | result | +| demand = actual capacity = maximum capacity | green | zero deviation | +| demand = actual capacity < maximum capacity | green | zero deviation | +``` + +### Calculation for base journey + +The supplier compares the demand data, received from the customer, to the capacity data, sent to the customer. + +```cucumber +Feature: Supplier: Visualize CapacityGroup together with MaterialDemand + +Scenario Outline: Calculation for base journey + Given I have successfully consumed + * I have successfully created + When I compare demand and capacity data for + Then I should get for in + +Examples: +| WeekBasedCapacityGroup | WeekBasedMaterialDemand | week | year | result | case | color | +| CG_beta | MD_beta, MD_gamma | 09 | 2026 | bottleneck | Demand > actual capacity = maximum capacity | red | +| CG_beta | MD_beta, MD_gamma | 18 | 2026 | bottleneck | Actual capacity < demand = maximum capacity | orange | +| CG_beta | MD_beta, MD_gamma | 12 | 2026 | bottleneck | Actual capacity < demand < maximum capacity | orange | +| CG_beta | MD_beta, MD_gamma | 15 | 2026 | bottleneck | Actual capacity < maximum capacity < demand | red | +| CG_beta | MD_beta, MD_gamma | 20 | 2026 | surplus | Demand < actual capacity = maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 01 | 2026 | surplus | Demand < actual capacity < maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 13 | 2026 | zero deviation | Demand = actual capacity = maximum capacity | green | +| CG_beta | MD_beta, MD_gamma | 14 | 2026 | zero deviation | Demand = actual capacity < maximum capacity | green | +``` + +## Supplier: Create IdBasedRequestForUpdate + +### Create valid IdBasedRequestForUpdate + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate valid IdBasedRequestForUpdate + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should generate the IdBasedRequestForUpdate and represent the following + +Examples: +| v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | case | +| {{OMITTED}} | {{OMITTED}} | Give me everything | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456","changedAt" : "2023-03-10T12:27:11.320Z"}] | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110","changedAt" : "2023-03-10T12:27:11.320Z"} ] | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456","changedAt" : "2023-03-10T12:27:11.320Z"}] | {{OMITTED}} | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| {{OMITTED}} | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110","changedAt" : "2023-03-10T12:27:11.320Z"} ] | Give me the specified aspect models, but only of they are newer than the specified timestamps | +| [ {"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456"}] | {{OMITTED}} | Give me the specified aspect models | +| {{OMITTED}} | [ {"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110"} ] | Give me the specified aspect models | +| [ {"materialDemandId" : "e84f0078-cb3f-4917-8b56-8405c053d5ca"},{"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456"}] | {{OMITTED}} | Give me the specified aspect models | + +``` + +### Create invalid IdBasedRequestForUpdate + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate invalid IdBasedRequestForUpdate + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should NOT generate the IdBasedRequestForUpdate and throw an instead + +Examples: +| v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | error | +| This should not compute | {{OMITTED}} | AspectModel Conformity Error: weekBasedMaterialDemand | +| {{OMITTED}} | This should not compute | AspectModel Conformity Error: weekBasedCapacityGroup | + +``` + +### Create IdBasedRequestForUpdate for base journey + +The supplier creates an IdBasedRequestForUpdate used by the base journey which requests WeekBasedMaterialDemand Alpha, identified via {{UUID_MD1}}. + +```cucumber +Feature: Supplier: Create IdBasedRequestForUpdate + +Scenario Outline: Try to generate IdBasedRequestForUpdate for base journey using different + Given the value for the property "weekBasedMaterialDemand" is + * "weekBasedMaterialDemand" is a list with properties "changedAt" and "materialDemandId" + * the value for the property "weekBasedCapacityGroup" is + * "weekBasedCapacityGroup" is a list with properties "changedAt" and "materialDemandId" + When the application tries to generate the IdBasedRequestForUpdate + Then it should generate the IdBasedRequestForUpdate + +Examples: +| v_tests | v_weekBasedMaterialDemand | v_weekBasedCapacityGroup | +| RU_beta | [ {"capacityGroupId" : {{UUID_MD1}}}] | {{OMITTED}} | +``` + +## Supplier: Consume IdBasedRequestForUpdate + +### Consume valid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Consume IdBasedRequestForUpdate + +Scenario: Consume valid IdBasedRequestForUpdate + Given I receive a valid IdBasedRequestForUpdate from my customer + When I try to consume said IdBasedRequestForUpdate + Then I should be able to consume it, send my customer a http 200 status message and provide my customer with the data requested, if applicable +``` + +### Consume invalid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Consume IdBasedRequestForUpdate + +Scenario: Consume invalid IdBasedRequestForUpdate + Given I receive an invalid IdBasedRequestForUpdate from my customer + When I try to consume said IdBasedRequestForUpdate + Then I should not consume it and send my customer a http 400 status message +``` + +### Consume IdBasedRequestForUpdate for base journey + +The customer sends the previously created IdBasedRequestForUpdate to the supplier and expects one WeekBasedCapacityGroup in return. + +```cucumber +Feature: Supplier: Consume IdBasedRequestForUpdate + +Scenario Outline: Consume IdBasedRequestForUpdate for base journey + Given I receive a containing as payload + When I try to consume + Then I should be able to consume it and send my customer a http 200 status message + * I should react by sending with back to my customer + +Examples: +| FileTransfer | IdBasedRequestForUpdate | reaction | reaction payload | +| FT_epsilon | RU_alpha | FT_eta | CG_alpha | +``` + +## Supplier: Provide IdBasedRequestForUpdate + +### Provide valid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide IdBasedRequestForUpdate + +Scenario: Provide valid IdBasedRequestForUpdate + Given I was able to create a valid IdBasedRequestForUpdate + When I try to provide my customer with said IdBasedRequestForUpdate + Then I should get an http 200 status message +``` + +### Provide invalid IdBasedRequestForUpdate + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide invalid IdBasedRequestForUpdate + +Scenario: Provide invalid IdBasedRequestForUpdate + Given I accidentally created an invalid IdBasedRequestForUpdate + When I try to provide my customer with said IdBasedRequestForUpdate + Then I should get an http 400 status message +``` + +### Provide IdBasedRequestForUpdate for base journey + +```cucumber +Feature: Supplier: Provide IdBasedRequestForUpdate + +Scenario Outline: Provide IdBasedRequestForUpdate for base journey + Given I have previously consumed RU_epsilon + When I provide my customer with containing as payload + Then I should get a http 200 status message + * I should receive from my customer, containing + +Examples: +| FileTransfer | IdBasedRequestForUpdate | reaction | reaction payload | +| FT_zeta | RU_beta | FT_theta | MD_gamma | +``` + +## Supplier: Consume IdBasedComment + +### Consume valid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Consume IdBasedComment + +Scenario: Consume valid unknown IdBasedComment + Given I receive a valid IdBasedComment from my customer with a commentID that is unknown to me + When I try to consume said IdBasedComment + Then I should be able to consume it and send my customer a http 201 status message + +Scenario: Consume valid known IdBasedComment + Given I receive a valid IdBasedComment from my customer with a commentID that is already known to me + When I try to consume said IdBasedComment + Then I should be able to consume it and send my customer a http 200 status message +``` + +### Consume invalid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Consume IdBasedComment + +Scenario: Consume invalid IdBasedComment + Given I receive an invalid IdBasedComment from my customer + When I try to consume said IdBasedComment + Then I should not consume it and send my customer a http 400 status message +``` + +### Consume IdBasedComment for base journey + +```cucumber +Feature: Supplier: Consume IdBasedComment + +Scenario Outline: Consume IdBasedComment for base journey + Given I receive a containing as payload + When I try to consume + Then I should be able to consume it and send my customer a http 200 status message + +Examples: +| FileTransfer | IdBasedComment | +| FT_iota | CT_alpha, CT_beta | +``` + +## Supplier: Create IdBasedComment + +### Create valid IdBasedComment + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create IdBasedComment + +Scenario Outline: Try to generate valid IdBasedComment + Given the value for the property "CommentId" is with a default value of "a54348ce-7373-4cf0-8f00-8a73ea323dab" + * the value for the property "ObjectId" is with a default value of "b01fac51-6e7f-4754-a762-11814a1ff243" + * the value for the property "CommentType" is with a default value of "default" + * the value for the property "listOfReferenceDates" is with a default value of "2025-04-21" + * the value for the property "author" is with a default value of "max.mustermann@company.de" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "CommentText" is with a default value of "This is a comment. Very nice! " + * the value for the property "requestDelete" is with a default value of "false" + * the value for the property "objectType" is with a default value of "urn:samm:io.catenax.week_based_capacity_group" + * the value for the property "postedAt" is with a default value of "2024-03-10T12:27:11.320Z" + * the value for the property "changedAt" is with a default value of "2024-03-10T12:27:11.320Z" + When the application tries to generate the IdBasedComment + Then it should generate the IdBasedComment + +Examples: +| v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | +| 1236a465-93ab-45f7-ad17-67ad3107d6c8 | | | | | | | | | | | | +| urn:uuid:1236a465-93ab-45f7-ad17-67ad3107d6c8 | | | | | | | | | | | | +| | f38d7d7b-b8e7-452c-8ee2-08c8c56a4f80 | | | | | | | | | | | +| | urn:uuid:f38d7d7b-b8e7-452c-8ee2-08c8c56a4f80 | | | | | | | | | | | +| | | information | | | | | | | | | | +| | | warning | | | | | | | | | | +| | | default | | | | | | | | | | +| | | actionRequired | | | | | | | | | | +| | | | 2024-05-13 | | | | | | | | | +| | | | 2024-05-13,2024-05-20 | | | | | | | | | +| | | | | test@gmail.com | | | | | | | | +| | | | | {{BPNL_CUS}} | | | | | | | | +| | | | | | {{BPNL_SUP}} | | | | | | | +| | | | | | | {{BPNL_CUS}} | | | | | | +| | | | | | | | This can be up to 5000 characters long and contain special characters. | | | | | +| | | | | | | | !"§$%&/()=,.;:#'+*~<>[]{} | | | | | +| | | | | | | | | true | | | | +| | | | | | | | | false | | | | +| | | | | | | | | | urn:samm:io.catenax.week_based_material_demand | | | +| | | | | | | | | | urn:samm:io.catenax.week_based_capacity_group | | | +| | | | | | | | | | urn:samm:io.catenax.id_based_comment | | | +| | | | | | | | | | | 2024-03-11T11:27:11.320Z | | +| | | | | | | | | | | | 2024-03-11T11:27:11.320Z | +``` + +### Create invalid IdBasedComment + +This test checks the implementation of the aspect model as well as some edge cases. + +```cucumber +Feature: Supplier: Create IdBasedComment + +Scenario Outline: Try to generate invalid IdBasedComment + Given the value for the property "CommentId" is with a default value of "a54348ce-7373-4cf0-8f00-8a73ea323dab" + * the value for the property "ObjectId" is with a default value of "b01fac51-6e7f-4754-a762-11814a1ff243" + * the value for the property "CommentType" is with a default value of "default" + * the value for the property "listOfReferenceDates" is with a default value of "2025-04-21" + * the value for the property "author" is with a default value of "max.mustermann@company.de" + * the value for the property "supplier" is with a default value of "{{BPNL_SUP}}" + * the value for the property "customer" is with a default value of "{{BPNL_CUS}}" + * the value for the property "CommentText" is with a default value of "This is a comment. Very nice! " + * the value for the property "requestDelete" is with a default value of "false" + * the value for the property "objectType" is with a default value of "urn:samm:io.catenax.week_based_capacity_group" + * the value for the property "postedAt" is with a default value of "2024-03-10T12:27:11.320Z" + * the value for the property "changedAt" is with a default value of "2024-03-10T12:27:11.320Z" + When the application tries to generate the IdBasedComment + Then it should NOT generate the IdBasedComment and throw an instead + +Examples: +| v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | error | +| Not an UUID | | | | | | | | | | | | AspectModel Conformity Error: commentID | +| | Not an UUID | | | | | | | | | | | AspectModel Conformity Error: objectID | +| | | warnings | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | comment | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | Not a commentType | | | | | | | | | | AspectModel Conformity Error: commentType | +| | | | 2024-05-13;2024-05-20 | | | | | | | | | AspectModel Conformity Error: listOfReferenceDates | +| | | | List,Of,Strings | | | | | | | | | AspectModel Conformity Error: listOfReferenceDates | +| | | | | Not@a@valid.email.adress | | | | | | | | AspectModel Conformity Error: author | +| | | | | Not a BPNL | | | | | | | | AspectModel Conformity Error: author | +| | | | | | Not a BPNL | | | | | | | AspectModel Conformity Error: supplier | +| | | | | | | Not a BPNL | | | | | | AspectModel Conformity Error: customer | +| | | | | | | | {{String with more than 5000 characters}} | | | | | AspectModel Conformity Error: CommentText | +| | | | | | | | | maybe | | | | AspectModel Conformity Error: requestDelete | +| | | | | | | | | | urn:samm:io.catenax.id_based_request_for_update:3.0.0 | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | urn:samm:io.catenax.id_based_comment | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | Not an objectType | | | AspectModel Conformity Error: objectType | +| | | | | | | | | | | 2000-01-01T66:23:00.66372+14:00 | | AspectModel Conformity Error: postedAt | +| | | | | | | | | | | | 2000-01-0 | AspectModel Conformity Error: changedAt | +``` + +### Create IdBasedComment for base journey + +```cucumber +Feature: Customer: Create IdBasedComment + +Scenario Outline: Try to generate IdBasedComment for base journey using different + + Given the value for the property "CommentId" is + * the value for the property "ObjectId" is + * the value for the property "CommentType" is + * the value for the property "listOfReferenceDates" is + * the value for the property "author" is + * the value for the property "supplier" is + * the value for the property "customer" is + * the value for the property "CommentText" is + * the value for the property "requestDelete" is + * the value for the property "objectType" is + * the value for the property "postedAt" is + * the value for the property "changedAt" is + When the application tries to generate the IdBasedComment + Then it should generate the IdBasedComment + +Examples: +| v_tests | v_CommentId | v_ObjectId | v_CommentType | v_listOfReferenceDates | v_author | v_supplier | v_customer | v_CommentText | v_requestDelete | v_objectType | v_postedAt | v_changedAt | +| CT_gamma | {{UUID_COM2}} | {{UUID_CG1}} | warning | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Capacity set to 0 because machine is destroyed." | false | urn:samm:io.catenax.week_based_capacity_group | {{TS_NOW}} | {{TS_NOW}} | +| CT_delta | {{UUID_COM4}} | {{UUID_CG1}} | default | {{OMITTED}} | max.mustermann@company.de | {{BPNL_SUP}} | {{BPNL_CUS}} | "Capacity set to 0 in CW45 due to machine maintenance. Please set demand in CW 45 to 0." | false | urn:samm:io.catenax.week_based_capacity_group | {{TS_NOW}} | {{TS_NOW}} | +``` + +## Supplier: Provide IdBasedComment + +### Provide valid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide IdBasedComment + +Scenario: Provide valid new IdBasedComment + Given the commentID of the IdBasedComment is unknown to my supplier + When I try to provide my customer with said IdBasedComment + Then I should get an http 201 status message + +Scenario: Provide valid existing IdBasedComment + Given the commentID of the IdBasedComment is already known to my supplier + When I try to provide my customer with said IdBasedComment + Then I should get an http 200 status message +``` + +### Provide invalid IdBasedComment + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide IdBasedComment + +Scenario: Provide invalid IdBasedComment + Given I accidentally created an invalid IdBasedComment + When I try to provide my customer with said IdBasedComment + Then I should get an http 400 status message +``` + +### Provide IdBasedComment for base journey + +This test checks the basic implementation of the API. + +```cucumber +Feature: Supplier: Provide IdBasedComment + +Scenario Outline: Provide IdBasedComment for base journey + Given I try to provide my customer with an IdBasedComment + When I sent a containing as payload to my customer + Then I should get an http 200 status message + +Examples: +| FileTransfer | IdBasedComment | +| FT_kappa | CT_gamma, CT_delta | +``` + +## Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +### Comment linked to WeekBasedCapacityGroup + +This test checks the basic implementation of the comment feature within the GUI. + +```cucumber +Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked to WeekBasedCapacityGroup + Given I have a comment that is linked to a WeekBasedCapacityGroup + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup the comment is linking +``` + +### Comment linked to WeekBasedMaterialDemand + +This test checks the basic implementation of the comment feature within the GUI. + +```cucumber +Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked to WeekBasedMaterialDemand + Given I have a comment that is linked to a WeekBasedMaterialDemand + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedMaterialDemand the comment is linking + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the comment is linking + * the comments should be presented in a tree view +``` + +### Comment linked to IdBasedComment + +This test checks the basic implementation of the comment feature within the GUI. + +```cucumber +Feature: Supplier: Visualize IdBasedComment together with CapacityGroup and MaterialDemand + +Scenario: Comment linked to IdBasedComment + Given I have a comment that is linked to an IdBasedComment + When I try to view this comment in the graphical user interface + Then I should be able to view this comment in a list of all comments + * I should be able to view this comment by navigating to the WeekBasedMaterialDemand the IdBasedComment is linking, the comment is linking + * I should be able to view this comment by navigating to the WeekBasedCapacityGroup, the WeekBasedMaterialDemand is linked to, the IdBasedComment is linking, the comment is linking +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 CatX Service GmbH +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Demand and Capacity Management Kit/operation-view.md b/docs-kits/kits/Demand and Capacity Management Kit/operation-view.md new file mode 100644 index 00000000000..bab276e810a --- /dev/null +++ b/docs-kits/kits/Demand and Capacity Management Kit/operation-view.md @@ -0,0 +1,39 @@ +--- +id: operation-view +title: Operation View +description: Your first steps +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM FOSS Application + +A free and open source software (FOSS) implementing the Catena-X standard CX-0128 is under development. Feel free to contribute to this community effort and visit the corresponding [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) and [GitHub project](https://github.com/orgs/eclipse-tractusx/projects/66). + +### Prerequisites + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +### Authorization information + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +### Deployment + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 SupplyOn AG +- SPDX-FileCopyrightText: 2023 Volkswagen AG +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx deleted file mode 100644 index 08dea9e47f6..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: dotaas-part-2-http-rest-discovery-service-specification -title: "DotAAS Part 2 | HTTP/REST | Discovery Service Specification" -description: "The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0_SSP-001 - -# DotAAS Part 2 | HTTP/REST | Discovery Service Specification - - - -The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023 - -

          Contact

          Industrial Digital Twin Association (IDTA): info@idtwin.org

          License

          CC BY 4.0
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx deleted file mode 100644 index 47b373a2912..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-all-asset-administration-shell-ids-by-asset-link -title: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -description: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -sidebar_label: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Basic Discovery API"],"operationId":"GetAllAssetAdministrationShellIdsByAssetLink","parameters":[{"name":"assetIds","in":"query","description":"A list of specific Asset identifiers","required":false,"style":"form","explode":true,"schema":{"type":"array","example":"[ { \"name\": \"some-asset-id\", \"value\": \"http://example-company.com/myAsset\", \"externalSubjectId\": { \"keys\": [ { \"type\": \"GlobalReference\", \"value\": \"http://example-company.com/example-companys-asset-keys\" } ], \"type\": \"GlobalReference\" } }, { \"name\": \"some-other-asset-id\", \"value\": \"12345ABC\", \"externalSubjectId\": { \"keys\": [ { \"type\": \"GlobalReference\", \"value\": \"http://my-own-company.com/keys\" } ], \"type\": \"GlobalReference\" } } ]","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}}},{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requested Asset Administration Shell ids","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetAdministrationShellIdsByAssetLink/3/0"],"description":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","method":"get","path":"/lookup/shells","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","description":{"type":"text/plain"},"url":{"path":["lookup","shells"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"A list of specific Asset identifiers","type":"text/plain"},"key":"assetIds","value":""},{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of Asset Administration Shell ids linked to specific Asset identifiers - - - -Returns a list of Asset Administration Shell ids linked to specific Asset identifiers - -
          Query Parameters
          - -Requested Asset Administration Shell ids - -
          Schema array
          • string
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx deleted file mode 100644 index 4f31609fee2..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: get-all-asset-links-by-id -title: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -description: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -sidebar_label: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Basic Discovery API"],"operationId":"GetAllAssetLinksById","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested specific Asset identifiers","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetLinksById/3/0"],"description":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","method":"get","path":"/lookup/shells/{aasIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","description":{"type":"text/plain"},"url":{"path":["lookup","shells",":aasIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content - - - -Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content - -
          Path Parameters
          - -Requested specific Asset identifiers - -
          Schema array
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            externalSubjectId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
          - -Not Found - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx deleted file mode 100644 index 521f8f82b01..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["AssetAdministrationShellServiceSpecification/V3.0","AssetAdministrationShellServiceSpecification/V3.0-MinimalProfile","SubmodelServiceSpecification/V3.0","SubmodelServiceSpecification/V3.0-ValueProfile","SubmodelServiceSpecification/V3.0-MinimalProfile","AasxFileServerServiceSpecification/V3.0","RegistryServiceSpecification/V3.0","RegistryServiceSpecification/V3.0- AssetAdministrationShellRegistry","RegistryServiceSpecification/V3.0-SubmodelRegistry","RepositoryServiceSpecification/V3.0","RepositoryServiceSpecification/V3.0-MinimalProfile","AssetAdministrationShellRepositoryServiceSpecification/V3.0","AssetAdministrationShellRepositoryServiceSpecification/V3.0-MinimalProfile","SubmodelRepositoryServiceSpecification/V3.0","SubmodelRepositoryServiceSpecification/V3.0-MinimalProfile","RegistryAndDiscoveryServiceSpecification/V3.0"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"RepositoryServiceSpecification/V3.0-MinimalProfile\",\n \"RegistryServiceSpecification/V3.0\"\n ]\n}"}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
          - -Requested Description - -
          Schema
            = 1`"} defaultValue={undefined}>
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js deleted file mode 100644 index 7db655518ea..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification"},{"type":"category","label":"Asset Administration Shell Basic Discovery API","link":{"type":"generated-index","title":"Asset Administration Shell Basic Discovery API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery/asset-administration-shell-basic-discovery-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-all-asset-administration-shell-ids-by-asset-link","label":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-all-asset-links-by-id","label":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx deleted file mode 100644 index 3b413b7c2bb..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: dotaas-part-2-http-rest-registry-service-specification -title: "DotAAS Part 2 | HTTP/REST | Registry Service Specification" -description: "The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0_SSP-002 - -# DotAAS Part 2 | HTTP/REST | Registry Service Specification - - - -The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023 - -

          Contact

          Industrial Digital Twin Association (IDTA): info@idtwin.org

          License

          CC BY 4.0
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx deleted file mode 100644 index 750e2627547..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx +++ /dev/null @@ -1,290 +0,0 @@ ---- -id: get-all-asset-administration-shell-descriptors -title: "Returns all Asset Administration Shell Descriptors" -description: "Returns all Asset Administration Shell Descriptors" -sidebar_label: "Returns all Asset Administration Shell Descriptors" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAllAssetAdministrationShellDescriptors","parameters":[{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}},{"name":"assetKind","in":"query","description":"The Asset's kind (Instance or Type)","required":false,"schema":{"type":"string","enum":["Instance","NotApplicable","Type"]}},{"name":"assetType","in":"query","description":"The Asset's type (UTF8-BASE64-URL-encoded)","required":false,"schema":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"}}],"responses":{"200":{"description":"Requested Asset Administration Shell Descriptors","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"paging_metadata":{"type":"object","properties":{"cursor":{"type":"string","example":"wJlCDLIl6KTWypN7T6vc6nWEmEYe99Hjf1XY1xmqV-M=#"}}}}},{"type":"object","properties":{"result":{"type":"array","items":{"required":["id"],"type":"object","example":"{ \"id\": \"https://example.org/aas/motor\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"},{"properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"assetKind":{"type":"string","enum":["Instance","NotApplicable","Type"]},"assetType":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"globalAssetId":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"specificAssetIds":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"submodelDescriptors":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptors/3/0","https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetKind/3/0","https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetType/3/0"],"description":"Returns all Asset Administration Shell Descriptors","method":"get","path":"/shell-descriptors","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns all Asset Administration Shell Descriptors","description":{"type":"text/plain"},"url":{"path":["shell-descriptors"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""},{"disabled":false,"description":{"content":"The Asset's kind (Instance or Type)","type":"text/plain"},"key":"assetKind","value":""},{"disabled":false,"description":{"content":"The Asset's type (UTF8-BASE64-URL-encoded)","type":"text/plain"},"key":"assetType","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all Asset Administration Shell Descriptors - - - -Returns all Asset Administration Shell Descriptors - -
          Query Parameters
          - -Requested Asset Administration Shell Descriptors - -
          Schema
            paging_metadata object
            result object[]
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            administration object
            embeddedDataSpecifications object[]
            - -**Possible values:** `>= 1` - -
            dataSpecification
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            dataSpecificationContent object
            oneOf
            preferredName object[]
            - -**Possible values:** `>= 1` - -
            shortName object[]
            - -**Possible values:** `>= 1` - -
            unitId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            definition object[]
            - -**Possible values:** `>= 1` - -
            valueList object
            valueReferencePairs object[]
            - -**Possible values:** `>= 1` - -
            valueId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            levelType object
            creator
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            endpoints object[]
            - -**Possible values:** `>= 1` - -
            protocolInformation object
            securityAttributes object[]
            - -**Possible values:** `>= 1` - -
            specificAssetIds object[]
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            externalSubjectId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            submodelDescriptors object[]
            administration object
            embeddedDataSpecifications object[]
            - -**Possible values:** `>= 1` - -
            dataSpecification
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            dataSpecificationContent object
            oneOf
            preferredName object[]
            - -**Possible values:** `>= 1` - -
            shortName object[]
            - -**Possible values:** `>= 1` - -
            unitId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            definition object[]
            - -**Possible values:** `>= 1` - -
            valueList object
            valueReferencePairs object[]
            - -**Possible values:** `>= 1` - -
            valueId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            levelType object
            creator
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            endpoints object[]
            - -**Possible values:** `>= 1` - -
            protocolInformation object
            securityAttributes object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticId undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
          - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - -Internal Server Error - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx deleted file mode 100644 index bc3b042b01a..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx +++ /dev/null @@ -1,170 +0,0 @@ ---- -id: get-all-submodel-descriptors-through-superpath -title: "Returns all Submodel Descriptors" -description: "Returns all Submodel Descriptors" -sidebar_label: "Returns all Submodel Descriptors" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAllSubmodelDescriptorsThroughSuperpath","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}},{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requested Submodel Descriptors","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"paging_metadata":{"type":"object","properties":{"cursor":{"type":"string","example":"wJlCDLIl6KTWypN7T6vc6nWEmEYe99Hjf1XY1xmqV-M=#"}}}}},{"type":"object","properties":{"result":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0"],"description":"Returns all Submodel Descriptors","method":"get","path":"/shell-descriptors/{aasIdentifier}/submodel-descriptors","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns all Submodel Descriptors","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier","submodel-descriptors"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all Submodel Descriptors - - - -Returns all Submodel Descriptors - -
          Path Parameters
          Query Parameters
          - -Requested Submodel Descriptors - -
          Schema
            paging_metadata object
            result object[]
            administration object
            embeddedDataSpecifications object[]
            - -**Possible values:** `>= 1` - -
            dataSpecification
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            dataSpecificationContent object
            oneOf
            preferredName object[]
            - -**Possible values:** `>= 1` - -
            shortName object[]
            - -**Possible values:** `>= 1` - -
            unitId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            definition object[]
            - -**Possible values:** `>= 1` - -
            valueList object
            valueReferencePairs object[]
            - -**Possible values:** `>= 1` - -
            valueId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            levelType object
            creator
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            endpoints object[]
            - -**Possible values:** `>= 1` - -
            protocolInformation object
            securityAttributes object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticId undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
          - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - -Not Found - -
          Schema
            messages object[]
          - -Internal Server Error - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx deleted file mode 100644 index c6b4f1342c4..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx +++ /dev/null @@ -1,294 +0,0 @@ ---- -id: get-asset-administration-shell-descriptor-by-id -title: "Returns a specific Asset Administration Shell Descriptor" -description: "Returns a specific Asset Administration Shell Descriptor" -sidebar_label: "Returns a specific Asset Administration Shell Descriptor" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAssetAdministrationShellDescriptorById","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested Asset Administration Shell Descriptor","content":{"application/json":{"schema":{"required":["id"],"type":"object","example":"{ \"id\": \"https://example.org/aas/motor\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"},{"properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"assetKind":{"type":"string","enum":["Instance","NotApplicable","Type"]},"assetType":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"globalAssetId":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"specificAssetIds":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"submodelDescriptors":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAssetAdministrationShellDescriptorById/3/0"],"description":"Returns a specific Asset Administration Shell Descriptor","method":"get","path":"/shell-descriptors/{aasIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns a specific Asset Administration Shell Descriptor","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a specific Asset Administration Shell Descriptor - - - -Returns a specific Asset Administration Shell Descriptor - -
          Path Parameters
          - -Requested Asset Administration Shell Descriptor - -
          Schema
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            administration object
            embeddedDataSpecifications object[]
            - -**Possible values:** `>= 1` - -
            dataSpecification
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            dataSpecificationContent object
            oneOf
            preferredName object[]
            - -**Possible values:** `>= 1` - -
            shortName object[]
            - -**Possible values:** `>= 1` - -
            unitId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            definition object[]
            - -**Possible values:** `>= 1` - -
            valueList object
            valueReferencePairs object[]
            - -**Possible values:** `>= 1` - -
            valueId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            levelType object
            creator
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            endpoints object[]
            - -**Possible values:** `>= 1` - -
            protocolInformation object
            securityAttributes object[]
            - -**Possible values:** `>= 1` - -
            specificAssetIds object[]
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            externalSubjectId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            submodelDescriptors object[]
            administration object
            embeddedDataSpecifications object[]
            - -**Possible values:** `>= 1` - -
            dataSpecification
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            dataSpecificationContent object
            oneOf
            preferredName object[]
            - -**Possible values:** `>= 1` - -
            shortName object[]
            - -**Possible values:** `>= 1` - -
            unitId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            definition object[]
            - -**Possible values:** `>= 1` - -
            valueList object
            valueReferencePairs object[]
            - -**Possible values:** `>= 1` - -
            valueId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            levelType object
            creator
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            endpoints object[]
            - -**Possible values:** `>= 1` - -
            protocolInformation object
            securityAttributes object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticId undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
          - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - -Not Found - -
          Schema
            messages object[]
          - -Internal Server Error - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx deleted file mode 100644 index 119c5524882..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["AssetAdministrationShellServiceSpecification/V3.0","AssetAdministrationShellServiceSpecification/V3.0-MinimalProfile","SubmodelServiceSpecification/V3.0","SubmodelServiceSpecification/V3.0-ValueProfile","SubmodelServiceSpecification/V3.0-MinimalProfile","AasxFileServerServiceSpecification/V3.0","RegistryServiceSpecification/V3.0","RegistryServiceSpecification/V3.0- AssetAdministrationShellRegistry","RegistryServiceSpecification/V3.0-SubmodelRegistry","RepositoryServiceSpecification/V3.0","RepositoryServiceSpecification/V3.0-MinimalProfile","AssetAdministrationShellRepositoryServiceSpecification/V3.0","AssetAdministrationShellRepositoryServiceSpecification/V3.0-MinimalProfile","SubmodelRepositoryServiceSpecification/V3.0","SubmodelRepositoryServiceSpecification/V3.0-MinimalProfile","RegistryAndDiscoveryServiceSpecification/V3.0"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"RepositoryServiceSpecification/V3.0-MinimalProfile\",\n \"RegistryServiceSpecification/V3.0\"\n ]\n}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
          - -Requested Description - -
          Schema
            = 1`"} defaultValue={undefined}>
          - -Forbidden - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx deleted file mode 100644 index 031655498f5..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: get-submodel-descriptor-by-id-through-superpath -title: "Returns a specific Submodel Descriptor" -description: "Returns a specific Submodel Descriptor" -sidebar_label: "Returns a specific Submodel Descriptor" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetSubmodelDescriptorByIdThroughSuperpath","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}},{"name":"submodelIdentifier","in":"path","description":"The Submodel’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested Submodel Descriptor","content":{"application/json":{"schema":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0"],"description":"Returns a specific Submodel Descriptor","method":"get","path":"/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns a specific Submodel Descriptor","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier","submodel-descriptors",":submodelIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"},{"disabled":false,"description":{"content":"(Required) The Submodel’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"submodelIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a specific Submodel Descriptor - - - -Returns a specific Submodel Descriptor - -
          Path Parameters
          - -Requested Submodel Descriptor - -
          Schema
            description object[]
            displayName object[]
            extensions object[]
            - -**Possible values:** `>= 1` - -
            semanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            supplementalSemanticIds undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
            refersTo undefined[]
            - -**Possible values:** `>= 1` - -
            keys object[]
            - -**Possible values:** `>= 1` - -
            referredSemanticId
            keys object[]
            - -**Possible values:** `>= 1` - -
          - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - -Not Found - -
          Schema
            messages object[]
          - -Internal Server Error - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js deleted file mode 100644 index 21de37e94ab..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification"},{"type":"category","label":"Asset Administration Shell Registry API","link":{"type":"generated-index","title":"Asset Administration Shell Registry API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry/asset-administration-shell-registry-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-all-asset-administration-shell-descriptors","label":"Returns all Asset Administration Shell Descriptors","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-asset-administration-shell-descriptor-by-id","label":"Returns a specific Asset Administration Shell Descriptor","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-all-submodel-descriptors-through-superpath","label":"Returns all Submodel Descriptors","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-submodel-descriptor-by-id-through-superpath","label":"Returns a specific Submodel Descriptor","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx deleted file mode 100644 index 5e953cfe130..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: bpn-discovery-service -title: "BPN Discovery Service" -description: "BPN Discovery Service to find BPN based on a local identifier." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 0.0.1 - -# BPN Discovery Service - - - -BPN Discovery Service to find BPN based on a local identifier. - -

          Authentication

          Contact

          SLDT Team:
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx deleted file mode 100644 index 24d787cc423..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: delete-bpn-discovery-by-id -title: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -description: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -sidebar_label: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"DeleteBpnDiscoveryById","parameters":[{"name":"resourceId","in":"path","description":"The IdentifierKeyValue unique id (BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"BPN Identifier Key-Value deleted successfully"}},"description":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","method":"delete","path":"/api/administration/connectors/bpnDiscovery/{resourceId}","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery",":resourceId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The IdentifierKeyValue unique id (BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"resourceId"}]},"method":"DELETE"}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - - - -Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - -
          Path Parameters
          - -BPN Identifier Key-Value deleted successfully - -
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx deleted file mode 100644 index bc86018cb5d..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-bpn-discoveries -title: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -description: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -sidebar_label: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"GetBpnDiscoveries","requestBody":{"description":"the request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with the corresponding BPN. Please add minimum one key-value pair.","content":{"application/json":{"schema":{"title":"SearchRequest","properties":{"searchFilter":{"title":"searchFilter","type":"array","maxItems":10000,"items":{"title":"SearchIdentifierTypeKeyPair","properties":{"type":{"type":"string","minLength":1,"maxLength":200},"keys":{"type":"array","maxItems":10000,"items":{"type":"string"}}}}}}},"examples":{"complete":{"value":{"searchFilter":[{"type":"oen","keys":["oen-1243","oen-11"]},{"type":"bpid","keys":["bpid-1243","bpid-11"]}]}}}}},"required":true},"responses":{"200":{"description":"key value for BPN created successfully","content":{"application/json":{"schema":{"title":"BpnCollection","properties":{"bpns":{"title":"bpns","type":"array","items":{"title":"Bpn","required":["type","key","value","resourceId"],"properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"resourceId":{"type":"string"}}}}}},"examples":{"complete":{"value":{"bpns":[{"type":"oen","key":"oen-1243","value":"bpn-123","resourceId":"1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"},{"type":"oen","key":"oen-11","value":"bpn-123","resourceId":"972262d7-7e05-4578-936f-de236d7feb94"},{"type":"bpid","key":"bpid-1243","value":"bpn-444","resourceId":"1b754aeb-c753-4adf-ae6d-52842f5a38b7"},{"type":"bpid","key":"oen-11","value":"bpn-444","resourceId":"e43f9cf8-f0d4-4c51-b7fe-b68ea4aeea7c"}]}}}}}}},"description":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","method":"post","path":"/api/administration/connectors/bpnDiscovery/search","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"searchFilter":[{"type":"string","keys":["string"]}]},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.) - - - -Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.) - -
          Request Body required
          - -the request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with the corresponding BPN. Please add minimum one key-value pair. - -
            searchFilter SearchIdentifierTypeKeyPair[]
            - -**Possible values:** `<= 10000` - -
          - -key value for BPN created successfully - -
          Schema
            bpns Bpn[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx deleted file mode 100644 index c3cc42171f9..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: post-batch-bpn-discovery -title: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -description: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -sidebar_label: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"PostBatchBpnDiscovery","requestBody":{"description":"The request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with success/error message on persistance of this key-value-pairs. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN.","content":{"application/json":{"schema":{"type":"array","maxItems":10000,"items":{"title":"IdentifierTypeKeyPair","required":["type","key"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"key":{"type":"string","minLength":1,"maxLength":200}}}},"examples":{"complete":{"value":[{"type":"oenId","key":"oenId-123"},{"type":"oen","key":"oen-4444"},{"type":"bpid","key":"bpid-123"}]}}}},"required":true},"responses":{"201":{"description":"key value for BPN in batch created successfully","content":{"application/json":{"schema":{"type":"array","maxItems":10000,"items":{"type":"object","required":["message","key","status"],"properties":{"message":{"type":"string","description":"The detailed message for the creation."},"details":{"type":"object","additionalProperties":{"type":"object"},"description":"An object with key/value pairs containing additional information exception."},"key":{"type":"string","description":"The created key."},"status":{"type":"integer","description":"The status code"}}}},"examples":{"complete":{"value":[{"message":"Validation failed.","details":{"type":"type oenId is not allowed."},"key":"oenId-123","status":400},{"message":"BpnDiscovery successfully created","details":null,"key":"oen-4444","status":200},{"message":"BpnDiscovery successfully created","details":null,"key":"bpid-123","status":200}]}}}}}},"description":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","method":"post","path":"/api/administration/connectors/bpnDiscovery/batch","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":[{"type":"string","key":"string"}],"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery","batch"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch. - - - -Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch. - -
          Request Body array required
          - -The request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with success/error message on persistance of this key-value-pairs. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN. - -
          - -key value for BPN in batch created successfully - -
          Schema array
            details object
            - -An object with key/value pairs containing additional information exception. - -
          • property name* object
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx deleted file mode 100644 index e2f76bd636c..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-bpn-discovery -title: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -description: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -sidebar_label: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"PostBpnDiscovery","requestBody":{"description":"the request body is expecting a key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pair, where this service will respond with success/error message on persistance of this key-value-pair. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN.","content":{"application/json":{"schema":{"title":"IdentifierTypeKeyPair","required":["type","key"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"key":{"type":"string","minLength":1,"maxLength":200}}},"examples":{"complete":{"value":{"type":"oen","key":"oen-123"}}}}},"required":true},"responses":{"201":{"description":"key value for BPN created successfully","content":{"application/json":{"schema":{"title":"Bpn","required":["type","key","value","resourceId"],"properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","key":"oen-1243","value":"bpn-123","resourceId":"1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"}}}}}}},"description":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","method":"post","path":"/api/administration/connectors/bpnDiscovery","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"type":"string","key":"string"},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - - - -Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - -
          Request Body required
          - -the request body is expecting a key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pair, where this service will respond with success/error message on persistance of this key-value-pair. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN. - -
          - -key value for BPN created successfully - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js deleted file mode 100644 index b1dd8251cad..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service"},{"type":"category","label":"Discovery","link":{"type":"generated-index","title":"Discovery","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery/discovery"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//post-bpn-discovery","label":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//post-batch-bpn-discovery","label":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//get-bpn-discoveries","label":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//delete-bpn-discovery-by-id","label":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx deleted file mode 100644 index 2a0a08b5a3a..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: delete-discovery-endpoint-by-resource-id -title: "Delete the endpoint to BPN discovery services and the EDC discovery service." -description: "Delete the endpoint to BPN discovery services and the EDC discovery service." -sidebar_label: "Delete the endpoint to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"DeleteDiscoveryEndpointByResourceId","parameters":[{"name":"resourceId","in":"path","description":"The IdentifierKeyValue unique id (BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Discovery Endpoint deleted successfully"}},"description":"Delete the endpoint to BPN discovery services and the EDC discovery service.","method":"delete","path":"/api/administration/connectors/discovery/{resourceId}","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Delete the endpoint to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery",":resourceId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The IdentifierKeyValue unique id (BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"resourceId"}]},"method":"DELETE"}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Delete the endpoint to BPN discovery services and the EDC discovery service. - - - -Delete the endpoint to BPN discovery services and the EDC discovery service. - -
          Path Parameters
          - -Discovery Endpoint deleted successfully - -
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx deleted file mode 100644 index 408672cb3a9..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: discovery-finder -title: "Discovery Finder" -description: "Discovery Finder to find endpoint of the BPN/EDC Discovery." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 0.0.1 - -# Discovery Finder - - - -Discovery Finder to find endpoint of the BPN/EDC Discovery. - -

          Authentication

          Contact

          SLDT Team:
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx deleted file mode 100644 index d0fd6660cb5..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-discovery-endpoints -title: "Find the endpoints to BPN discovery services and the EDC discovery service." -description: "Find the endpoints to BPN discovery services and the EDC discovery service." -sidebar_label: "Find the endpoints to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"GetDiscoveryEndpoints","requestBody":{"description":"The request body is expecting a list of types ( e.g. oen, bpid, etc.) to return available discovery endpoints.","content":{"application/json":{"schema":{"title":"SearchRequest","required":["types"],"properties":{"types":{"title":"types","type":"array","maxItems":10000,"items":{"type":"string"}}}},"examples":{"complete":{"value":{"types":["oen","bpid","bpn"]}}}}},"required":true},"responses":{"200":{"description":"Returns discovery endpoints based on search filter.","content":{"application/json":{"schema":{"title":"DiscoveryEndpointCollection","properties":{"endpoints":{"title":"endpoints","type":"array","maxItems":10000,"items":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}}}}},"examples":{"complete":{"value":{"endpoints":[{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"ec6f407b-4296-418c-9e4e-fb739fe72a67"},{"type":"bpid","description":"Service to discover BPN to a particular Battery Pass ID","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"08702529-3714-4c4f-b022-346b9b4fbbe2"},{"type":"bpn","description":"Service to discover EDC to a particular BPN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"316417cd-0fb5-4daf-8dfa-8f68125923f1"}]}}}}}}},"description":"Find the endpoints to BPN discovery services and the EDC discovery service.","method":"post","path":"/api/administration/connectors/discovery/search","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"types":["string"]},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Find the endpoints to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Find the endpoints to BPN discovery services and the EDC discovery service. - - - -Find the endpoints to BPN discovery services and the EDC discovery service. - -
          Request Body required
          - -The request body is expecting a list of types ( e.g. oen, bpid, etc.) to return available discovery endpoints. - -
          - -Returns discovery endpoints based on search filter. - -
          Schema
            endpoints DiscoveryEndpoint[]
            - -**Possible values:** `<= 10000` - -
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx deleted file mode 100644 index 94ae9a6ca45..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-discovery-endpoint -title: "Define the endpoint to BPN discovery services and the EDC discovery service." -description: "Define the endpoint to BPN discovery services and the EDC discovery service." -sidebar_label: "Define the endpoint to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"PostDiscoveryEndpoint","requestBody":{"description":"Create new endpoint for bpn discovery service / edc discovery service. The type is uniqued. This service is allowed to administrators only","content":{"application/json":{"schema":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html"}}}}},"required":true},"responses":{"201":{"description":"Discovery Endpoint created successfully","content":{"application/json":{"schema":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"ec6f407b-4296-418c-9e4e-fb739fe72a67"}}}}}}},"description":"Define the endpoint to BPN discovery services and the EDC discovery service.","method":"post","path":"/api/administration/connectors/discovery","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"type":"string","description":"string","endpointAddress":"string","documentation":"string","resourceId":"string"},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Define the endpoint to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Define the endpoint to BPN discovery services and the EDC discovery service. - - - -Define the endpoint to BPN discovery services and the EDC discovery service. - -
          Request Body required
          - -Create new endpoint for bpn discovery service / edc discovery service. The type is uniqued. This service is allowed to administrators only - -
          - -Discovery Endpoint created successfully - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js deleted file mode 100644 index d69d5fb8a55..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder"},{"type":"category","label":"Finder","link":{"type":"generated-index","title":"Finder","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder/finder"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//post-discovery-endpoint","label":"Define the endpoint to BPN discovery services and the EDC discovery service.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//get-discovery-endpoints","label":"Find the endpoints to BPN discovery services and the EDC discovery service.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//delete-discovery-endpoint-by-resource-id","label":"Delete the endpoint to BPN discovery services and the EDC discovery service.","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx deleted file mode 100644 index c6414300ef6..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors -title: "post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)" -description: "Example: POST: /api/administration/connectors/discovery" -sidebar_label: "post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Connectors"],"description":"Example: POST: /api/administration/connectors/discovery","requestBody":{"description":"Single or List of Business Partner Number of the company.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}},"application/*+json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returns company connector per bpn.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"bpn":{"type":"string","description":"","nullable":true},"connectorEndpoint":{"type":"array","items":{"type":"string"},"description":"","nullable":true}},"additionalProperties":false,"description":""}}}}},"401":{"description":"The User is unauthorized"},"500":{"description":"Internal Server Error"}},"method":"post","path":"/api/administration/Connectors/discovery","security":[{"Bearer":[]}],"securitySchemes":{"Bearer":{"type":"apiKey","description":"JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"","name":"Authorization","in":"header"}},"jsonRequestBodyExample":["string"],"info":{"title":"Org.Eclipse.TractusX.Portal.Backend.Administration.Service","version":"v2"},"postman":{"name":"post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)","description":{"content":"Example: POST: /api/administration/connectors/discovery","type":"text/plain"},"url":{"path":["api","administration","Connectors","discovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery//org-eclipse-tractusx-portal-backend-administration-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors) - - - -Example: POST: /api/administration/connectors/discovery - -
          Request Body array
          - -Single or List of Business Partner Number of the company. - -
          • string
          Request Body array
          - -Single or List of Business Partner Number of the company. - -
          • string
          Request Body array
          - -Single or List of Business Partner Number of the company. - -
          • string
          - -Returns company connector per bpn. - -
          Schema array
          - -The User is unauthorized - -
          - -Internal Server Error - -
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js deleted file mode 100644 index fbd8cfacb8a..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = [ -{ - "type":"category","label":"Connectors","link": - { - "type":"generated-index","title":"Connectors","slug":"/category/kits/Digital Twin Kit/Software Development View/API EDC Discovery/connectors" - }, - "items": - [{ - "type":"doc","id":"kits/Digital Twin Kit/Software Development View/API EDC Discovery//post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors","label":"post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)","className":"api-method post" - }]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx deleted file mode 100644 index 5da2065f6c9..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: dotaas-part-2-http-rest-submodel-service-specification -title: "DotAAS Part 2 | HTTP/REST | Submodel Service Specification" -description: "The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub)." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0.1_SSP-003 - -# DotAAS Part 2 | HTTP/REST | Submodel Service Specification - - - -The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). -Publisher: Industrial Digital Twin Association (IDTA) April 2023 - -

          Contact

          Industrial Digital Twin Association (IDTA): info@idtwin.org

          License

          CC BY 4.0
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx deleted file mode 100644 index 340110b9c46..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003","https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004","https://admin-shell.io/aas/API/3/0/ConceptDescriptionServiceSpecification/SSP-001"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002\",\n \"https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002\"\n ]\n}"}}}},"401":{"description":"Unauthorized, e.g. the server refused the authorization attempt.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Submodel Service Specification","description":"The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). \nPublisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0.1_SSP-003"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
          - -Requested Description - -
          Schema
            = 1`"} defaultValue={undefined}>
          - -Unauthorized, e.g. the server refused the authorization attempt. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx b/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx deleted file mode 100644 index ab00e898fd2..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: get-submodel-value-only -title: "Returns the Submodel in the ValueOnly representation" -description: "Returns the Submodel in the ValueOnly representation" -sidebar_label: "Returns the Submodel in the ValueOnly representation" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Submodel API"],"operationId":"GetSubmodel-ValueOnly","parameters":[{"name":"level","in":"query","description":"Determines the structural depth of the respective resource content","required":false,"schema":{"type":"string","default":"deep","enum":["deep"]}},{"name":"extent","in":"query","description":"Determines to which extent the resource is being serialized","required":false,"schema":{"type":"string","default":"withoutBlobValue","enum":["withBlobValue"]}}],"responses":{"200":{"description":"ValueOnly representation of the Submodel","content":{"application/json":{"schema":{"properties":{"submodelElements":{"minItems":1,"type":"array","items":{"allOf":[{"allOf":[{"type":"object","properties":{"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}}},{"required":["modelType"],"properties":{"category":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"idShort":{"type":"string","allOf":[{"maxLength":128,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^[a-zA-Z][a-zA-Z0-9_]*$"}]},"displayName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"description":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}}]},{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["modelType"],"type":"object","properties":{"qualifiers":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["type","valueType"],"properties":{"kind":{"type":"string","enum":["ConceptQualifier","TemplateQualifier","ValueQualifier"]},"type":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}}]}}}}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"401":{"description":"Unauthorized, e.g. the server refused the authorization attempt.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetSubmodelById/3/0"],"description":"Returns the Submodel in the ValueOnly representation","method":"get","path":"/submodel/$value","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Submodel Service Specification","description":"The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). \nPublisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0.1_SSP-003"},"postman":{"name":"Returns the Submodel in the ValueOnly representation","description":{"type":"text/plain"},"url":{"path":["submodel","$value"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Determines the structural depth of the respective resource content","type":"text/plain"},"key":"level","value":""},{"disabled":false,"description":{"content":"Determines to which extent the resource is being serialized","type":"text/plain"},"key":"extent","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the Submodel in the ValueOnly representation - - - -Returns the Submodel in the ValueOnly representation - -
          Query Parameters
          - -ValueOnly representation of the Submodel - -
          Schema
            = 1`"} defaultValue={undefined}>
          - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
          Schema
            messages object[]
          - -Unauthorized, e.g. the server refused the authorization attempt. - -
          Schema
            messages object[]
          - -Forbidden - -
          Schema
            messages object[]
          - -Internal Server Error - -
          Schema
            messages object[]
          - -Default error handling for unmentioned status codes - -
          Schema
            messages object[]
          - \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js b/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js deleted file mode 100644 index b0e1ee3922f..00000000000 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification"},{"type":"category","label":"Submodel API","link":{"type":"generated-index","title":"Submodel API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel/submodel-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//get-submodel-value-only","label":"Returns the Submodel in the ValueOnly representation","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md b/docs-kits/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md index c3c277154f3..eb82d70e03c 100644 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md +++ b/docs-kits/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md @@ -84,6 +84,7 @@ sequenceDiagram participant Con as Data Consumer participant CEDC as Consumer EDC
          Control Plane participant PEDC as Provider EDC
          Control Plane + participant PEDCDP as Provider EDC
          Data Plane participant DTR as Digital Twin Registry participant SM as Submodel Server participant EDCD as EDC Discovery @@ -109,8 +110,10 @@ autonumber CEDC-->>Con: Dataset for submodel(-bundle) Con->>PEDC: negotiate for Dataset and retrieve token PEDC-->>Con: access token - Con->>SM: GET {{submodel-descriptor/href}}/$value - SM-->>Con: data + Con->>PEDCDP: GET {{submodel-descriptor/href}}/$value + PEDCDP-->>SM: consume + SM-->>PEDCDP: return + PEDCDP-->>Con: data ``` If the `data` is a Bill of diff --git a/docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md b/docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md index 685e5dcee71..e78f00bbb58 100644 --- a/docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md +++ b/docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md @@ -23,15 +23,15 @@ the [Operation View](../page_software-operation-view.md). ## API Specifications -All openAPI-specifications for the Digital Twin Kit services are rendered in the -section [of these docs](API%20AAS%20Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx) +All openAPI-specifications for the Digital Twin Kit services are stored in the [openApi section](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/openApi/dt) of this repo. +Please note that these are non-normative replicas from the original standards and their normative references. ### Asset Administration Shell The Asset Administration Shell (AAS) is a specification that is released by the [Industrial Digital Twin Association (IDTA)](https://industrialdigitaltwin.org/) -with a perspective to be adopted by the [International Electrotechnical Commission (IEC)](https://www.iec.ch/homepage) as -IEC 63278. +and already partly adopted by the [International Electrotechnical Commission (IEC)](https://www.iec.ch/homepage) as +[IEC 63278](https://webstore.iec.ch/en/publication/65628). Its mission is defining how “information about assets […] can be exchanged in a meaningful way between partners in a value creation network” ([IDTA 01001-3-0](https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01001-3-0_SpecificationAssetAdministrationShell_Part1_Metamodel.pdf) @@ -69,7 +69,7 @@ security setup etc.). As the information contained in the DTR may be sensitive a every data provider must offer his own DTR as an EDC Data Asset. While it is only mandatory to implement the GET endpoints as specified in -the [Development View](API%20AAS%20Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx), +the [Standard CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX), data providers may find it useful to implement other requests for registration on top. Either way, they are free to populate their DTR in any way they desire. @@ -162,9 +162,8 @@ A full example on the default case is shown in the next section. #### Registering a new Twin Registration of a new twin is (at least in Catena-X) equivalent to the creation of a new twin. Thus, a Data Provider -should always ensure that there is no AAS-descriptor created for the respective assetIds yet. If there already is one, -the submodel-descriptor should -be [added to the existing shell-descriptor](#registering-a-new-submodel-at-an-existing-twin). +should always ensure that an AAS-descriptor for the respective assetIds does not exist yet. If one exists, the +submodel-descriptor should be [added to the existing shell-descriptor](#registering-a-new-submodel-at-an-existing-twin). `POST /shell-descriptors` @@ -480,14 +479,14 @@ differences are the changed typization. `proxyPath` parameter should be set `"tr ### Usage Policies For Digital Twin Registries, Data Providers are encouraged to only extend Data Offers that make no explicit checks to -use-case frameworks (formerly known as `FrameworkAgreements`. The DTR is an Enablement Service that should only be +use-case frameworks (formerly known as `FrameworkAgreement`s). The DTR is an Enablement Service that should only be visible once to every Data Consumer in the DSP-Catalog because it is a meta-data broker for data from multiple use-cases. Registering it with a Constraint that's specific to a particular use-case would restrict it only to a small subset of the dataspace. Of course, the DTR could be registered once per use-case but that's not recommended as it bloats the catalog and requires a lot of consumer-side processing. That's why Offers for a DTR should always be extended to the dataspace using the at least two Constraints: -1. Check for an active `Membership` credential. This is agnostic to use-cases but still ensures that a Consumer's VP +1. Check for an active `DataExchangeGovernanceCredential` credential. This is agnostic to use-cases but still ensures that a Consumer's VP is valid and issued by a common trust-anchor. 2. using the DTR as a roadsign in the discovery process is legitimate but requires a set of predefined behavior which is why there's a `purpose` for the DTR. @@ -497,10 +496,7 @@ Here's an example ````json { "@context": [ - "https://www.w3.org/ns/odrl.jsonld", - { - "cx-policy": "https://w3id.org/catenax/policy/" - } + "https://www.w3.org/ns/odrl.jsonld" ], "@type": "Policy", "permission": [ @@ -509,12 +505,12 @@ Here's an example "constraint": { "and": [ { - "leftOperand": "cx-policy:Membership", + "leftOperand": "https://w3id.org/catenax/policy/Framework", "operator": "eq", - "rightOperand": "active" + "rightOperand": "DataExchangeGovernance:1.0" }, { - "leftOperand": "cx-policy:UsagePurpose", + "leftOperand": "https://w3id.org/catenax/policy/UsagePurpose", "operator": "eq", "rightOperand": "cx.core.digitalTwinRegistry:1" } diff --git a/docs-kits/kits/Digital Twin Kit/page_adoption-view.md b/docs-kits/kits/Digital Twin Kit/page_adoption-view.md index 5e3fcc5f1c6..df827322a74 100644 --- a/docs-kits/kits/Digital Twin Kit/page_adoption-view.md +++ b/docs-kits/kits/Digital Twin Kit/page_adoption-view.md @@ -63,7 +63,7 @@ This Kit's aim is not to solve a dedicated business problem. It is an infrastruc data sharing and integration. It does however deliver a broad set of capabilities that the use cases can leverage, namely: - Well-defined API structures extensible by domain models. Each use case will want to share different data but make it -available in a shared manner. (see [Submodel API](./Software%20Development%20View/API%20Submodel)) +available in a shared manner. (see [Submodel API](https://eclipse-tractusx.github.io/api-hub/)) - A distributed infrastructure of central and decentral components integrating on the one hand with backend-systems in existing enterprise IT and on other hand with the Dataspace. @@ -83,17 +83,16 @@ For more information how specifically the Asset Administration Shell is used, co ### CX-Standards -Links open PDFs. +Links open html. -- [CX - 0001 EDC Discovery API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0001-EDCDiscoveryAPI_v1.0.2.pdf) *(version 1.0.2)* -- [CX - 0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library)*(version 2.2.0, public release pending)* -- [CX - 0003 Semantic Aspect Meta-Model](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Maerz_2024/CX-0003-SAMMSemanticAspectMetaModel-v1.1.0.pdf)*(version 1.1.0)* -- [CX - 0053 BPN Discovery Service](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0053-BPNDiscoveryServiceAPIs-v1.0.1.pdf) *(version 1.0.1)* +- [CX - 0001 EDC Discovery API](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) *(version 1.0.2)* +- [CX - 0002 Digital Twins in Catena-X](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX)*(version 2.2.0)* +- [CX - 0003 Semantic Aspect Meta-Model](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel)*(version 1.1.0)* +- [CX - 0053 BPN Discovery Service](https://catenax-ev.github.io/docs/next/standards/CX-0053-BPNDiscoveryServiceAPIs) *(version 1.1.0)* ### Terminology -CX-0002 includes a figure on how the terms (also used in this Kit) interrelate. Check it out on page 5 of the [published -standard](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0002-DigitalTwinsInCatenaX-v2.1.0.pdf). +CX-0002 includes a figure on how the terms (also used in this Kit) interrelate. Check it out [here](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX#123-asset-administration-shell) ## Notice diff --git a/docs-kits/kits/Digital Twin Kit/page_changelog.md b/docs-kits/kits/Digital Twin Kit/page_changelog.md index 90699f49371..0622869f3c3 100644 --- a/docs-kits/kits/Digital Twin Kit/page_changelog.md +++ b/docs-kits/kits/Digital Twin Kit/page_changelog.md @@ -11,7 +11,17 @@ sidebar_position: 1 All notable changes to this Kit will be documented in this file. -## [2.0.0] - unreleased +## [2.0.1] - 2024-08-01 + +### Changed + +- updated links and bugfixes + +### Removed + +- rendered openApi Docs + +## [2.0.0] - 2024-05-02 ### Added diff --git a/docs-kits/kits/Digital Twin Kit/page_software-operation-view.md b/docs-kits/kits/Digital Twin Kit/page_software-operation-view.md index 879555029e6..354ef61063d 100644 --- a/docs-kits/kits/Digital Twin Kit/page_software-operation-view.md +++ b/docs-kits/kits/Digital Twin Kit/page_software-operation-view.md @@ -23,13 +23,13 @@ CX-0002. ## Deployment -| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | -|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| -| Discovery Finder | A microservice resolving a type of specific asset identifiers, e.g. `manufacturerPartId` or `intrinsicId` against a set of BPN-, and EDC-Discovery Servers hosted at Catena-X operating companies. These identifiers are often shared across use-cases (see [Industry Core](../Industry%20Core%20Kit/Software%20Development%20View)) but are not specified by the DT Kit and standards. | [Tractus-X Discovery Finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | -| BPN Discovery | A microservice resolving a particular specific asset identifier (consisting of its type - defined above - and the value for a particular asset) against the registered [Business Partner Number](../Business%20Partner%20Kit/page_adoption-view.md#business-value) of its owner. This is useful in discovery when the location of data on a particular asset is unknown. | [Tractus-X BPN Discovery](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | -| EDC Discovery | A microservice that resolves a BPN against a list of EDC endpoints. It is populated during onboarding and is the last step of the discovery sequence preceeding the DSP-interaction starting with the catalog-request. | [Tractus-X Portal including EDC Discovery API](https://github.com/eclipse-tractusx/portal-backend) | CX - 0001 | -| Digital Twin Registry | A registry for digital twins. Here, a provider publicises digital representations (digital twins) of the assets the participant has data on. This data is encapsulated in submodels accessible via instructions that a consumer will find in the Digital Twin Registry (DTR). The DTR adheres to the [AssetAdministrationShellRegistryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/AssetAdministrationShellRegistryServiceSpecification/V3.0_SSP-002#/) and the [DiscoveryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/DiscoveryServiceSpecification/V3.0.1_SSP-001) and thus contains only meta-data. | [Tractus-X Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | -| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. It delivers the actual data that the consumer is looking for via a structured endpoint defined by the [SubmodelServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/SubmodelServiceSpecification/V3.0_SSP-003) and according to the structured data formats defined in the [Semantic Models Repository](https://github.com/eclipse-tractusx/sldt-semantic-models). | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service),
          [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk),
          [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | +| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | +|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| +| Discovery Finder | A microservice resolving a type of specific asset identifiers, e.g. `manufacturerPartId` or `intrinsicId` against a set of BPN-, and EDC-Discovery Servers hosted at Catena-X operating companies. These identifiers are often shared across use-cases (see [Industry Core](../Industry%20Core%20Kit/Software%20Development%20View)) but are not specified by the DT Kit and standards. | [Tractus-X Discovery Finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | +| BPN Discovery | A microservice resolving a particular specific asset identifier (consisting of its type - defined above - and the value for a particular asset) against the registered [Business Partner Number](../Business%20Partner%20Kit/page_adoption-view.md#business-value) of its owner. This is useful in discovery when the location of data on a particular asset is unknown. | [Tractus-X BPN Discovery](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | +| EDC Discovery | A microservice that resolves a BPN against a list of EDC endpoints. It is populated during onboarding and is the last step of the discovery sequence preceeding the DSP-interaction starting with the catalog-request. | [Tractus-X Portal including EDC Discovery API](https://github.com/eclipse-tractusx/portal-backend) | CX - 0001 | +| Digital Twin Registry | A registry for digital twins. Here, a provider publicises digital representations (digital twins) of the assets the participant has data on. This data is encapsulated in submodels accessible via instructions that a consumer will find in the Digital Twin Registry (DTR). The DTR adheres to the [AssetAdministrationShellRegistryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/AssetAdministrationShellRegistryServiceSpecification/V3.0_SSP-002#/) and the [DiscoveryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/DiscoveryServiceSpecification/V3.0.1_SSP-001) and thus contains only meta-data. | [Tractus-X Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | +| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. It delivers the actual data that the consumer is looking for via a structured endpoint defined by the [SubmodelServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/SubmodelServiceSpecification/V3.0_SSP-003) and according to the structured data formats defined in the [Semantic Models Repository](https://github.com/eclipse-tractusx/sldt-semantic-models). | There are no official reference implementations for the Submodel-API. Implementations of the API exist in frameworks such as [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service), [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk), [AASX Server](https://github.com/admin-shell-io/aasx-server). These implementations are not certified according to the standard nor involved in systematic end-to-end testing. | CX - 0002 | ![High Level Architecture of an App leveraging the Digital Twin Kit](assets/img/DTKIT_high_level_arch.svg) @@ -49,4 +49,5 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses - SPDX-License-Identifier: CC-BY-4.0 - SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits/kits/ESS-Kit/changelog.md b/docs-kits/kits/ESS-Kit/changelog.md index a6dac67e7f2..4ebed9b2cb2 100644 --- a/docs-kits/kits/ESS-Kit/changelog.md +++ b/docs-kits/kits/ESS-Kit/changelog.md @@ -6,18 +6,29 @@ sidebar_position: 1 ![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) -## [0.2.0] - 2024-05-24 +## [0.3.0] - 2024-07-11 ### Added -- information about Code of Conduct in Adoption View -- added link to BPNL-Kit and to Industry Core Kit +- add reference to Code of Conduct that will be published on Web page +- add description of Occasion-related tracking in broken supply chains + +### Changed + +- changed link to video about ESS customer journey + +### Removed + +## [0.2.0] - 2024-05-23 + +### Added + +chapters for Code of Conduct in Adoption View ### Changed - replace picture CatenaX_ESS_KitCustomerJourney -- corrected typos e.g. youtube, respectively -- adjusted all links to images of ESS-Kit moved to folder assets within ESS-Kit +- moved pictures from folder static to folder asset within ESS-Kit ### Removed diff --git a/docs-kits/kits/ESS-Kit/page_adoption-view.md b/docs-kits/kits/ESS-Kit/page_adoption-view.md index 123e1386a74..a9cad7bb36f 100644 --- a/docs-kits/kits/ESS-Kit/page_adoption-view.md +++ b/docs-kits/kits/ESS-Kit/page_adoption-view.md @@ -88,7 +88,14 @@ The trace of an incident follows previously mentioned principles along any oblig ![ESS_KitCustomerJourney](assets/CatenaX_ESS_KitCustomerJourney.svg) -**Note:** There will be an explanatory youtube video, which will be available after IP clearance. [ESS video]() +**Note:** There is an explanatory video published on youtube. [ESS video]() + +### Customer Journey: Occasion-related tracking in broken supply chains + +If no Catena-X member can be identified within the Catena-X network, other external sources could be used to identify the missing suppliers and fill the gaps that are relevant for this ESS incident. + +For each supplier that could be found, the Clearing Agency would need to check against the Catena-X network if a BPN is available or not. The identified supplier (there could be more than one), who is a member of the Catena-X network, will be assigned as the ESS incident moderator for this ESS incident. The incident moderator can be addressed via the EDC endpoint of the Business Partner and is most likely the incident manager of this Business Partner. +Now, the tracing of an ESS incident can continue as described above. The ESS incident moderator shall trace the supply chain both upstream (towards his suppliers) and downstream (towards his customers). For Business Partners, that are members of the supply chain, the Catena-X network and its services can be utilized, for Business Partners, that are not in the Catena-X network other means of communication must be used. ### ESS Incidents personas @@ -177,7 +184,7 @@ The data model follows the Catena-X Standard [CX-0144]( diff --git a/docs-kits/kits/Eco_Pass_KIT/changelog.md b/docs-kits/kits/Eco_Pass_KIT/changelog.md index de700541e82..0dc1985fc65 100644 --- a/docs-kits/kits/Eco_Pass_KIT/changelog.md +++ b/docs-kits/kits/Eco_Pass_KIT/changelog.md @@ -2,6 +2,21 @@ title: Changelog --- +## [1.5.0] - 2024-07-25 + +### 24.08 Added + +- Added Digital Product Pass Verification Section in adoption view +- Added Digital Product Pass Tutorial Section adoption view & software view +- Added Digital Product Passport as Enabler for Circular Economy Whitepaper reference + +### 24.08 Updated + +- Updated DPP model to version v5.0.0 +- Updated BatteryPass to v6.0.0 +- Updated TransmissionPass to v3.0.0 +- Updated DPP Verification add-on in the software development view. + ## [1.4.0] - 2024-05-15 ### 24.05 Added diff --git a/docs-kits/kits/Eco_Pass_KIT/page-adoption-view.md b/docs-kits/kits/Eco_Pass_KIT/page-adoption-view.md index 98f16d5a76d..eb9a25d51dd 100644 --- a/docs-kits/kits/Eco_Pass_KIT/page-adoption-view.md +++ b/docs-kits/kits/Eco_Pass_KIT/page-adoption-view.md @@ -116,19 +116,23 @@ Depending on the use case and related KIT, Catena-X provides different semantic Other specific product passports which are further described in the EcoPass KIT are the [battery](#battery-passport), [transmission](#transmission-passport) and [electric drive](#electric-drive-passport). All of them depend on the generic Digital Product Passport data model. Further data models will follow. -The goal of these passports is to create unified data models that can be used and adapted across the automotive industry. These data models are modelled according to the [CX-0003](https://catena-x.net/en/standard-library) SAMM Standard in Version 1.1.0 (updated link once published). For detailed information please follow the embedded links to the Catena-X Standard library. +The goal of these passports is to create unified data models that can be used and adapted across the automotive industry. These data models are modelled according to the [CX-0003](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) SAMM Standard in Version 1.1.0. For detailed information please follow the embedded links to the Catena-X Standard library. ### Digital Product Passport #### Digital Product Passport Introduction -Digital Product Passports addresses three needs by the industry: First, they gather all relevant information about a product in a single, digital tool. Second, digital product passports answer increasing regulatory requirements and demand for sustainability information along the value chain of a product. And third, Digital Product Passports are an important enabler for a circular economy. +Digital Product Passports address three needs by the industry: First, they gather all relevant information about a product in a single, digital tool. Second, digital product passports answer increasing regulatory requirements and demand for sustainability information along the value chain of a product. And third, Digital product passports are crucial enablers for circular economies due to their ability to provide comprehensive and transparent information about the lifecycle of automotive products. They play a critical role by fostering transparency, enhancing recycling and reuse, improving maintenance and repairs, and facilitating regulatory compliance. +In the following whitepaper, the role of digital product passports is discussed in relation to the current situation in the automotive industry. + +[Link to the Whitepaper "Digital Product Passports as enablers for Circular Economy".](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_DPP_Circular_Economy_WP_v1.pdf) + The collected data is defined via standards specified by the Catena-X network and obtained from the industry. The content of the Product Passport is product-related information that is useful and necessary for the consumer, and other actors who will deal with the product till end of its life, and is limited to the required minimum of the necessary information. -The data model in version 4.0.0 corresponds to the Digital Product Passport information required by the proposed Ecodesign Regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)) from March 30th, 2022. In the future, delegated acts for specific product groups would require a product passport to be available for each product. The data model will be updated, as newer versions of the regulation will be published. The latest to the model corresponding version of the document was the [provisional agreement](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CONSIL:ST_5147_2024_INIT) between the EU Council and the Parliament from January 9th, 2024. The text is informal, but the content of the final regulation was agreed between these two institutions. +The data model in version `v.5.0.0` corresponds to the Digital Product Passport information required by the proposed Ecodesign Regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)) from March 30th, 2022. In the future, delegated acts for specific product groups would require a product passport to be available for each product. The data model will be updated, as newer versions of the regulation will be published. The latest to the model corresponding version of the document was the [provisional agreement](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CONSIL:ST_5147_2024_INIT) between the EU Council and the Parliament from January 9th, 2024. The text is informal, but the content of the final regulation was agreed between these two institutions. It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. -The Digital Product Passport is the core model and can be used as the root class for other, specific, product models. The latest model `v.4.0.0` consists out of the following information: +The Digital Product Passport is the core model and can be used as the root class for other, specific, product models. The latest model `v.5.0.0` consists out of the following information: - Passport metadata - Product identification @@ -141,6 +145,17 @@ The Digital Product Passport is the core model and can be used as the root class - Sources (documents) - Additional data +References to shared aspects are the following: + +- urn:samm:io.catenax.batch:3.0.0 +- urn:samm:io.catenax.shared.part_classification:1.0.0 +- urn:samm:io.catenax.part_type_information:1.0.0 +- urn:samm:io.catenax.shared.business_partner_number:2.0.0 +- urn:samm:io.catenax.serial_part:3.0.0 +- urn:samm:io.catenax.shared.quantity:2.0.0 +- urn:samm:io.catenax.shared.uuid:2.0.0 +- and indirect references from the above mentioned aspects + In addition, the Digital Product Passport data model offers the following advantages: - **Self-describing**: Which means it has all the details necessary to comprehend what it includes. Different systems can easily interpret the Passport as a result. @@ -158,325 +173,264 @@ The semantic models are located [here](https://github.com/eclipse-tractusx/sldt- ```json { - "metadata": { - "backupReference": "https://dummy.link", - "registrationIdentifier": "https://dummy.link/ID8283746239078", - "economicOperatorId": "BPNL0123456789ZZ", - "predecessor": "urn:uuid:00000000-0000-0000-0000-000000000000", - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": "urn:uuid:550e8400-e29b-41d4-a716-446655440000", - "status": "draft", - "expirationDate": "2000-01-01" + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" }, - "characteristics": { - "generalPerformanceClass": "A", - "physicalState": "solid", - "physicalDimension": { - "volume": { - "value": 20.0, - "unit": "unit:cubicMetre" + "characteristics" : { + "generalPerformanceClass" : "A", + "physicalState" : "solid", + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "grossWeight": { - "value": 20.0, - "unit": "unit:gram" + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "diameter": { - "value": 20.0, - "unit": "unit:millimetre" + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "grossVolume": { - "value": 20.0, - "unit": "unit:cubicMetre" + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "width": { - "value": 20.0, - "unit": "unit:millimetre" + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "length": { - "value": 20.0, - "unit": "unit:millimetre" + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "weight": { - "value": 20.0, - "unit": "unit:gram" + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "height": { - "value": 20.0, - "unit": "unit:millimetre" + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" } }, - "lifespan": [ - { - "value": 36, - "unit": "unit:day", - "key": "guaranteed lifetime" - } - ] + "lifespan" : [ { + "value" : 36, + "unit" : "unit:day", + "key" : "guaranteed lifetime" + } ] }, - "commercial": { - "placedOnMarket": "2000-01-01" + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] }, - "identification": { - "batch": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "codes": [ - { - "value": "8703 24 10 00", - "description": "GBT", - "key": "TARIC" - } - ], - "type": { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" }, - "classification": [ - { - "classificationStandard": "GIN 20510-21513", - "classificationID": "1004712", - "classificationDescription": "Generic standard for classification of parts in the automotive industry." - } - ], - "serial": [ - { - "value": "SN12345678", - "key": "partInstanceId" - } - ], - "dataCarrier": { - "carrierType": "QR", - "carrierLayout": "upper-left side" + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" } }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "https://dummy.link" - } - ], - "materials": { - "substancesOfConcern": { - "substanceOfConcern": [ - { - "unit": "unit:partPerMillion", - "hazardClassification": { - "category": "category 1A", - "statement": "Causes severe skin burns and eye damage.", - "class": "Skin corrosion" - }, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "concentrationRange": [ - { - "max": 2.6, - "min": 2.1 - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "location": "Housing", - "concentration": 5.3, - "exemption": "shall not apply to product x containing not more than 1,5 ml of liquid", - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ], - "applicable": true + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] }, - "materialComposition": { - "applicable": true, - "chemicalMaterial": [ - { - "unit": "unit:partPerMillion", - "recycled": 12.5, - "critical": true, - "renewable": 23.5, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": 5.3, - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ] + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] } }, - "handling": { - "spareParts": { - "producer": [ - { - "id": "BPNL0123456789ZZ" - } - ], - "sparePart": [ - { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - } - ] - }, - "applicable": true - }, - "additionalData": [ - { - "description": "Description of an attribute", - "label": "Maximum permitted battery power", - "type": { - "typeUnit": "unit:volume", - "dataType": "array" - }, - "data": "23", - "children": [ - { - "description": "Description of an attribute", - "label": "Maximum permitted battery power", - "type": { - "typeUnit": "unit:volume", - "dataType": "array" - }, - "data": "23" - } - ] + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] } - ], - "operation": { - "import": { - "importer": { - "eori": "GB123456789000", - "id": "BPNL0123456789ZZ" + }, + "additionalData" : [ { + "description" : "Description of an attribute", + "label" : "Maximum permitted battery power", + "type" : { + "typeUnit" : "unit:volume", + "dataType" : "array" + }, + "data" : "23", + "children" : [ { + "description" : "Description of an attribute", + "label" : "Maximum permitted battery power", + "type" : { + "typeUnit" : "unit:volume", + "dataType" : "array" }, - "applicable": true + "data" : "23" + } ] + } ], + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } }, - "manufacturer": { - "facility": [ - { - "facility": "BPNA1234567890AA" - } - ], - "manufacturingDate": "2000-01-31", - "manufacturer": "BPNLtdiHqzA3Mtyk" + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLbi7tAJ8UiMsF" } }, - "sustainability": { - "reparabilityScore": "B", - "productFootprint": { - "material": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "carbon": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "environmental": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ] + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] }, - "status": "original", - "durabilityScore": "A" + "status" : "original", + "durabilityScore" : "A" } } ``` @@ -490,7 +444,7 @@ The semantic models are located [here](https://github.com/eclipse-tractusx/sldt- The Catena-X standards, which are crucial to create a more sustainable battery business, serve as the foundation for the data model behind the Battery Passport. The Battery Passport assists in enhancing the traceability and sustainability of batteries by offering a thorough record of a battery's life cycle. This will mitigate the battery industry's environmental effect and make it easier to recycle batteries. Due to requirements of the regulation [(EU) 2023/1542](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542) for batteries and waste batteries, a data model for Battery Passport was created, which increases the efficiency of circular economy ecosystems of all partners in the value network. The battery passport is a tool for the exchange of information and enables tracking and tracing of batteries usage information. -The Battery Passport is a standardized data model that will enable stakeholders to access the relevant data. The version of the Battery Passport Data Model `v.5.0.0` consists out of the following information: +The Battery Passport is a standardized data model that will enable stakeholders to access the relevant data. The version of the Battery Passport Data Model `v.6.0.0` consists out of the following information: - Passport metadata - Product identification @@ -505,14 +459,17 @@ The Battery Passport is a standardized data model that will enable stakeholders - Safety information - Performance information +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- and indirect references from the above mentioned aspect + It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([(EU) 2023/1542](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. #### Link to current Battery Pass model The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.battery.battery_pass). For each version there is a separated directory containing the ttl-file and a generated samples. -The latest version is the `v5.0.0` which is based on the generic Digital Product Passport `v4.0.0` model which can be found [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.generic.digital_product_passport). - #### Example Battery Passport Payload
          @@ -520,655 +477,536 @@ The latest version is the `v5.0.0` which is based on the generic Digital Product ```json { - "characteristics": { - "physicalDimension": { - "length": { - "value": 20.0, - "unit": "unit:millimetre" + "characteristics" : { + "physicalDimension" : { + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "width": { - "value": 20.0, - "unit": "unit:millimetre" + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "weight": { - "value": 20.0, - "unit": "unit:gram" + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "height": { - "value": 20.0, - "unit": "unit:millimetre" + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" } }, - "warranty": { - "lifeValue": 36, - "lifeUnit": "unit:day" + "warranty" : { + "lifeValue" : 36, + "lifeUnit" : "unit:day" } }, - "metadata": { - "backupReference": "https://dummy.link", - "registrationIdentifier": "https://dummy.link/ID8283746239078", - "economicOperatorId": "BPNL0123456789ZZ", - "predecessor": "urn:uuid:00000000-0000-0000-0000-000000000000", - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": "urn:uuid:550e8400-e29b-41d4-a716-446655440000", - "status": "draft", - "expirationDate": "2000-01-01" + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" }, - "identification": { - "chemistry": "NCM", - "idDmc": "34567890", - "identification": { - "batch": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "codes": [ - { - "value": "8703 24 10 00", - "description": "GBT", - "key": "TARIC" - } - ], - "type": { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] + }, + "identification" : { + "chemistry" : "Nickel Cobalt Manganese (NCM)", + "idDmc" : "34567890", + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" }, - "classification": [ - { - "classificationStandard": "GIN 20510-21513", - "classificationID": "1004712", - "classificationDescription": "Generic standard for classification of parts in the automotive industry." - } - ], - "serial": [ - { - "value": "SN12345678", - "key": "partInstanceId" - } - ], - "dataCarrier": { - "carrierType": "QR", - "carrierLayout": "upper-left side" + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" } }, - "category": "SLI" + "category" : "SLI" }, - "performance": { - "rated": { - "roundTripEfficiency": { - "depthOfDischarge": 90.5, - "temperature": 20.0, - "50PercentLife": 89.0, - "initial": 96.0 + "performance" : { + "rated" : { + "roundTripEfficiency" : { + "depthOfDischarge" : 90.5, + "temperature" : 20.0, + "50PercentLife" : 89.0, + "initial" : 96.0 }, - "selfDischargingRate": 0.25, - "performanceDocument": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "testReport": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "temperature": { - "lower": -18.0, - "upper": 60.0 + "selfDischargingRate" : 0.25, + "performanceDocument" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "testReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "temperature" : { + "lower" : -18.0, + "upper" : 60.0 }, - "lifetime": { - "report": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "cycleLifeTesting": { - "temperature": 20.0, - "depthOfDischarge": 90.5, - "appliedDischargeRate": 4.0, - "cycles": 1500, - "appliedChargeRate": 3.0 + "lifetime" : { + "report" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "cycleLifeTesting" : { + "temperature" : 20.0, + "depthOfDischarge" : 90.5, + "appliedDischargeRate" : 4.0, + "cycles" : 1500, + "appliedChargeRate" : 3.0 }, - "expectedYears": 8 + "expectedYears" : 8 }, - "power": { - "at20SoC": 35000.0, - "temperature": 20.0, - "value": 40000.0, - "at80SoC": 39000.0 + "power" : { + "at20SoC" : 35000.0, + "temperature" : 20.0, + "value" : 40000.0, + "at80SoC" : 39000.0 }, - "resistance": { - "temperature": 20.0, - "cell": 0.025, - "pack": 0.55, - "module": 0.2 + "resistance" : { + "temperature" : 20.0, + "cell" : 0.025, + "pack" : 0.55, + "module" : 0.2 }, - "voltage": { - "temperature": 20.0, - "min": 2.5, - "nominal": 3.7, - "max": 4.2 + "voltage" : { + "temperature" : 20.0, + "min" : 2.5, + "nominal" : 3.7, + "max" : 4.2 }, - "energy": { - "temperature": 20.0, - "value": 0.5 + "energy" : { + "temperature" : 20.0, + "value" : 0.5 }, - "capacity": { - "temperature": 20.0, - "value": 4.0, - "thresholdExhaustion": 80.0 + "capacity" : { + "temperature" : 20.0, + "value" : 4.0, + "thresholdExhaustion" : 80.0 } }, - "dynamic": { - "selfDischargingRate": 0.25, - "roundTripEfficiency": { - "remaining": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "dynamic" : { + "selfDischargingRate" : 0.25, + "roundTripEfficiency" : { + "remaining" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "fade": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" } }, - "operatingEnvironment": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "stateOfCharge": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "operatingEnvironment" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "stateOfCharge" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "performanceDocument": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "fullCycles": { - "value": 1500, - "time": "2023-12-07T10:39:13.576+01:00" + "performanceDocument" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "fullCycles" : { + "value" : 1500, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "power": { - "remaining": { - "value": 40000.0, - "time": "2023-12-07T10:39:13.576+01:00" + "power" : { + "remaining" : { + "value" : 40000.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "fade": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" } }, - "negativeEvents": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "resistance": { - "increase": { - "cell": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "negativeEvents" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "resistance" : { + "increase" : { + "cell" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "pack": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "pack" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "module": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "module" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" } }, - "remaining": { - "cell": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" + "remaining" : { + "cell" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "pack": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" + "pack" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "module": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" + "module" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" } } }, - "capacity": { - "fade": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "capacity" : { + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "throughput": { - "value": 4.0, - "time": "2023-12-07T10:39:13.576+01:00" + "throughput" : { + "value" : 4.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "capacity": { - "value": 4.0, - "time": "2023-12-07T10:39:13.576+01:00" + "capacity" : { + "value" : 4.0, + "time" : "2023-12-07T10:39:13.576+01:00" } }, - "energy": { - "remaining": { - "value": 0.5, - "time": "2023-12-07T10:39:13.576+01:00" + "energy" : { + "remaining" : { + "value" : 0.5, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "soce": { - "value": 50.0, - "time": "2023-12-07T10:39:13.576+01:00" + "soce" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" }, - "throughput": { - "value": 0.5, - "time": "2023-12-07T10:39:13.576+01:00" + "throughput" : { + "value" : 0.5, + "time" : "2023-12-07T10:39:13.576+01:00" } } } }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "https://dummy.link" - } - ], - "materials": { - "hazardous": { - "cadmium": { - "concentration": 5.3, - "location": "Housing", - "critical": true, - "impactOfSubstances": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "materialUnit": "unit:partPerMillion", - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "hazardous" : { + "cadmium" : { + "concentration" : 5.3, + "location" : "Housing", + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "materialUnit" : "unit:partPerMillion", + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "other": [ - { - "materialName": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "critical": true, - "impactOfSubstances": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "concentration": 5.3, - "materialIdentification": [ - { - "type": "CAS", - "id": "201-004-7" - } - ], - "location": "Housing", - "materialUnit": "unit:partPerMillion" - } - ], - "mercury": { - "concentration": 5.3, - "location": "Housing", - "critical": true, - "impactOfSubstances": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "materialUnit": "unit:partPerMillion", - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "other" : [ { + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "materialIdentification" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ], + "location" : "Housing", + "materialUnit" : "unit:partPerMillion" + } ], + "mercury" : { + "concentration" : 5.3, + "location" : "Housing", + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "materialUnit" : "unit:partPerMillion", + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "lead": { - "recycled": 12.5, - "critical": true, - "impactOfSubstances": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "location": "Housing", - "concentration": 5.3, - "materialUnit": "unit:partPerMillion" + "lead" : { + "recycled" : 12.5, + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "location" : "Housing", + "concentration" : 5.3, + "materialUnit" : "unit:partPerMillion" } }, - "active": { - "nickel": { - "location": "Housing", - "recycled": 12.5, - "critical": true, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "active" : { + "nickel" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "lithium": { - "location": "Housing", - "recycled": 12.5, - "critical": true, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "lithium" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "cobalt": { - "location": "Housing", - "recycled": 12.5, - "critical": true, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "cobalt" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "other": [ - { - "materialName": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "location": "Housing", - "materialIdentification": [ - { - "type": "CAS", - "id": "201-004-7" - } - ], - "recycled": 12.5, - "critical": true, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "lead": { - "recycled": 12.5, - "critical": true, - "impactOfSubstances": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "location": "Housing", - "concentration": 5.3, - "materialUnit": "unit:partPerMillion" + "other" : [ { + "location" : "Housing", + "materialIdentification" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ], + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "lead" : { + "recycled" : 12.5, + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "location" : "Housing", + "concentration" : 5.3, + "materialUnit" : "unit:partPerMillion" } }, - "composition": [ - { - "unit": "unit:partPerMillion", - "recycled": 12.5, - "critical": true, - "renewable": 23.5, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": 5.3, - "location": "Housing", - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ] + "composition" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "location" : "Housing", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] }, - "safety": { - "usableExtinguishAgent": [ - { - "fireClass": "A, B", - "document": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "media": "Dry Powder" - } - ], - "safeDischarging": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "meaningOfLabels": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "dismantling": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "removalFromAppliance": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "safetyMeasures": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "safety" : { + "usableExtinguishAgent" : [ { + "fireClass" : "A, B", + "document" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "media" : "Dry Powder" + } ], + "safeDischarging" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "meaningOfLabels" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "dismantling" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "removalFromAppliance" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "safetyMeasures" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "handling": { - "spareParts": { - "producer": [ - { - "id": "BPNL0123456789ZZ" - } - ], - "sparePart": [ - { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - } - ] - }, - "applicable": true + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } }, - "conformity": { - "declarationOfConformityId": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "thirdPartyAssurance": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "resultOfTestReport": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "declarationOfConformity": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "dueDiligencePolicy": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "conformity" : { + "declarationOfConformityId" : "0978234-34567890-01", + "thirdPartyAssurance" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "resultOfTestReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "declarationOfConformity" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "dueDiligencePolicy" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "operation": { - "intoServiceDate": "1446-48-65", - "manufacturer": { - "facility": [ - { - "facility": "BPNA1234567890AA" - } - ], - "manufacturingDate": "2000-01-31", - "manufacturer": "BPNLmANsF8W8vj3P" + "operation" : { + "intoServiceDate" : "7345-31-31", + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNL6XI3KZ55MzYB" } }, - "sustainability": { - "documents": { - "separateCollection": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "sustainabilityReport": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "euTaxonomyDisclosureStatement": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "wastePrevention": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "sustainability" : { + "documents" : { + "separateCollection" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "sustainabilityReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "euTaxonomyDisclosureStatement" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "wastePrevention" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "carbonFootprint": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "status": "original" + "carbonFootprint" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "status" : "original" } } ``` @@ -1183,8 +1021,8 @@ In July 2023, the European Commission presented a proposal for a regulation addr As preparation for the implementation of the proposed regulation and its requirements, manufacturers and OEMs within the Catena-X network decided on developing data models for the most commonly used products. -In contrast to the previous version `v.1.0.0` of the transmission, the Transmission Passport `v.2.0.0` corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a transmission. The consumers can see at a glance the relevant data about the transmission which is installed in the specified vehicle. By incorporating circularity parameters, the Transmission Passport aims to enhance transparency and promote a circular economy within the European Union. Detailed descriptions can be found in the Ecodesign for Sustainable Products Regulation Proposal (ESPR). -The Transmission Passport model `v.2.0.0` includes the following product specific information: +The Transmission Passport `v.3.0.0` corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a transmission. The consumers can see at a glance the relevant data about the transmission which is installed in the specified vehicle. By incorporating circularity parameters, the Transmission Passport aims to enhance transparency and promote a circular economy within the European Union. Detailed descriptions can be found in the Ecodesign for Sustainable Products Regulation Proposal (ESPR). +The Transmission Passport model `v.3.0.0` includes the following product specific information: - Type of drive - Transmission performance information @@ -1208,6 +1046,11 @@ Product unspecific information incudes following information: - Commercial information - Sources (documents) +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- and indirect references from the above mentioned aspect + It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. #### Link to current Transmission Passport model @@ -1221,344 +1064,283 @@ The semantic models are located [here](https://github.com/eclipse-tractusx/sldt- ```json { - "productSpecificParameters": { - "serviceHistory": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "oil": { - "oilType": ["ZF Lifeguard Hybrid 2"], - "oilCapacity": 8.9 + "specific" : { + "serviceHistory" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "oil" : { + "oilType" : [ "Transmission Oil XY" ], + "oilCapacity" : 8.9 }, - "torqueConverter": ["NW 200 TTD"], - "driveType": ["full hybrid"], - "spreading": 6.79, - "torque": 500, - "power": 300, - "standardGearRatio": [ - { - "gearRatio": 4.1567, - "gear": "1" - } - ], - "speedResistance": [ - { - "speed": 7800, - "gear": "1" - } - ], - "electricalPerformance": { - "applicable": true, - "electricalMachine": { - "torque": { - "torquePeak": 180, - "torqueContinuous": 178, - "time": 10 + "torqueConverter" : [ "NW 200 TTD" ], + "driveType" : [ "full hybrid" ], + "spreading" : 6.79, + "torque" : 500, + "power" : 300, + "standardGearRatio" : [ { + "gearRatio" : 4.1567, + "gear" : "1" + } ], + "speedResistance" : [ { + "ratedSpeed" : 7800, + "gear" : "1" + } ], + "electricalPerformance" : { + "applicable" : true, + "electricalMachine" : { + "torque" : { + "max" : 180, + "maximumAvailability" : 10, + "continuous" : 178 }, - "power": { - "powerContinuous": 16, - "powerPeak": 22, - "time": 10 + "power" : { + "max" : 22, + "continuous" : 16, + "maximumAvailability" : 10 }, - "speed": 16700, - "voltage": 52 + "speed" : 16700, + "voltage" : 52 } } }, - "productUnspecificParameters": { - "characteristics": { - "physicalDimension": { - "volume": { - "value": 20.0, - "unit": "unit:cubicMetre" + "generic" : { + "characteristics" : { + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "grossWeight": { - "value": 20.0, - "unit": "unit:gram" + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "diameter": { - "value": 20.0, - "unit": "unit:millimetre" + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "grossVolume": { - "value": 20.0, - "unit": "unit:cubicMetre" + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "width": { - "value": 20.0, - "unit": "unit:millimetre" + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "length": { - "value": 20.0, - "unit": "unit:millimetre" + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "weight": { - "value": 20.0, - "unit": "unit:gram" + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "height": { - "value": 20.0, - "unit": "unit:millimetre" + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" } }, - "warranty": 60, - "lifeTime": 500000 + "warranty" : 60, + "lifeTime" : 500000 }, - "metadata": { - "backupReference": "https://dummy.link", - "registrationIdentifier": "https://dummy.link/ID8283746239078", - "economicOperatorId": "BPNL0123456789ZZ", - "predecessor": "urn:uuid:00000000-0000-0000-0000-000000000000", - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": "urn:uuid:550e8400-e29b-41d4-a716-446655440000", - "status": "draft", - "expirationDate": "2000-01-01" + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" }, - "commercial": { - "placedOnMarket": "2000-01-01" + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] }, - "identification": { - "batch": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "codes": [ - { - "value": "8703 24 10 00", - "description": "GBT", - "key": "TARIC" - } - ], - "type": { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" }, - "classification": [ - { - "classificationStandard": "GIN 20510-21513", - "classificationID": "1004712", - "classificationDescription": "Generic standard for classification of parts in the automotive industry." - } - ], - "serial": [ - { - "value": "SN12345678", - "key": "partInstanceId" - } - ], - "dataCarrier": { - "carrierType": "QR", - "carrierLayout": "upper-left side" + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" } }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "https://dummy.link" - } - ], - "materials": { - "substancesOfConcern": { - "substanceOfConcern": [ - { - "unit": "unit:partPerMillion", - "hazardClassification": { - "category": "category 1A", - "statement": "Causes severe skin burns and eye damage.", - "class": "Skin corrosion" - }, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "concentrationRange": [ - { - "max": 2.6, - "min": 2.1 - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "location": "Housing", - "concentration": 5.3, - "exemption": "shall not apply to product x containing not more than 1,5 ml of liquid", - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ], - "applicable": true + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] }, - "materialComposition": { - "applicable": true, - "chemicalMaterial": [ - { - "unit": "unit:partPerMillion", - "recycled": 12.5, - "critical": true, - "renewable": 23.5, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": 5.3, - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ] + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] } }, - "handling": { - "spareParts": { - "producer": [ - { - "id": "BPNL0123456789ZZ" - } - ], - "sparePart": [ - { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - } - ] - }, - "applicable": true + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } }, - "operation": { - "import": { - "importer": { - "eori": "GB123456789000", - "id": "BPNL0123456789ZZ" - }, - "applicable": true + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } }, - "manufacturer": { - "facility": [ - { - "facility": "BPNA1234567890AA" - } - ], - "manufacturingDate": "2000-01-31", - "manufacturer": "BPNLOeWgETkaumoQ" + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLvO2y5Eu4L2hi" } }, - "sustainability": { - "reparabilityScore": "B", - "productFootprint": { - "material": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "carbon": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "environmental": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ] + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] }, - "status": "original", - "durabilityScore": "A" + "status" : "original", + "durabilityScore" : "A" } } } @@ -1572,7 +1354,7 @@ The semantic models are located [here](https://github.com/eclipse-tractusx/sldt- In July 2023, the European Commission presented a proposal for a regulation addressing the whole life cycle of vehicles, from design to end-of-life, aimed at improving design and end-of-life management of vehicles for a more resource-efficient automotive sector. As preparation for the implementation of the proposed regulation and its requirements, manufacturers and OEMs within the Catena-X network decided on developing data models for the most commonly used products. As well as the transmission, the electric drive is one of such a component. -The data model corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a electric drive. The consumers can see at a glance the relevant data about the electric drive which is installed in the specified vehicle. The Electric Drive Passport model `v.1.0.0` includes the following product specific information: +The data model corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a electric drive. The consumers can see at a glance the relevant data about the electric drive which is installed in the specified vehicle. The Electric Drive Passport model `v.2.0.0` includes the following product specific information: - General information - System and performance data @@ -1594,6 +1376,13 @@ Product unspecific information incudes following information: - Commercial information - Sources (documents) +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- urn:samm:io.catenax.transmission.transmission_pass:3.0.0 +- urn:samm:io.catenax.shared.quantity:2.0.0 +- and indirect references from the above mentioned aspects + It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. #### Link to current Electric Drive model @@ -1607,396 +1396,329 @@ The semantic models are located [here](https://github.com/eclipse-tractusx/sldt- ```json { - "specific": { - "eMachine": { - "ratedSpeed": 8000, - "weight": { - "value": 20.5, - "unit": "unit:gram" + "specific" : { + "eMachine" : { + "ratedSpeed" : 8000.0, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "permanentMagnetType": "Ceramic", - "statorDiameter": 450, - "id": "1785030A72B5752", - "technology": "ESM" + "permanentMagnetType" : "Ceramic", + "statorDiameter" : 450.0, + "id" : "1785030A72B5752", + "technology" : "ESM" }, - "transmission": { - "transmissionId": "384502A54FC9", - "gearboxStructure": "Planetary", - "oil": { - "oilType": ["ZF Lifeguard Hybrid 2"], - "oilCapacity": 8.9 + "transmission" : { + "transmissionId" : "384502A54FC9", + "gearboxStructure" : "Planetary", + "oil" : { + "oilType" : [ "Transmission Oil XY" ], + "oilCapacity" : 8.9 } }, - "inverter": { - "maximumPhaseCurrent": 700, - "inverterCurrent": 500, - "softwareVersion": "2.525.b" + "inverter" : { + "maximumPhaseCurrent" : 700.0, + "inverterCurrent" : 500.0, + "softwareVersion" : "2.525.b" }, - "generalInformation": { - "compatibleVehicleTypes": ["battery-electric vehicle"], - "service": { - "history": ["2020-02-15"], - "lastServiceDate": "2022-03-03" + "generalInformation" : { + "compatibleVehicleTypes" : [ "battery-electric vehicle" ], + "service" : { + "history" : [ "2020-02-15" ], + "lastServiceDate" : "2022-03-03" } }, - "systemAndPerformance": { - "torque": { - "maximum": { - "value": 300, - "period": 10 + "systemAndPerformance" : { + "torque" : { + "maximum" : { + "value" : 300.0, + "maximumAvailability" : 10 }, - "continuous": 200, - "maxAxle": { - "value": 300, - "period": 10 - } + "maxAxle" : { + "value" : 300.0, + "maximumAvailability" : 10 + }, + "continuous" : 178 }, - "gearRatio": 4.1567, - "power": { - "maximum": { - "value": 200, - "period": 10, - "ECER85": 195 + "gearRatio" : 4.1567, + "power" : { + "maximum" : { + "value" : 200.0, + "ECER85" : 195.0, + "maximumAvailability" : 10 }, - "continuousRegenerated": 5, - "continuous": 180, - "maxRegenerated": { - "maxPeriod": 10, - "maxValue": 200 - } + "continuousRegenerated" : 5.0, + "maxRegenerated" : { + "maxValue" : 200.0, + "maximumAvailability" : 10 + }, + "continuous" : 16 }, - "voltage": 400 + "voltage" : 400.0 }, - "electricDriveDocuments": { - "requiredToolsForDismantling": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "technicalDismantlingInstructions": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] + "electricDriveDocuments" : { + "requiredToolsForDismantling" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "technicalDismantlingInstructions" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] }, - "coolingAndLubricants": { - "maximumOilPressure": { - "value": 1, - "time": "2024-03-17T23:44:37.176+01:00" - }, - "oilCapacityEdrive": 50, - "maximumOilTemperature": 80.5, - "coolingTopology": "air-cooled", - "oilTypeEdrive": "5W-30", - "oilModule": true, - "minimumOilPressure": { - "value": 1, - "time": "2024-03-17T23:44:37.176+01:00" - } + "coolingAndLubricants" : { + "maximumOilPressure" : 4.82633, + "oilCapacityEdrive" : 50.0, + "maximumOilTemperature" : 80.5, + "coolingTopology" : "air-cooled", + "oilTypeEdrive" : "5W-30", + "oilModule" : true, + "minimumOilPressure" : 2.068427 } }, - "unspecific": { - "metadata": { - "backupReference": "https://dummy.link", - "registrationIdentifier": "https://dummy.link/ID8283746239078", - "economicOperatorId": "BPNL0123456789ZZ", - "predecessor": "urn:uuid:00000000-0000-0000-0000-000000000000", - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": "urn:uuid:550e8400-e29b-41d4-a716-446655440000", - "status": "draft", - "expirationDate": "2000-01-01" + "generic" : { + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" }, - "characteristics": { - "generalPerformanceClass": "A", - "physicalState": "solid", - "physicalDimension": { - "volume": { - "value": 20.5, - "unit": "unit:cubicMetre" + "characteristics" : { + "generalPerformanceClass" : "A", + "physicalState" : "solid", + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "grossWeight": { - "value": 20.5, - "unit": "unit:gram" + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "diameter": { - "value": 20.5, - "unit": "unit:millimetre" + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "grossVolume": { - "value": 20.5, - "unit": "unit:cubicMetre" + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" }, - "width": { - "value": 20.5, - "unit": "unit:millimetre" + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "length": { - "value": 20.5, - "unit": "unit:millimetre" + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" }, - "weight": { - "value": 20.5, - "unit": "unit:gram" + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" }, - "height": { - "value": 20.5, - "unit": "unit:millimetre" + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" } }, - "lifespan": [ - { - "value": 36, - "unit": "unit:day", - "key": "guaranteed lifetime" - } - ] + "lifespan" : [ { + "value" : 36, + "unit" : "unit:day", + "key" : "guaranteed lifetime" + } ] }, - "commercial": { - "placedOnMarket": "2000-01-01" + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] }, - "identification": { - "batch": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "codes": [ - { - "value": "8703 24 10 00", - "description": "GBT", - "key": "TARIC" - } - ], - "type": { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" }, - "classification": [ - { - "classificationStandard": "IEC", - "classificationID": "61360- 2:2012 ", - "classificationDescription": "Standard data element types with associated classification scheme for electric components." - } - ], - "serial": [ - { - "value": "SN12345678", - "key": "partInstanceId" - } - ], - "dataCarrier": { - "carrierType": "QR", - "carrierLayout": "upper-left side" + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" } }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "https://dummy.link" - } - ], - "materials": { - "substancesOfConcern": { - "substanceOfConcern": [ - { - "unit": "unit:partPerMillion", - "hazardClassification": { - "category": "category 1A", - "statement": "Causes severe skin burns and eye damage.", - "class": "Skin corrosion" - }, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "concentrationRange": [ - { - "max": 2.6, - "min": 2.1 - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "location": "Housing", - "concentration": 5.3, - "exemption": "shall not apply to product x containing not more than 1,5 ml of liquid", - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ], - "applicable": true + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] }, - "materialComposition": { - "applicable": true, - "chemicalMaterial": [ - { - "unit": "unit:partPerMillion", - "recycled": 12.5, - "critical": true, - "renewable": 23.5, - "documentation": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "name": { - "name": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": 5.3, - "id": [ - { - "type": "CAS", - "id": "201-004-7" - } - ] - } - ] + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] } }, - "handling": { - "spareParts": { - "producer": [ - { - "id": "BPNL0123456789ZZ" - } - ], - "sparePart": [ - { - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - } - ] - }, - "applicable": true + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } }, - "operation": { - "import": { - "importer": { - "eori": "GB123456789000", - "id": "BPNL0123456789ZZ" - }, - "applicable": true + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } }, - "manufacturer": { - "facility": [ - { - "facility": "BPNA1234567890AA" - } - ], - "manufacturingDate": "2000-01-31", - "manufacturer": "BPNLdL8kmGQO8go6" + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLBfN4ucXtBZdg" } }, - "sustainability": { - "reparabilityScore": "B", - "productFootprint": { - "material": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "carbon": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ], - "environmental": [ - { - "lifecycle": "main product production", - "rulebook": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ], - "unit": "kg CO2 / kWh", - "performanceClass": "A", - "manufacturingPlant": [ - { - "facility": "BPNA1234567890AA" - } - ], - "type": "Climate Change Total", - "value": 12.678, - "declaration": [ - { - "contentType": "URL", - "header": "Sustainability Document Material XY", - "content": "https://dummy.link" - } - ] - } - ] + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] }, - "status": "original", - "durabilityScore": "A" + "status" : "original", + "durabilityScore" : "A" } } } @@ -2047,6 +1769,27 @@ It is used to discover digital twins and exchange actual usage data. The registr To control access to both usage and meta data, the EcoPass KIT relies on the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/docs/kit/adoption-view/Adoption%20View/). Interactions between two parties occur exclusively peer-to-peer via the standardized interfaces of the Connector KIT, based on the International Data Space Protocol. Data sovereignty is enabled by so-called verifiable credentials. These rely on the technology of Self-Sovereign Identity (SSI) and are enabled through the Connector KIT. In short, consumers must present their signed credentials, defined by a data provider, before a data contract (and thus a data exchange) can take place. It should be mentioned that this concept is still in the prototype phase as of Release 3.2 and will be expanded in future releases. +## Digital Product Pass Verification + +The Digital Product Pass Reference Implementation has a concept and implementation for the Certification and Verification of Data Aspects in Catena-X. This concept may help adopters from the EcoPass KIT, containing guidelines on how to verify data integrity, after it has been retrieved from the EDC. + +This Catena-X Data Certification/Verification Framework aims to create a second layer of trust over the EDC data exchanges between consumers and data providers. It enables auditors to verify specific attributes or complete aspect models for data providers and allowing consumers to retrieve and verify the "validity" of the verification done. Using a simple wallet, a Data Provider is able to certify its attributes or the complete semantic models from Catena-X and include it in a Verifiable Credential, which can then be verified on the Data Consumer side. + +The concept is the First Aspect Model Verification/Certification Concept in Catena-X. It aims to provide a "lighthouse" for any other aspect model verification/certification that MUST be done in Catena-X using SAMM Aspect Models. +It provides a generic concept for Attribute Verification/Certification by external/internal auditors, and also provides a Self-Testification option for Data Providers to certify their data while still maintaining data sovereighty at all costs. By using the EDC connector for the data exchanges the concept uses the current Catena-X Architecture: + +- [eclipse-tractusx/digital-product-pass/dpp-verification](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification) + +Furthermore, it gives guidance and ready to use components for verifying the data received from their Data Providers. The Digital Product Pass Add-on offers the consumers components like the simple-wallet, an MVP decentral wallet able to issue and verify aspect model Verifiable Credential Documents. It also provides a proof of concept (PoC) in the dpp-backend and dpp-frontend components for complete data payloads to be verified. + +## Tutorials + +The Digital Product Pass Reference Implementation: [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) offers a tutorial for understanding the E2E journey of the EcoPass KIT. This tutorial was presented at the Second Tractus-X Community Days at the Digital Product Pass Introduction Workstream, it contains valuable and technical explanations on how to configure the Digital Twins and the Passport Aspects at the submodel server, easing the learning process of the adopters: + +- [eclipse-tractusx/digital-product-pass/dpp-tutorial](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-tutorial) + +For more information about the Reference Implementation and how the KIT can be adoped consult the [Software Development View](./page-software-development-view.md). + ## NOTICE This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). @@ -2062,4 +1805,5 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses - SPDX-FileCopyrightText: 2023, 2024 BASF SE - SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA - SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 Volkswagen AG - Source URL: diff --git a/docs-kits/kits/Eco_Pass_KIT/page-software-development-view.md b/docs-kits/kits/Eco_Pass_KIT/page-software-development-view.md index 3c71256ea64..7f5c81a55be 100644 --- a/docs-kits/kits/Eco_Pass_KIT/page-software-development-view.md +++ b/docs-kits/kits/Eco_Pass_KIT/page-software-development-view.md @@ -316,14 +316,19 @@ The Digital Product Passport Verification add-on is basically a concept for Cert The focus is on proving a process, artifacts and technologies, based on the existing SSI concept, aiming to enable Certification/Verification processes in Catena-X using wallets. -The documentation from the Digital Product Pass Verification Add-on is available [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification) and is planned to be released as an official Catena-X whitepaper in R24.08. +The documentation from the Digital Product Pass Verification Add-on is available [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification). The concept enables the verification of the Data in the Reference Implementation using a [simple wallet](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification/simple-wallet), a functional wallet that can: -> [!TIP] -> The implementation is **NOT YET AVAILABLE**, it is planned for R24.08 and it is a **PoC** for data certification and verification for any other aspect model in Catena-X. Keep an eye on the [`Digital Product Pass Repository`](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification) for further updates. +- Sign verifiable credentials with JsonWebSignature2020 proofs +- Verify verifiable credentials with JsonWebSignature2020 proofs +- Manage private and public keys, providing via DID Documents public keys in JsonWebKey2020 format + +Additionally the simple wallet contains a extension for creating JSON-LD @contexts using Catena-X SAMM Models Schemas. This allows the verifiable credentials with the semantic models to be valid JSON-LDs documents and enables the context of the existing and future modeled documents. + +![Verification Addon Screenshot](./resources/development-view/verificationAddon.png) ### Business Partner Data Management Add-on -When passports are retrieved from the data providers not all the company data is available to be visualized and shown. In order to eliminate the need to maintain models which contain references to companies in Catena-X the new models contain the `BPNS` and `BPNL` from the companies. Which can be translated into Address and Company information using the [https://github.com/eclipse-tractusx/bpdm](https://github.com/eclipse-tractusx/bpdm) reference implementation. This add-on will be implemented in R24.08. +When passports are retrieved from the data providers not all the company data is available to be visualized and shown. In order to eliminate the need to maintain models which contain references to companies in Catena-X the new models contain the `BPNS` and `BPNL` from the companies. Which can be translated into Address and Company information using the [https://github.com/eclipse-tractusx/bpdm](https://github.com/eclipse-tractusx/bpdm) reference implementation. > [!IMPORTANT] > diff --git a/docs-kits/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png b/docs-kits/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png new file mode 100644 index 00000000000..bf34184ce63 Binary files /dev/null and b/docs-kits/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg.license b/docs-kits/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg.license rename to docs-kits/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png.license diff --git a/docs-kits/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx b/docs-kits/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx index cde92f264a8..bd3f69a4f73 100644 --- a/docs-kits/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx +++ b/docs-kits/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx @@ -26,7 +26,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from '../part_notice.mdx' import AspectModelOverview from './part_aspect-model-overview.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) Aspect models are mostly easy to create by transforming a company's internal data into the target aspect model. Transformations are mostly straightforward in these cases. If necessary, special steps in creating aspect models are mentioned in the corresponding sections. @@ -179,10 +179,6 @@ Aspect model in GitHub: "key": "manufacturerId", "value": "BPNL7588787849VQ" }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, { "key": "partInstanceId", "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" @@ -231,10 +227,6 @@ Aspect model in GitHub: "key": "manufacturerId", "value": "BPNL7588787849VQ" }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, { "key": "partInstanceId", "value": "NO-574868639429552535768526" @@ -293,13 +285,13 @@ Aspect model in GitHub: "key": "batchId" }, { - "value": "123-0.740-3434-A", - "key": "manufacturerPartId" + "value": "BPNL7588787849VQ", + "key": "manufacturerId" }, ], "manufacturingInformation": { "date": "2022-02-04T14:48:54", - "country": "HUR", + "country": "DEU", "sites": [ { "catenaXsiteId": "BPNS1234567890ZZ", @@ -355,14 +347,6 @@ Aspect model in GitHub: "key": "parentOrderNumber", "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" }, - { - "key": "manufacturerPartId", - "value": "84816168424" - }, - { - "key": "nameAtManufacturer", - "value": "Black Leather Front Row Seat for Vehicle Model B" - }, { "key": "jisCallDate", "value": "2022-01-24T09:13:34" diff --git a/docs-kits/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx b/docs-kits/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx index bf195f382a9..6541ee9e958 100644 --- a/docs-kits/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx +++ b/docs-kits/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx @@ -26,7 +26,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from '../part_notice.mdx' import UniqueIDPush from './part_uniqueidpush.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) Industry Core uses digital twins to make a company's data available to other Catena-X partners. Basics about digital twins with which you should be familiar to understand this section are described in the [Digital Twin KIT](../../../../../docs-kits/category/digital-twin-kit). @@ -209,7 +209,7 @@ Here's an example how such a submodel descriptor could look like: "keys": [ { "type": "GlobalReference", - "value": "urn:samm:io.catenax.serial_part:1.0.1#SerialPart" + "value": "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" } ] }, @@ -253,7 +253,7 @@ Here's an example how such a submodel descriptor could look like: "keys": [ { "type": "GlobalReference", - "value": "urn:samm:io.catenax.serial_part:1.0.1#SerialPart" + "value": "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" } ] }, diff --git a/docs-kits/kits/Industry Core Kit/Software Development View/page_policies.mdx b/docs-kits/kits/Industry Core Kit/Software Development View/page_policies.mdx index 5daa686e299..c3423549e1d 100644 --- a/docs-kits/kits/Industry Core Kit/Software Development View/page_policies.mdx +++ b/docs-kits/kits/Industry Core Kit/Software Development View/page_policies.mdx @@ -25,7 +25,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from '../part_notice.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) The Policies are used to increase data sovereignty by limiting the access and usage of data. In the following, access and usage policies with their usage in the EDC are described. An explanation of Policy-handling mechanics in the EDC diff --git a/docs-kits/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx b/docs-kits/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx index 533d638bc41..7ee08781d09 100644 --- a/docs-kits/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx +++ b/docs-kits/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx @@ -20,16 +20,18 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ - Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Industry%20Core%20Kit (latest version) --> -In the following section, all aspect models that are part of Industry Core are documented. +The following section shows an overview of all aspect models that are currently attached to part type or part instance twins by Catena-X use cases. -| Digital Twin Type | Aspect Model | Mandatory Version | Optional Versions | KIT | -| :-- | :-- | :-- | :-- | :-- | -| PartType | PartTypeInformation | 1.0.0 | | Industry Core | -| | SingleLevelBomAsPlanned | 3.0.0 | | Industry Core | -| | SingleLevelUsageAsPlanned | 2.0.0 | | Industry Core | -| PartInstance | SerialPart | 3.0.0 | | Industry Core | -| | Batch | 3.0.0 | | Industry Core | -| | JustInSequencePart | 3.0.0 | | Industry Core | -| | SingleLevelBomAsBuilt | 3.0.0 | | Industry Core | -| | SingleLevelUsageAsBuilt | 3.0.0 | | Industry Core | -| | TractionBatteryCode | 1.0.0 | | Traceability | +| Digital Twin Type | Aspect Model | Mandatory Version | Optional Versions | KIT | Standard | +| :-- | :-- | :-- | :-- | :-- | :-- | +| PartType | PartTypeInformation | 1.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| | SingleLevelBomAsPlanned | 3.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| | SingleLevelUsageAsPlanned | 2.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| PartInstance | SerialPart | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | Batch | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | JustInSequencePart | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | SingleLevelBomAsBuilt | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | SingleLevelUsageAsBuilt | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | TractionBatteryCode | 2.0.0 | | Traceability | CX-0125 Traceability Use Case v2.0.0 | +| | SoftwareInformation | 1.0.0 | | Traceability | N/A | +| | CertificateSigningRequests | 1.0.0 | | Traceability | N/A | diff --git a/docs-kits/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx b/docs-kits/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx index 869ddabb151..7d47c52f465 100644 --- a/docs-kits/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx +++ b/docs-kits/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx @@ -28,7 +28,9 @@ The solution is based on notification assets in the EDC (which is the same appro > :raised_hand: It is important to understand that the receiver creates EDC asset and policies, and thus, the sender of the Unique ID push notification must check during the EDC negotiation process if the conditions the receiver offers are acceptable for the sender. -Currently there are two types of Unique ID Push Notifications available: "Connect to Parent" and "Connect to Child". +Currently there are two types of Unique ID Push Notifications available: "Connect to Parent" and "Connect to Child": + +![Unique ID Push Notifications](../assets/unique_id_push_notifications.svg) ##### Connect to Parent @@ -123,7 +125,7 @@ Upon receipt of the message, the supplier needs to update the corresponding sing #### Schema of Unique ID Push Notifications -The Unique ID Push notifications have a standardized format. Schemas of these notifications are described in detail in the Unique ID Push Open API specification. The standardized version of this API is [2.0.0](../../../../openApi/industrycore/unique-id-push.yaml). Version [2.1.0](../../../../openApi/industrycore/unique-id-push_2-1-0.yaml) is not (yet) standardized, but backwards compatible, and extends v2.0.0 with the Connect-to-Child feature. +The Unique ID Push notifications have a standardized format. Schemas of these notifications are described in detail in the Unique ID Push Open API specification. The standardized version of this API is [2.0.0](../openapi/unique-id-push.yaml). Version [2.1.0](../openapi/unique-id-push_2-1-0.yaml) is not (yet) standardized, but backwards compatible, and extends v2.0.0 with the Connect-to-Child feature. ##### Connect to Parent diff --git a/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg b/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg new file mode 100644 index 00000000000..42fa2c32c9f --- /dev/null +++ b/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg @@ -0,0 +1,4 @@ + + + +

          Customer

          Supplier
          gearbox
          DT

          Customer

          Supplier
          Connect-to-Parent
          (Bottom-Up)
          New DT has been created for a part and is available. The customer can update the SingleLevelBom data model.
          The part was assembled in, so the SingleLevelUsage data model can be updated at the supplier.
          Connect-to-Child
          (Top-Down)
          Part and corresponding digital twin was created.
          POST: .../uniqueidpush/connect-to-parent
          POST: .../uniqueidpush/connect-to-child
          gear
          DT
          The next step would be to install a part and then send a new Unique-ID push notification to the original supplier (connect-to-child)
          gearbox
          DT
          DT
          DT
          Exist a DT for the parts that will be assembled in?
          Product was created containing the parts assembled in.
          DT
          DT
          Has the part already been assembled in?
          gear
          gearbox
          gear
          DT
          gear
          \ No newline at end of file diff --git a/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg.license b/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg.license new file mode 100644 index 00000000000..60aad7a3096 --- /dev/null +++ b/docs-kits/kits/Industry Core Kit/assets/unique_id_push_notifications.svg.license @@ -0,0 +1,15 @@ +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +- SPDX-FileCopyrightText: 2024 German Edge Cloud GmbH & Co. KG +- SPDX-FileCopyrightText: 2024 Mercedes Benz AG +- SPDX-FileCopyrightText: 2024 Robert Bosch Manufacturing Solutions GmbH +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Siemens AG +- SPDX-FileCopyrightText: 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Industry%20Core%20Kit (latest version) diff --git a/docs-kits/kits/Industry Core Kit/page_architecture-view.mdx b/docs-kits/kits/Industry Core Kit/page_architecture-view.mdx index 6d61883ec47..54fd19b6f61 100644 --- a/docs-kits/kits/Industry Core Kit/page_architecture-view.mdx +++ b/docs-kits/kits/Industry Core Kit/page_architecture-view.mdx @@ -26,7 +26,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from './part_notice.mdx' import FutureConcepts from './part_future-concepts.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) The following page offers an architecture perspective including the main building blocks and information regarding communication between different components, shown as sequence diagrams in a runtime view. In general, data access must diff --git a/docs-kits/kits/Industry Core Kit/page_business_view.mdx b/docs-kits/kits/Industry Core Kit/page_business_view.mdx index 0700f650b3b..7899b0963fa 100644 --- a/docs-kits/kits/Industry Core Kit/page_business_view.mdx +++ b/docs-kits/kits/Industry Core Kit/page_business_view.mdx @@ -26,7 +26,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from './part_notice.mdx' import BillOfMaterials from './part_bill-of-materials.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) The following page offers a high level business view on the Industry Core KIT with its vision, mission, benefits, business value, customer journey and examples in form of videos. diff --git a/docs-kits/kits/Industry Core Kit/page_changelog.mdx b/docs-kits/kits/Industry Core Kit/page_changelog.mdx index 106f552427e..8457e549817 100644 --- a/docs-kits/kits/Industry Core Kit/page_changelog.mdx +++ b/docs-kits/kits/Industry Core Kit/page_changelog.mdx @@ -25,62 +25,41 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from './part_notice.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) All notable changes to this Kit will be documented in this file. -## [1.1.0] - 2024-XX-XX +## [1.2.0] - 2024-10-22 Compatible for **release 24.08**. ### Added -- **Business View:** - - ./. -- **Architecture View:** - - ./. -- **Operation View:** - - ./. - **Development View:** - - **Digital Twins:** - - Added a new guideline on how to handle Digitial Twins at contract manufactoring - - Added a new guideline on how to create an implicit connection between a Part Type twin and the corresponding Part Instance twins - - **Aspect Models:** - - ./. - - **Policies:** - - ./. + - **Digital Twins | Unique ID Push:** + - Added a new illustration to describe the unique id push notifications in a visual way -### Changed +## [1.1.1] - 2024-10-23 + +Compatible for **release 24.08**. + +### Removed -- **Business View:** - - ./. -- **Architecture View:** - - ./. -- **Operation View:** - - ./. - **Development View:** - - **Digital Twins:** - - ./. - **Aspect Models:** - - ./. - - **Policies:** - - ./. + - Removed the *manufacturerPartId* in the key-value list of the localIdentifiers for the SerialPart, Batch and JustInsequencePart JSON-Example + - Replaced the faulty (production) country abbreviation in the JSON-Example of the Batch aspect model from *HUR* to *DEU* -### Removed +## [1.1.0] - 2024-07-11 + +Compatible for **release 24.08**. + +### Added -- **Business View:** - - ./. -- **Architecture View:** - - ./. -- **Operation View:** - - ./. - **Development View:** - **Digital Twins:** - - ./. - - **Aspect Models:** - - ./. - - **Policies:** - - ./. + - Added a new guideline on how to handle Digital Twins at contract manufacturing + - Added a new guideline on how to create an implicit connection between a Part Type twin and the corresponding Part Instance twins ## [1.0.0] - 2024-05-06 diff --git a/docs-kits/kits/Industry Core Kit/page_software-operation-view.mdx b/docs-kits/kits/Industry Core Kit/page_software-operation-view.mdx index 19d43b544f2..96c8dc338f6 100644 --- a/docs-kits/kits/Industry Core Kit/page_software-operation-view.mdx +++ b/docs-kits/kits/Industry Core Kit/page_software-operation-view.mdx @@ -25,7 +25,7 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from './part_notice.mdx' -![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) +![Industry Core kit banner](@site/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg) The following page offers information on how to operate and deploy the Industry Core. diff --git a/docs-kits/kits/OSim Kit/OSim-Product-Documentation-EN.pdf b/docs-kits/kits/OSim Kit/OSim-Product-Documentation-EN.pdf new file mode 100755 index 00000000000..191ddc49805 Binary files /dev/null and b/docs-kits/kits/OSim Kit/OSim-Product-Documentation-EN.pdf differ diff --git a/docs-kits/kits/OSim Kit/Software Development View/01-osim-api.info.mdx b/docs-kits/kits/OSim Kit/Software Development View/01-osim-api.info.mdx index 0e0641e9c62..8749caa52b1 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/01-osim-api.info.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/01-osim-api.info.mdx @@ -1,7 +1,7 @@ --- id: osim-api title: "OSim API" -description: "Osim API for requesting and receiving simulation results as well as for interactions related to scenario management." +description: "OSim API for requesting and receiving simulation results" sidebar_label: Introduction sidebar_position: 0 hide_title: true @@ -13,10 +13,13 @@ import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import Export from "@theme/ApiDemoPanel/Export"; - - Version: 2.0.0 - +Version: 3.0.0 # OSim API -OSim API for requesting and receiving simulation results as well as for interactions related to scenario management. + + +OSim API for requesting and receiving simulation results + + + \ No newline at end of file diff --git a/docs-kits/kits/OSim Kit/Software Development View/02-page_software-development-view.md b/docs-kits/kits/OSim Kit/Software Development View/02-page_software-development-view.md index 4a8342f4b95..024639da235 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/02-page_software-development-view.md +++ b/docs-kits/kits/OSim Kit/Software Development View/02-page_software-development-view.md @@ -16,47 +16,59 @@ The following example shows the payload used for exchange of simulation results ```json { - "owner": { "id": "BPNL00000007OTZ3" }, - "dataQuality": 1, - "description": "Daily standard simulation", - "comment": "successful simulation", - "expirationTimestamp": "2023-03-24T09:15:24.000Z", - "runId": "0fece48b-c8d1-4180-1a9caca6d67e", - "shipments": [ - { - "handlingUnits": [ - { - "name": "Palette", - "volume": 1, - "weight": 189, - "batches": [ - { - "unitOfMeasurement": "KG", - "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50, - "materialNumber": "KK1000GR", - "batchOrderId": "Order-0001", - "batchId": "Batch_1", - "hazardousGoods": false, - "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", - "batchNumber": "45" - } - ], - "handlingUnitId": "HUT_1", - "amount": 1 - } - ], - "shipmentId": "DE51515151", - "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": { "id": "BPNL00000007OTZ3" }, - "recipient": { "id": "BPNL00000007OTZ4" }, - "logistics": { "id": "BPNL00000007OS0H" }, - "preceding": {}, - "splittingAllowed": true, - "destinationTimestamp": "2023-03-19T09:00:00.000Z" - } - ], - "timestamp": "2023-03-09T14:13:42.806Z" + "materialFlowSimulationResult": { + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "dataQuality": 0, + "description": "Please simulate asap", + "comment": "successful simulation ", + "expirationTimestamp": "2023-03-24T09:15:24.000Z", + "runId": "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments": [ + { + "handlingUnits": [ + { + "name": "Palette", + "volume": 1, + "weight": 189, + "batches": [ + { + "unitOfMeasurement": "KG", + "materialName": "KK1000GR-Gehäuse-Rot", + "quantity": 0, + "materialNumber": "KK1000GR", + "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", + "batchOrderId": "Order-0001", + "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", + "batchNumber": "45" + } + ], + "handlingUnitId": "HUT_1", + "amount": 1 + } + ], + "shipmentId": "DE51515151", + "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "splittingAllowed": true, + "destinationTimestamp": "2023-03-19T09:00:00.000Z" + } + ], + "timestamp": "2023-03-09T14:13:42.806Z" + } } ``` @@ -70,10 +82,12 @@ The following example shows the payload used for exchange of scenario data betwe "scenarioSimResults": { "resultOwnId": "916b5688-8bd8-4d7e-83b9-e0d40939274e", "resultOwnSimRunInitial": { - "owner": {}, + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, "dataQuality": 0, "description": "Please simulate asap", - "comment": "successful simulation", + "comment": "successful simulation ", "expirationTimestamp": "2023-03-24T09:15:24.000Z", "runId": "0fece48b-c8d1-4180-1a9caca6d67e", "shipments": [ @@ -81,17 +95,17 @@ The following example shows the payload used for exchange of scenario data betwe "handlingUnits": [ { "name": "Palette", - "volume": 1.0, - "weight": 189.0, + "volume": 1, + "weight": 189, "batches": [ { "unitOfMeasurement": "KG", "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50.0, + "quantity": 0, "materialNumber": "KK1000GR", "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", "batchOrderId": "Order-0001", - "batchId": "Batch_1", "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", "batchNumber": "45" } @@ -102,10 +116,18 @@ The following example shows the payload used for exchange of scenario data betwe ], "shipmentId": "DE51515151", "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": {}, - "recipient": {}, - "logistics": {}, - "preceding": {}, + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, "splittingAllowed": true, "destinationTimestamp": "2023-03-19T09:00:00.000Z" } @@ -113,10 +135,12 @@ The following example shows the payload used for exchange of scenario data betwe "timestamp": "2023-03-09T14:13:42.806Z" }, "resultOwnSimRunUpdated": { - "owner": {}, + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, "dataQuality": 0, "description": "Please simulate asap", - "comment": "successful simulation", + "comment": "successful simulation ", "expirationTimestamp": "2023-03-24T09:15:24.000Z", "runId": "0fece48b-c8d1-4180-1a9caca6d67e", "shipments": [ @@ -124,17 +148,17 @@ The following example shows the payload used for exchange of scenario data betwe "handlingUnits": [ { "name": "Palette", - "volume": 1.0, - "weight": 189.0, + "volume": 1, + "weight": 189, "batches": [ { "unitOfMeasurement": "KG", "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50.0, + "quantity": 0, "materialNumber": "KK1000GR", "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", "batchOrderId": "Order-0001", - "batchId": "Batch_1", "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", "batchNumber": "45" } @@ -145,10 +169,18 @@ The following example shows the payload used for exchange of scenario data betwe ], "shipmentId": "DE51515151", "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": {}, - "recipient": {}, - "logistics": {}, - "preceding": {}, + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, "splittingAllowed": true, "destinationTimestamp": "2023-03-19T09:00:00.000Z" } @@ -156,24 +188,27 @@ The following example shows the payload used for exchange of scenario data betwe "timestamp": "2023-03-09T14:13:42.806Z" } }, - "scenarioParameter": { - "unitOfMeasurement": "KG", - "parameterScenario": "8d464b8b-6977-4952-8a22-0489067ca081", - "parameterComment": "updated Delivery Date", - "materialName": "KK1000GR-Gehäuse-Rot", - "parameterQuantityUpdated": 1.0, - "parameterId": "847c71e5-614a-468b-a3a0-674bf2af3004", - "materialNumber": "KK1000GR", - "parameterDeliveryDateUpdated": "2023-10-10T09:00:00.000Z", - "parameterDeliveryDateInitial": "2023-10-09T10:00:00.000Z", - "parameterOrderId": "OID-011123456", - "parameterQuantityInitial": 1.0 - }, + "scenarioParameter": [ + { + "unitOfMeasurement": "KG", + "parameterComment": "updated Delivery Date", + "materialName": "KK1000GR-Gehäuse-Rot", + "parameterQuantityUpdated": 1, + "parameterId": "847c71e5-614a-468b-a3a0-674bf2af3004", + "materialNumber": "KK1000GR", + "parameterDeliveryDateUpdated": "2023-10-10T09:00:00.000Z", + "parameterDeliveryDateInitial": "2023-10-09T10:00:00.000Z", + "parameterOrderId": "OID-011123546", + "parameterQuantityInitial": 1 + } + ], "scenarioHeader": { "scenarioOwnerRole": "Customer", "scenarioCreationTimestamp": "2023-10-04T09:10:00.000Z", "scenarioExpirationTimestamp": "2023-10-07T09:10:00.000Z", - "scenarioOwner": "BPNL0000007OTZ3", + "scenarioOwner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, "scenarioDescription": "Changes in Delivery Date", "scenarioId": "8d464b8b-6977-4952-8a22-0489067ca081", "scenarioTitle": "Delivery Modification" diff --git a/docs-kits/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx b/docs-kits/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx index 5b864ed924a..54bb3c43705 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx @@ -5,7 +5,7 @@ description: "Request latest simulation result by referring the latest simulatio sidebar_label: "requestLatestSimulationResult" hide_title: true hide_table_of_contents: true -api: {"tags":["requestLatestSimulationResult"],"operationId":"requestLatestSimulationResult","description":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"},{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"simulationRunId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"No simulation results are released","content":{"text":{"schema":{"type":"string","example":"Data provider doesn’t have any released simulation results"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request the data was not GET"}}}},"406":{"description":"No newer simulation available","content":{"text":{"schema":{"type":"string","example":"The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database"}}}},"407":{"description":"No shipments planned","content":{"text":{"schema":{"type":"string","example":"No shipments are currently planned for the requestor"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"request Latest Simulation Result","description":{"content":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","type":"text/plain"},"url":{"path":["api","requestLatestSimulationResult","bpns",":bpns","requestId",":requestId","simulationRunId",":simulationRunId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"simulationRunId"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} +api: {"operationId":"requestLatestSimulationResult","tags":["requestLatestSimulationResult"],"description":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"},{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"simulationRunId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"No simulation results are released","content":{"text":{"schema":{"type":"string","example":"Data provider doesn’t have any released simulation results"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request the data was not GET"}}}},"406":{"description":"No newer simulation available","content":{"text":{"schema":{"type":"string","example":"The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database"}}}},"407":{"description":"No shipments planned","content":{"text":{"schema":{"type":"string","example":"No shipments are currently planned for the requestor"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"request Latest Simulation Result","description":{"content":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","type":"text/plain"},"url":{"path":["api","requestLatestSimulationResult","bpns",":bpns","requestId",":requestId","simulationRunId",":simulationRunId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"simulationRunId"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} sidebar_class_name: "get api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null diff --git a/docs-kits/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx b/docs-kits/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx index c2c20ba6240..2b005630c28 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx @@ -5,7 +5,7 @@ description: "Receive latest simulation result which can be stored in own OSim M sidebar_label: "receiveLatestSimulationResult" hide_title: true hide_table_of_contents: true -api: {"tags":["receiveLatestSimulationResult"],"description":"Receive latest simulation result which can be stored in own OSim Manager instance","operationId":"receiveLatestSimulationResult","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"object","properties":{"id":{"type":"string"}}},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"type":"object","properties":{"handlingUnits":{"type":"array","items":{"type":"object","properties":{"volume":{"type":"integer"},"batches":{"type":"array","items":{"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"integer"},"materialNumber":{"type":"string"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"hazardousGoods":{"type":"boolean"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"},"name":{"type":"string"},"weight":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object","properties":{"id":{"type":"string"}}},"recipient":{"type":"object","properties":{"id":{"type":"string"}}},"logistics":{"type":"object","properties":{"id":{"type":"string"}}},"preceding":{"type":"object","properties":{}},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}},"examples":{"0":{"value":"{ \n \"owner\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"dataQuality\": 1, \n \"description\": \"Daily standard simulation\", \n \"comment\": \"successful simulation\", \n \"expirationTimestamp\": \"2023-03-24T09:15:24.000Z\", \n \"runId\": \"0fece48b-c8d1-4180-1a9caca6d67e\", \n \"shipments\": [ \n { \n \"handlingUnits\": [ \n { \n \"name\": \"Palette\", \n \"volume\": 1, \n \"weight\": 189, \n \"batches\": [ \n { \n \"unitOfMeasurement\": \"KG\", \n \"materialName\": \"KK1000GR-Gehäuse-Rot\", \n \"quantity\": 50, \n \"materialNumber\": \"KK1000GR\", \n \"batchOrderId\": \"Order-0001\", \n \"batchId\": \"Batch_1\", \n \"hazardousGoods\": false, \n \"batchExpirationTimestamp\": \"2023-08-22T16:00:00.000Z\", \n \"batchNumber\": \"45\" \n } \n ], \n \"handlingUnitId\": \"HUT_1\", \n \"amount\": 1 \n } \n ], \n \"shipmentId\": \"DE51515151\", \n \"recipientTimestampPlanned\": \"2023-04-19T09:00:00.000Z\", \n \"destination\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"recipient\": { \"id\": \"BPNS00000007OTZ4\" }, \n \"logistics\": { \"id\": \"BPNS00000007OS0H\" }, \n \"preceding\": {}, \n \"splittingAllowed\": true, \n \"destinationTimestamp\": \"2023-03-19T09:00:00.000Z\" \n } \n ], \n \"timestamp\": \"2023-03-09T14:13:42.806Z\" \n}"}}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Payload is empty","content":{"text":{"schema":{"type":"string","example":"The payload of the API call is empty."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"Payload structure unknown","content":{"text":{"schema":{"type":"string","example":"The payload structure is unknown or correspond not to the defined semantic model"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to receive the data was not POST"}}}},"406":{"description":"Payload content invalid","content":{"text":{"schema":{"type":"string","example":"The content of the payload is invalid. E.g. “owner unknown”"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/receiveLatestSimulationResult/requestId/{requestId}","jsonRequestBodyExample":{"owner":{"id":"string"},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"volume":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","batchOrderId":"string","batchId":"string","hazardousGoods":true,"batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0,"name":"string","weight":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{"id":"string"},"recipient":{"id":"string"},"logistics":{"id":"string"},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"},"info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"receive Latest Simulation Result","description":{"content":"Receive latest simulation result which can be stored in own OSim Manager instance","type":"text/plain"},"url":{"path":["api","receiveLatestSimulationResult","requestId",":requestId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["receiveLatestSimulationResult"],"description":"Receive latest simulation result which can be stored in own OSim Manager instance","operationId":"receiveLatestSimulationResult","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"}],"requestBody":{"content":{"application/json":{"schema":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Payload is empty","content":{"text":{"schema":{"type":"string","example":"The payload of the API call is empty."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"Payload structure unknown","content":{"text":{"schema":{"type":"string","example":"The payload structure is unknown or correspond not to the defined semantic model"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to receive the data was not POST"}}}},"406":{"description":"Payload content invalid","content":{"text":{"schema":{"type":"string","example":"The content of the payload is invalid. E.g. “owner unknown”"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/receiveLatestSimulationResult/requestId/{requestId}","jsonRequestBodyExample":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"receive Latest Simulation Result","description":{"content":"Receive latest simulation result which can be stored in own OSim Manager instance","type":"text/plain"},"url":{"path":["api","receiveLatestSimulationResult","requestId",":requestId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null @@ -26,7 +26,39 @@ import TabItem from "@theme/TabItem"; Receive latest simulation result which can be stored in own OSim Manager instance -
          Path Parameters
          Request Body
            owner object
            shipments object[]
            handlingUnits object[]
            batches object[]
            destination object
            recipient object
            logistics object
            preceding object
          +
          Path Parameters
          Request Body
            owner object
            + +Characteristic describing the Scenario Owner + +
            shipments object[] required
            + +List of shipments contained in the simulation + +
            destination object
            + +Characteristic describing the Scenario Owner + +
            recipient object
            + +Characteristic describing the Scenario Owner + +
            logistics object
            + +Characteristic describing the Scenario Owner + +
            preceding object
            + +Characteristic describing the Scenario Owner + +
            handlingUnits object[] required
            + +List of handling units included in the shipment + +
            = 1`"} defaultValue={undefined}>
            batches object[] required
            + +List of material batches + +
          OK diff --git a/docs-kits/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx b/docs-kits/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx index 99ea43510e0..abca7415abc 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx @@ -5,7 +5,7 @@ description: "The requestScenarioFeedback is a request from a OSim partner for f sidebar_label: "requestScenarioFeedback" hide_title: true hide_table_of_contents: true -api: {"tags":["requestScenarioFeedback"],"operationId":"requestScenarioFeedback","description":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"}],"requestBody":{"content":{"application/json":{"schema":{"required":["materialFlowScenarioRequest"],"type":"object","properties":{"materialFlowScenarioRequest":{"required":["scenarioHeader","scenarioParameter","scenarioSimResults"],"type":"object","properties":{"scenarioSimResults":{"required":["resultOwnId","resultOwnSimRunInitial","resultOwnSimRunUpdated"],"type":"object","properties":{"resultOwnId":{"type":"string"},"resultOwnSimRunInitial":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"owner":{"type":"object"},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"handlingUnits":{"type":"array","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"name":{"type":"string"},"volume":{"type":"number"},"weight":{"type":"number"},"batches":{"type":"array","items":{"required":["batchExpirationTimestamp","batchId","batchNumber","batchOrderId","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"number"},"materialNumber":{"type":"string"},"materialHazardousGoods":{"type":"boolean"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object"},"recipient":{"type":"object"},"logistics":{"type":"object"},"preceding":{"type":"object"},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}},"resultOwnSimRunUpdated":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"owner":{"type":"object"},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"handlingUnits":{"type":"array","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"name":{"type":"string"},"volume":{"type":"number"},"weight":{"type":"number"},"batches":{"type":"array","items":{"required":["batchExpirationTimestamp","batchId","batchNumber","batchOrderId","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"number"},"materialNumber":{"type":"string"},"materialHazardousGoods":{"type":"boolean"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object"},"recipient":{"type":"object"},"logistics":{"type":"object"},"preceding":{"type":"object"},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}}}},"scenarioParameter":{"required":["materialName","materialNumber","parameterComment","parameterDeliveryDateInitial","parameterDeliveryDateUpdated","parameterId","parameterOrderId","parameterQuantityInitial","parameterQuantityUpdated","parameterScenario","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"parameterScenario":{"type":"string"},"parameterComment":{"type":"string"},"materialName":{"type":"string"},"parameterQuantityUpdated":{"type":"number"},"parameterId":{"type":"string"},"materialNumber":{"type":"string"},"parameterDeliveryDateUpdated":{"type":"string"},"parameterDeliveryDateInitial":{"type":"string"},"parameterOrderId":{"type":"string"},"parameterQuantityInitial":{"type":"number"}}},"scenarioHeader":{"required":["scenarioCreationTimestamp","scenarioDescription","scenarioExpirationTimestamp","scenarioId","scenarioOwner","scenarioOwnerRole","scenarioTitle"],"type":"object","properties":{"scenarioOwnerRole":{"type":"string"},"scenarioCreationTimestamp":{"type":"string"},"scenarioExpirationTimestamp":{"type":"string"},"scenarioOwner":{"type":"string"},"scenarioDescription":{"type":"string"},"scenarioId":{"type":"string"},"scenarioTitle":{"type":"string"}}}}}}},"examples":{"0":{"value":"{\n \"materialFlowScenarioRequest\" : {\n \"scenarioSimResults\" : {\n \"resultOwnId\" : \"916b5688-8bd8-4d7e-83b9-e0d40939274e\",\n \"resultOwnSimRunInitial\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n },\n \"resultOwnSimRunUpdated\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n }\n },\n \"scenarioParameter\" : {\n \"unitOfMeasurement\" : \"KG\",\n \"parameterScenario\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"parameterComment\" : \"updated Delivery Date\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"parameterQuantityUpdated\" : 1.0,\n \"parameterId\" : \"847c71e5-614a-468b-a3a0-674bf2af3004\",\n \"materialNumber\" : \"KK1000GR\",\n \"parameterDeliveryDateUpdated\" : \"2023-10-10T09:00:00.000Z\",\n \"parameterDeliveryDateInitial\" : \"2023-10-09T10:00:00.000Z\",\n \"parameterOrderId\" : \"OID-011123456\",\n \"parameterQuantityInitial\" : 1.0\n },\n \"scenarioHeader\" : {\n \"scenarioOwnerRole\" : \"Customer\",\n \"scenarioCreationTimestamp\" : \"2023-10-04T09:10:00.000Z\",\n \"scenarioExpirationTimestamp\" : \"2023-10-07T09:10:00.000Z\",\n \"scenarioOwner\" : \"BPNS0000007OTZ3\",\n \"scenarioDescription\" : \"Changes in Delivery Date\",\n \"scenarioId\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"scenarioTitle\" : \"Delivery Modification\"\n }\n }\n}"}}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not POST"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/requestScenarioFeedback/bpns/{bpns}","jsonRequestBodyExample":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"string","resultOwnSimRunInitial":{"owner":{},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"name":"string","volume":0,"weight":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","materialHazardousGoods":true,"batchOrderId":"string","batchId":"string","batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{},"recipient":{},"logistics":{},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"},"resultOwnSimRunUpdated":{"owner":{},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"name":"string","volume":0,"weight":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","materialHazardousGoods":true,"batchOrderId":"string","batchId":"string","batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{},"recipient":{},"logistics":{},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"}},"scenarioParameter":{"unitOfMeasurement":"string","parameterScenario":"string","parameterComment":"string","materialName":"string","parameterQuantityUpdated":0,"parameterId":"string","materialNumber":"string","parameterDeliveryDateUpdated":"string","parameterDeliveryDateInitial":"string","parameterOrderId":"string","parameterQuantityInitial":0},"scenarioHeader":{"scenarioOwnerRole":"string","scenarioCreationTimestamp":"string","scenarioExpirationTimestamp":"string","scenarioOwner":"string","scenarioDescription":"string","scenarioId":"string","scenarioTitle":"string"}}},"info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"request Scenario Feedback","description":{"content":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","type":"text/plain"},"url":{"path":["api","requestScenarioFeedback","bpns",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"operationId":"requestScenarioFeedback","tags":["requestScenarioFeedback"],"description":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"}],"requestBody":{"content":{"application/json":{"schema":{"required":["materialFlowScenarioRequest"],"type":"object","properties":{"materialFlowScenarioRequest":{"required":["scenarioHeader","scenarioSimResults"],"type":"object","properties":{"scenarioHeader":{"required":["scenarioCreationTimestamp","scenarioExpirationTimestamp","scenarioId","scenarioOwner","scenarioOwnerRole","scenarioTitle"],"type":"object","properties":{"scenarioId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"scenarioTitle":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"scenarioCreationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"scenarioExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"scenarioOwner":{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"},"scenarioOwnerRole":{"type":"string","description":"Characteristic describing possible values for the role of the scenario owner","enum":["Customer","Supplier","LogisticianReceiving","LogisticianSending"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerRoleCharacteristic"},"scenarioDescription":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"}},"description":"Characteristic describing the parameter for a scenario header","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioHeaderCharacteristic"},"scenarioParameter":{"type":"array","description":"Characteristic describing the scenario parameter","items":{"required":["materialName","materialNumber","parameterComment","parameterDeliveryDateInitial","parameterDeliveryDateUpdated","parameterId","parameterOrderId","parameterQuantityInitial","parameterQuantityUpdated","unitOfMeasurement"],"type":"object","properties":{"parameterId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"parameterDeliveryDateInitial":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"parameterDeliveryDateUpdated":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"parameterQuantityInitial":{"type":"number","description":"Describes a property which is a Float","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#QuantityCharacteristic"},"parameterQuantityUpdated":{"type":"number","description":"Describes a property which is a Float","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#QuantityCharacteristic"},"parameterOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"parameterComment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"}},"description":"Parameters which are used to describe a material flow scenario request","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioParameter"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioParameterCharacteristic"},"scenarioSimResults":{"required":["resultOwnId"],"type":"object","properties":{"resultOwnId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"resultOwnSimRunInitial":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"},"resultOwnSimRunUpdated":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"}},"description":"Characteristic for simulation results","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioSimResultsCharacteristic"}},"description":"Characteristic describing the aspect Material Flow Scenario Request","example":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"916b5688-8bd8-4d7e-83b9-e0d40939274e","resultOwnSimRunInitial":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"},"resultOwnSimRunUpdated":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"scenarioParameter":[{"unitOfMeasurement":"KG","parameterComment":"updated Delivery Date","materialName":"KK1000GR-Gehäuse-Rot","parameterQuantityUpdated":1,"parameterId":"847c71e5-614a-468b-a3a0-674bf2af3004","materialNumber":"KK1000GR","parameterDeliveryDateUpdated":"2023-10-10T09:00:00.000Z","parameterDeliveryDateInitial":"2023-10-09T10:00:00.000Z","parameterOrderId":"OID-011123546","parameterQuantityInitial":1}],"scenarioHeader":{"scenarioOwnerRole":"Customer","scenarioCreationTimestamp":"2023-10-04T09:10:00.000Z","scenarioExpirationTimestamp":"2023-10-07T09:10:00.000Z","scenarioOwner":{"bpnsProperty":"BPNS0123456789ZZ"},"scenarioDescription":"Changes in Delivery Date","scenarioId":"8d464b8b-6977-4952-8a22-0489067ca081","scenarioTitle":"Delivery Modification"}}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#MaterialFlowScenarioRequestCharacteristic"}},"description":"Aspect model describing the Material Flow Scenario Request","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#MaterialFlowScenarioRequestAspect"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not POST"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/requestScenarioFeedback/bpns/{bpns}","jsonRequestBodyExample":{"materialFlowScenarioRequest":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"916b5688-8bd8-4d7e-83b9-e0d40939274e","resultOwnSimRunInitial":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"},"resultOwnSimRunUpdated":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"scenarioParameter":[{"unitOfMeasurement":"KG","parameterComment":"updated Delivery Date","materialName":"KK1000GR-Gehäuse-Rot","parameterQuantityUpdated":1,"parameterId":"847c71e5-614a-468b-a3a0-674bf2af3004","materialNumber":"KK1000GR","parameterDeliveryDateUpdated":"2023-10-10T09:00:00.000Z","parameterDeliveryDateInitial":"2023-10-09T10:00:00.000Z","parameterOrderId":"OID-011123546","parameterQuantityInitial":1}],"scenarioHeader":{"scenarioOwnerRole":"Customer","scenarioCreationTimestamp":"2023-10-04T09:10:00.000Z","scenarioExpirationTimestamp":"2023-10-07T09:10:00.000Z","scenarioOwner":{"bpnsProperty":"BPNS0123456789ZZ"},"scenarioDescription":"Changes in Delivery Date","scenarioId":"8d464b8b-6977-4952-8a22-0489067ca081","scenarioTitle":"Delivery Modification"}}}},"info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"request Scenario Feedback","description":{"content":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","type":"text/plain"},"url":{"path":["api","requestScenarioFeedback","bpns",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null @@ -26,7 +26,99 @@ import TabItem from "@theme/TabItem"; The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario. -
          Path Parameters
          Request Body
            materialFlowScenarioRequest object required
            scenarioSimResults object required
            resultOwnSimRunInitial object required
            shipments object[] required
            handlingUnits object[] required
            batches object[] required
            resultOwnSimRunUpdated object required
            shipments object[] required
            handlingUnits object[] required
            batches object[] required
            scenarioParameter object required
            scenarioHeader object required
          +
          Path Parameters
          Request Body
            materialFlowScenarioRequest object required
            + +Characteristic describing the aspect Material Flow Scenario Request + +
            scenarioHeader object required
            + +Characteristic describing the parameter for a scenario header + +
            scenarioOwner object required
            + +Characteristic describing the Scenario Owner + +
            scenarioParameter object[]
            + +Characteristic describing the scenario parameter + +
            scenarioSimResults object required
            + +Characteristic for simulation results + +
            resultOwnSimRunInitial object
            + +Characteristic describing the property for a Material Flow Simulation Result + +
            owner object
            + +Characteristic describing the Scenario Owner + +
            shipments object[] required
            + +List of shipments contained in the simulation + +
            destination object
            + +Characteristic describing the Scenario Owner + +
            recipient object
            + +Characteristic describing the Scenario Owner + +
            logistics object
            + +Characteristic describing the Scenario Owner + +
            preceding object
            + +Characteristic describing the Scenario Owner + +
            handlingUnits object[] required
            + +List of handling units included in the shipment + +
            = 1`"} defaultValue={undefined}>
            batches object[] required
            + +List of material batches + +
            resultOwnSimRunUpdated object
            + +Characteristic describing the property for a Material Flow Simulation Result + +
            owner object
            + +Characteristic describing the Scenario Owner + +
            shipments object[] required
            + +List of shipments contained in the simulation + +
            destination object
            + +Characteristic describing the Scenario Owner + +
            recipient object
            + +Characteristic describing the Scenario Owner + +
            logistics object
            + +Characteristic describing the Scenario Owner + +
            preceding object
            + +Characteristic describing the Scenario Owner + +
            handlingUnits object[] required
            + +List of handling units included in the shipment + +
            = 1`"} defaultValue={undefined}>
            batches object[] required
            + +List of material batches + +
          OK diff --git a/docs-kits/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx b/docs-kits/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx index 102bb1861e4..880ebbd4405 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx @@ -5,7 +5,7 @@ description: "The receiveScenarioFeedback enables the requestor to transmit the sidebar_label: "receiveScenarioFeedback" hide_title: true hide_table_of_contents: true -api: {"tags":["receiveScenarioFeedback"],"operationId":"receiveScenarioFeedback","description":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"feedback","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["Realizable","NotRealizable"]},"example":"Realizable"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The feedbackState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"receive Scenario Feedback","description":{"content":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","type":"text/plain"},"url":{"path":["api","receiveScenarioFeedback","bpns",":bpns","scenarioId",":scenarioId","feedback",":feedback"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"feedback"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} +api: {"operationId":"receiveScenarioFeedback","tags":["receiveScenarioFeedback"],"description":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"feedback","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["Realizable","NotRealizable"]},"example":"Realizable"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The feedbackState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"receive Scenario Feedback","description":{"content":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","type":"text/plain"},"url":{"path":["api","receiveScenarioFeedback","bpns",":bpns","scenarioId",":scenarioId","feedback",":feedback"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"feedback"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} sidebar_class_name: "get api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null diff --git a/docs-kits/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx b/docs-kits/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx index e844d14f913..872564bce85 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx +++ b/docs-kits/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx @@ -5,8 +5,8 @@ description: "The pushScenarioState enables distribution of a new scenario statu sidebar_label: "pushScenarioState" hide_title: true hide_table_of_contents: true -api: {"tags":["pushScenarioState"],"operationId":"pushScenarioState","description":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"state","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["InRealization","Processed","Canceled"]},"example":"InRealization"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET has succeeded. The pushScenarioState has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The scenarioState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"push Scenario State","description":{"content":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","type":"text/plain"},"url":{"path":["api","pushScenarioState","bpns",":bpns","scenarioId",":scenarioId","state",":state"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"state"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} -sidebar_class_name: "get api-method" +api: {"operationId":"pushScenarioState","tags":["pushScenarioState"],"description":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"state","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["InRealization","Processed","Canceled"]},"example":"InRealization"}],"requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET has succeeded. The pushScenarioState has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The scenarioState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"push Scenario State","description":{"content":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","type":"text/plain"},"url":{"path":["api","pushScenarioState","bpns",":bpns","scenarioId",":scenarioId","state",":state"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"state"}]},"header":[{"key":"Content-Type","value":"text/plain"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\""}}} +sidebar_class_name: "post api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null --- @@ -26,7 +26,7 @@ import TabItem from "@theme/TabItem"; The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario -
          Path Parameters
          +
          Path Parameters
          Request Body
          • string
          OK diff --git a/docs-kits/kits/OSim Kit/Software Development View/sidebar.js b/docs-kits/kits/OSim Kit/Software Development View/sidebar.js index 4b9d63c21a8..78d82355043 100644 --- a/docs-kits/kits/OSim Kit/Software Development View/sidebar.js +++ b/docs-kits/kits/OSim Kit/Software Development View/sidebar.js @@ -1,87 +1,87 @@ module.exports = [ - { type: 'doc', id: 'kits/OSim Kit/Software Development View//osim-api' }, + { type: "doc", id: "kits/OSim Kit/Software Development View//osim-api" }, { - type: 'category', - label: 'requestLatestSimulationResult', + type: "category", + label: "requestLatestSimulationResult", link: { - type: 'generated-index', - title: 'requestLatestSimulationResult', - slug: '/category/kits/OSim Kit/Software Development View/request-latest-simulation-result', + type: "generated-index", + title: "requestLatestSimulationResult", + slug: "/category/kits/OSim Kit/Software Development View/request-latest-simulation-result", }, items: [ { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//request-latest-simulation-result', - label: 'requestLatestSimulationResult', - className: 'api-method get', + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method get", }, ], }, { - type: 'category', - label: 'receiveLatestSimulationResult', + type: "category", + label: "receiveLatestSimulationResult", link: { - type: 'generated-index', - title: 'receiveLatestSimulationResult', - slug: '/category/kits/OSim Kit/Software Development View/receive-latest-simulation-result', + type: "generated-index", + title: "receiveLatestSimulationResult", + slug: "/category/kits/OSim Kit/Software Development View/receive-latest-simulation-result", }, items: [ { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//receive-latest-simulation-result', - label: 'receiveLatestSimulationResult', - className: 'api-method post', + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", }, ], }, { - type: 'category', - label: 'requestScenarioFeedback', + type: "category", + label: "requestScenarioFeedback", link: { - type: 'generated-index', - title: 'requestScenarioFeedback', - slug: '/category/kits/OSim Kit/Software Development View/request-scenario-feedback', + type: "generated-index", + title: "requestScenarioFeedback", + slug: "/category/kits/OSim Kit/Software Development View/request-scenario-feedback", }, items: [ { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//request-scenario-feedback', - label: 'requestScenarioFeedback', - className: 'api-method post', + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", }, ], }, { - type: 'category', - label: 'receiveScenarioFeedback', + type: "category", + label: "receiveScenarioFeedback", link: { - type: 'generated-index', - title: 'receiveScenarioFeedback', - slug: '/category/kits/OSim Kit/Software Development View/receive-scenario-feedback', + type: "generated-index", + title: "receiveScenarioFeedback", + slug: "/category/kits/OSim Kit/Software Development View/receive-scenario-feedback", }, items: [ { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//receive-scenario-feedback', - label: 'receiveScenarioFeedback', - className: 'api-method get', + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method get", }, ], }, { - type: 'category', - label: 'pushScenarioState', + type: "category", + label: "pushScenarioState", link: { - type: 'generated-index', - title: 'pushScenarioState', - slug: '/category/kits/OSim Kit/Software Development View/push-scenario-state', + type: "generated-index", + title: "pushScenarioState", + slug: "/category/kits/OSim Kit/Software Development View/push-scenario-state", }, items: [ { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//push-scenario-state', - label: 'pushScenarioState', - className: 'api-method get', + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", }, ], }, diff --git a/docs-kits/kits/OSim Kit/page_adoption-view.md b/docs-kits/kits/OSim Kit/page_adoption-view.md index 333cfe3de2a..666e9065989 100644 --- a/docs-kits/kits/OSim Kit/page_adoption-view.md +++ b/docs-kits/kits/OSim Kit/page_adoption-view.md @@ -1,7 +1,7 @@ --- id: Adoption View OSim Kit title: Adoption View -description: 'OSim Kit' +description: "OSim Kit" sidebar_position: 2 --- @@ -12,6 +12,7 @@ sidebar_position: 2 ## Vision & Mission + **Gain increased supply chain transparency through collaborative simulation across all stakeholders**. **Combine simulations of plants internally with simulations of external logistics over multiple tiers**. @@ -22,7 +23,7 @@ An open architecture for integrating partners of all kinds together with standar **Integrate any supply chain partner**. -Even partners that do not use any simulation tool can contribute to the overall transparency through the well-defined information requirements. +Even partners that do not use any simulation tool can contribute to the overall transparency through the well-defined information requirements. **Integrate any simulation tool**. @@ -69,9 +70,9 @@ See also the following publications for more detailed description of the process The Semantic Model MaterialFlowSimulationResult summarizes simulation results of the individual partners and is used for data exchange along the supply chain. -The *MaterialFlowSimulationResult* object will be sent by OSim partner to another OSim partner on a higher tier level. OSim partner can be a producing company as well as a logistics company. +The _MaterialFlowSimulationResult_ object will be sent by OSim partner to another OSim partner on a higher tier level. OSim partner can be a producing company as well as a logistics company. -Every *MaterialFlowSimulationResult* includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. +Every _MaterialFlowSimulationResult_ includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. #### Structure of the Materialflow Simulation Result @@ -82,7 +83,7 @@ The MaterialFlowSimulationResult semantic model contains 4 hierarchical entities - HandlingUnit - MaterialBatch -One *MaterialFlowSimulationResult* refers to one or more Shipments. +One _MaterialFlowSimulationResult_ refers to one or more Shipments. **Shipment** describes a delivery approach with information about source, destination and delivery time. One Shipment refers to one or more HandlingUnits. @@ -92,19 +93,19 @@ One *MaterialFlowSimulationResult* refers to one or more Shipments. #### Aspect Model -Github Link to semantic data model: +Github Link to semantic data model: ### Materialflow Scenario Request (MaterialFlowScenarioRequest) -The Semantic Model *MaterialFlowScenarioRequest* includes scenario related information of the individual partners and is used for data exchange along the supply chain in regard to “What-If” scenarios. +The Semantic Model _MaterialFlowScenarioRequest_ includes scenario related information of the individual partners and is used for data exchange along the supply chain in regard to “What-If” scenarios. -The *MaterialFlowScenarioRequest* object will be sent by OSim partner to another OSim partner (possible in both directions: up and down). OSim partner can be a producing company as well as a logistics company. +The _MaterialFlowScenarioRequest_ object will be sent by OSim partner to another OSim partner (possible in both directions: up and down). OSim partner can be a producing company as well as a logistics company. -Every *MaterialFlowScenarioRequest* includes information about the scenario description, scenario parameters (optional) and two simulation results analogues to the MaterialFlowSimulationResult (one with the unchanged and another one with the changed situation, allowing verification of scenario impact through comparison). +Every _MaterialFlowScenarioRequest_ includes information about the scenario description, scenario parameters (optional) and two simulation results analogues to the MaterialFlowSimulationResult (one with the unchanged and another one with the changed situation, allowing verification of scenario impact through comparison). #### Structure of the Materialflow Scenario Request -The *MaterialFlowScenarioRequest* semantic model contains 4 entities: +The _MaterialFlowScenarioRequest_ semantic model contains 4 entities: - Scenario Header - Scenario Parameters (optional) @@ -121,7 +122,7 @@ The *MaterialFlowScenarioRequest* semantic model contains 4 entities: #### Aspect Model -Github Link to semantic data model: +Github Link to semantic data model: ## Logic & Schema @@ -228,12 +229,12 @@ To verify the participants Catena-X membership, the Membership verifiable creden ```json { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" + "@type": "Constraint", + "odrl:leftOperand": "Membership", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" } ``` @@ -241,16 +242,21 @@ To verify the participants Catena-X membership, the Membership verifiable creden Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): -- [CX - 0072 OSim Process and Core Business Logic v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0072-OSimProcessAndCoreBusinessLogic-v1.0.0.pdf) -- [CX - 0073 OSim API v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0073-OSimAPI-v1.0.0.pdf) -- [CX - 0087 OSim Data Model Materialflow Simulation Result v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0087-OSimDataModelMaterialFlowSimulationResult-v1.0.0.pdf) -- [CX - 0133 Online Control and Simulation v1.0.0](https://catena-x.net/de/standard-library) +- [CX - 0133 Online Control and Simulation v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0133-OnlineControlandSimulation) + +## Product Documentation + +A deeper understanding of the basic Online Control and Simulation use case can be gained from the following linked document. While in the OSIM-KIT only the standardized partner interface of OSim is considered, the OSim product documentation represents the complete technical specification of the use case. + +- [OSim - Product Documentation_EN](./OSim-Product-Documentation-EN.pdf) ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Manufacturing Engineering and Automation IPA - SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Factory Operation and Automation IFF +- SPDX-FileCopyrightText: 2024,German Edge Cloud GmbH & Co.KG - SPDX-FileCopyrightText: 2024,Siemens AG - Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits/kits/OSim Kit/page_changelog.md b/docs-kits/kits/OSim Kit/page_changelog.md index b41621b8099..70fc703cb37 100644 --- a/docs-kits/kits/OSim Kit/page_changelog.md +++ b/docs-kits/kits/OSim Kit/page_changelog.md @@ -11,6 +11,25 @@ sidebar_position: 1 All notable changes to this Kit will be documented in this file. +## [3.0.0] - 2024-08-01 + +### Added + +- Adoption View: + - Added new Chapter Product documentation with a link to the document. + +### Changed + +- Adoption View: + - Updated the aspect model references to the newest version. +- Development View: + - Updated the API descriptions in accordance with the newest OSim standardization document CX-133 + +### Removed + +- Adoption View: + - References to the obsolete OSim Standards. + ## [2.0.0] – 2024-03-08 ### Added diff --git a/docs-kits/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md b/docs-kits/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md index 2e646163a7f..4d4af0fdc35 100644 --- a/docs-kits/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md +++ b/docs-kits/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md @@ -9,14 +9,14 @@ sidebar_position: 3 ## Introduction -The developer view provides a detailed guide on how to utilize the PCF exchange KIT effectively. Developer will learn how to integrate the kit into there applications and make use of the feature of exchanging PCF values via the Catena-X network. -IT-Administrators will learn how they need to provide PCF data and which components are needed therefore. +The developer view provides a detailed guide on how to utilize the PCF exchange KIT effectively. Developers will learn how to integrate the KIT into their applications and make use of the feature of exchanging PCF values via the Catena-X network. +IT-administrators will learn how they need to provide PCF data and which components are required. -This Kit covers various aspects, starting from how utilize the available API Endpoints, the used data models and how to make them available to the Catena-X network. +This KIT covers various aspects, starting from how to utilize the available API endpoints, the used data models and how to make them available to the Catena-X network. ## Building Block View -The following figure shows the current high level architecture of the use case PCF exchange. It is build on an asynchronous data exchange. +The following figure shows the current high level architecture of the PCF Exchange use case. It is build on an asynchronous data exchange. ![Building Block View](../resources/development-view/BuildingblockView.png) @@ -26,55 +26,57 @@ The following chapter illustrates the process from searching for an EDC point, t ### EDC Discovery and dDTR Access -For receiving the EDC Endpoints for a requested partner, the EDC Discovery Service is used, following the [CX-0001]([test](https://catena-x.net/de/standard-library)) Standard. For receiving endpoints, at least the BPN-L needs to be known to get the related endpoints. For more details the used Catena-X Standard is linked. +In order to receive the EDC endpoints for a requested partner, the EDC Discovery Service is used, following the [CX-0001](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) EDC Discovery API standard. Therefor, at least the BPNL (Business Partner Number Legal) entity needs to be known. For more details please refer to the Catena-X standard above. ![EDCDiscoveryAndDTRAccess](../resources/development-view/EDCDiscoveryanddDTRAccess.png) ### PCF Request -To actual request PCF values via the PCF API endpoint first of all the EDC PCF asset needs to be identified. Therefore the decentralized Digital Twin Registry (dDTR) is used. Data provider must register their dDTR(s) as EDC assets following the CX-0002 standard. After identifying the dDTR the Digital Twin with the related PCF submodel can be looked up (see [API calls [0003 +0004]](#api-calls)). An example is documented [here](#payload-for-requesting-pcf-sub-model). +In order to request PCF values via the PCF API endpoint first of all the EDC PCF asset needs to be identified. Therefor, the decentralized Digital Twin Registry (dDTR) is used. Data providers must register their dDTR(s) as EDC assets following the [CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) Digital Twins in Catena-X standard. After identifying the dDTR, the digital twin with the related PCF submodel can be looked up (see [API calls [0003 +0004]](#api-calls)). An example is documented [here](#payload-for-requesting-pcf-sub-model). -After successfully locating the corresponding material twin containing a PCF submodel, the EDC asset containing the PCF request endpoint cen be extracted (Example Payload can be found [here](#payload-for-edc-data-asset-pcf)) and the query for a PCF dataset can be initiated, as illustrated in the attached sequence diagram. +After successfully locating the corresponding material twin containing a PCF submodel, the EDC asset containing the PCF request endpoint can be extracted (example payload can be found [here](#payload-for-edc-data-asset-pcf)) and the query for a PCF dataset can be initiated, as illustrated in the attached sequence diagram. ![PCF Request](../resources/development-view/PCFRequestthroughAAS.png) -In case no matching material twin or PCF submodel exists, the flow falls back to a direct lookup of an EDC asset containing the PCF request endpoint provided within the offers of any EDC registered for the Data provider's BPNL. +In case no matching material twin or PCF submodel exists, the flow falls back to a direct lookup of an EDC asset containing the PCF request endpoint provided within the offers of any EDC registered for the data provider's BPNL. ![PCF Request without Twin or Submodel](../resources/development-view/PCFRequestWithoutTwinOrSubmodel.png) >**Note** -> The API Wrapper shown in the sequence diagrams is optional. The management API of the EDC can also be used directly. +>The API wrapper shown in the sequence diagrams is optional. The management API of the EDC can also be used directly. ### PCF Update -The sequence diagram provided below presents an example of a PCF update flow. An update is feasible only for assets that have been previously requested at least once, as demonstrated in [PCF Request](#sequence-view). Proactive updates without a prior request are not achievable with the current version. +The sequence diagram provided below presents an example of a PCF update flow. An update is feasible only for assets that have been previously requested at least once, as demonstrated in [PCF Request](#pcf-request). Proactive updates without a prior request are not achievable with the current version. ![PCF Update](../resources/development-view/PCFUpdatePushedThroughEDC.png) #### API Calls -| Call | Method | Path | Param | +| Call | Method | Path | Parameter | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------| -| [001](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20EDC%20Discovery/post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors) (Look up EDC Endpoints) | POST | /api/administration/Connectors/discovery/ | `[]` | +| [001](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20EDC%20Discovery/post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors) (Lookup EDC endpoints) | POST | /api/administration/Connectors/discovery/ | `[]` | | [002](https://eclipse-tractusx.github.io/docs-kits/next/kits/tractusx-edc/docs/samples/management-api-v2-walkthrough/catalog) (Look up dDTR) | POST | /v2/catalog/request | --> Lookup Asset in the EDC catalog (EDC asset type data.core.digitalTwinRegistry) | | [003](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Discovery/get-all-asset-administration-shell-ids-by-asset-link) (Lookup Twin ID) | GET | /lookup/shells | `assetIds= [{"key": "manufacturerPartId", "value":"mat345",{"key":"digitalTwinType", "value": "PartType"}}]` | -| [004](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Registry/get-all-asset-administration-shell-descriptors) (Look Up PCF Submodel/EDC Asset ID) | GET | /shell-descriptors | `{DIGITAL TWIN ID}` | -| [005](../resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml) (Requesting PCF Value) | GET | /productIds | {productId} | -| [006](../resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml) (Sending PCF Value) | PUT | /productIds | {productId} | +| [004](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Registry/get-all-asset-administration-shell-descriptors) (Lookup PCF submodel/EDC asset ID) | GET | /shell-descriptors | `{DIGITAL TWIN ID}` | +| [005](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) (Requesting PCF value) | GET | /productIds | {productId} | +| [006](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) (Sending PCF value) | PUT | /productIds | {productId} | - The assetIds under [003] must be base64 encoded! -- When responding on PCF exchange request the "requestID" is mandatory in the PUT call. -- When sharing a PCF update the "requestID" is NOT allowed in the PUT call. -- The EDC asset used to receive PCF is NOT looked up through AAS, but identified by type ("data.pcf.exchangeEndpoint"). -- The Open API specification defining all mandatory PCF Exchange endpoints and the da structures transfered through those can be found [here](../resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml) +- When responding an PCF exchange request, the "requestID" is mandatory in the PUT call. +- When sharing a PCF update, the "requestID" is NOT allowed in the PUT call. +- The EDC asset used to receive a PCF is NOT looked up through AAS, but identified by type ("data.pcf.exchangeEndpoint"). +- The Open API specification defining all mandatory PCF Exchange endpoints and the data structures transfered through those can be found [here](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) ##### Payload for Requesting PCF Sub Model -The following JSON shows the structure of a registered PCF submodel in the DTR. The subprotocolBody is used for asset bundling. For this, the CX Standard [CX-0002](https://catena-x.net/en/standard-library) is to be followed. +The following JSON shows the structure of a registered PCF submodel in the DTR. The subprotocolBody is used for asset bundling. For this, the [CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) Digital Twins in Catena-X standard needs to be followed. The digital twin id can be searched via the `manufacturerPartId` and the ``digitalTwinType:"PartType"``. -The sub-model PCF must be registered with the ``idshort: PCFExchangeEndpoint``. +The PCF submodel must be registered with the ``idshort: PCFExchangeEndpoint``. +
          + PCFExchange Endpoint of a DigitalTwin (JSON) ```json { @@ -91,7 +93,7 @@ The sub-model PCF must be registered with the ``idshort: PCFExchangeEndpoint``. "keys": [ { "type": "GlobalReference", - "value": "urn:samm:io.catenax.pcf:6.0.0#Pcf" + "value": "urn:samm:io.catenax.pcf:7.0.0#Pcf" } ] }, @@ -111,11 +113,15 @@ The sub-model PCF must be registered with the ``idshort: PCFExchangeEndpoint``. } ``` +
          + #### Payloads for EDC Asset ##### Payload for EDC Data Asset PCF -The following JSON shows the the EDC Asset for PCF defined in the EDC using the asset bundling mentioned under [Payload for Requesting PCF Sub Model](#api-calls). +The following JSON shows the EDC Asset for a PCF defined in the EDC using the asset bundling mentioned under [Payload for Requesting PCF Sub Model](#api-calls). +
          + PCFExchange Asset Definition (JSON) ```json { @@ -135,7 +141,7 @@ The following JSON shows the the EDC Asset for PCF defined in the EDC using the "rdfs:label": "PCF Data", "rdfs:comment": "Endpoint for PCF data", "cx-common:version": "1.1", - "aas-semantics:semanticId": {"@id":"urn:samm:io.catenax.pcf:6.0.0#Pcf"}, + "aas-semantics:semanticId": {"@id":"urn:samm:io.catenax.pcf:7.0.0#Pcf"}, "edc:contentType": "application/json", "dct:type": {"@id":"cx-taxo:PcfExchange"} }, @@ -151,18 +157,28 @@ The following JSON shows the the EDC Asset for PCF defined in the EDC using the } ``` +
          + #### Payload for EDC Policy -The following JSON is an policy definition including the policiy credentials for "active membership", "frameworkagreement pcf" and "pcf base usage purpose". The [frameworkagreement document](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_PCF.pdf) is published via the association and are available via the Catena-X homepage. The membership credential is automatically created after finishing successfully the onboarding process. +The following JSON is a policy definition including the *mandatory* policy constraints for "active membership", "signed frameworkagreement" and "pcf base usage purpose". The [framework agreement document](https://catenax-ev.github.io/docs/next/regulatory-framework/20000ft/use-case-pcf-exchange) is published via the association and available via the Catena-X homepage. The membership credential is automatically created after successfully finishing the onboarding process. + +In addition an *optional* constraint for an existing tenant-specific bilateral contract can be added. It should reference the contract number and is NOT backed up by verifiable credentials. Nevertheless it will be checked on a syntactical level during contract negotiation. If such a contract refererence should be used, a specific usage policy per tenant is needed, as constraint concatenation via OR is not recommended. + +>**Note** +>More informations can be found in the official [ODRL Profile Definition](https://github.com/catenax-eV/cx-odrl-profile/blob/main/profile.md). ##### Payload to create a SSI based Policy +
          + SSI based Policy (JSON) + ```json { "@context": { "@vocab": "https://w3id.org/edc/v0.0.1/ns/" }, - "@id": "", + "@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", "policy": { "@context": [ "https://www.w3.org/ns/odrl.jsonld", @@ -178,14 +194,19 @@ The following JSON is an policy definition including the policiy credentials for "constraint": { "and": [ { - "leftOperand": "cx-policy:Membership", + "leftOperand": "cx-policy:ContractReference", "operator": "eq", - "rightOperand": "active" + "rightOperand": "" }, { "leftOperand": "cx-policy:FrameworkAgreement", "operator": "eq", - "rightOperand": "pcf:1.0" + "rightOperand": "DataExchangeGovernance:1.0" + }, + { + "leftOperand": "cx-policy:Membership", + "operator": "eq", + "rightOperand": "active" }, { "leftOperand": "cx-policy:UsagePurpose", @@ -200,14 +221,22 @@ The following JSON is an policy definition including the policiy credentials for } ``` -For more examples how to define policies with SSI have a look [here](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md). +
          + +>**Note** +>Be aware that - due to an open issue in EDC version 0.7.x - all criterias must be added in fixed (alphabetical) order! + +For more examples on how to define policies with SSI have a look [here](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md). #### Payload Contract Definition +
          + Sample Contract (JSON) + ```json { "@id": "54ef3326-42b2-4221-8c5a-3a6270d54db8", - "edc:accessPolicyId": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", + "edc:accessPolicyId": "7cb20eb1-08db-4532-bd74-ad480f551654", "edc:contractPolicyId": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", "edc:assetsSelector":[ { @@ -220,20 +249,127 @@ For more examples how to define policies with SSI have a look [here](https://git } ``` +
          + +Inside the contract definition, an access policy and a usage policy must be referenced. A sample for a usage policy (incl. mandatory and optional criterias) is given in the [section above](#payload-to-create-a-ssi-based-policy). + +The content of the access policy depends on the criterias used within the usage policy. The configuration MUST ensure that only one offer (per version) for a PCF Exchange asset is visible to a client when querying the catalog. + +The following paragraphs give options how to achieve this. These options can always be replaced by corresponding (or even more restictive) policies, as long as the requirement of delivering only one offer per PCF Exchange asset version is met: +If *no bilateral contract* reference criteria are used *in any usage policy* attached to the PCF Exchange asset, an empty access policy can be used:

          +![Tier1Supplier without bilateral contracts](../resources/development-view/Tier1AOpenUP.png) + +
          + Empty Access Policy (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "7cb20eb1-08db-4532-bd74-ad480f551654", + "policy": { + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/v1.0.0/" + } + ], + "@type": "Policy", + "profile": "cx-policy:profile2405", + "permission": [] + } +} +``` + +
          + +If a *bilateral contract* reference criteria is used *in a usage policy*, an access policy restricting access to the contract partners BPNL *MUST* be used for every usage policy holding a contract reference:

          +![Tier1Supplier using bilateral contracts and an open policy](../resources/development-view/Tier1ABCOnlyUP.png) + +
          + BPN restricted Access Policy to be used with a Usage Policy containing a contract reference (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "7cb20eb1-08db-4532-bd74-ad480f551654", + "policy": { + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/v1.0.0/" + } + ], + "@type": "Policy", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "leftOperand": "BusinessPartnerNumber", + "operator": "eq", + "rightOperand": "BPNL00000000XXXX" + } + } + ] + } +} +``` + +
          + +If *bilateral contract reference* criterias are used *in usage policies* and *in addition* a usage policy *without bilateral contract references* should be provided, an access policy restricting access to all partners without a bilateral contract reference *MUST* be used for the usage policy holding no contract references.

          +![Tier1Supplier using bilateral contracts and an open policy](../resources/development-view/Tier1ABCUP.png) +

          The following example uses BusinessPartnerGroups to achieve this:

          + +
          + BPN restricted Access Policy to be used with the "global" Usage Policy containing NO contract references (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "PolicyDefinitionRequestDto", + "policy": { + "@type": "odrl:Set", + "odrl:permission": [ + { + "odrl:action": "USE", + "odrl:constraint": { + "@type": "Constraint", + "odrl:leftOperand": "https://w3id.org/tractusx/v0.0.1/ns/BusinessPartnerGroup", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "BusinessPartnerWithoutBilateralContract" + } + } + ] + } +} +``` + +
          + ## Error Handling -In case no material twin or no PCF submodel is found, EDC Asset type has to be used to find the Endpoint needed to perform the PCF request. +In case no material twin or no PCF submodel is found, EDC asset type has to be used to find the endpoint needed to perform the PCF request. ## Standards ### Used CX Standards -- [CX-0001 EDC Discovery API v1.0.2](https://catena-x.net/en/standard-library) -- [CX-0002 Digital Twins in Catena-X v2.2.0](https://catena-x.net/en/standard-library) -- [CX-0003 SAMMSemanticAspectMetaModel v1.1.0](https://catena-x.net/en/standard-library) -- [CX-0018 Eclipse Data Space Connector (EDC) v3.0.0](https://catena-x.net/en/standard-library) -- [CX-0126-Industry Core: Part Type v2.0.0](https://catena-x.net/en/standard-library) -- [CX-0136 PCF UseCase v1.0.0](https://catena-x.net/en/standard-library) +- [CX-0001 EDC Discovery API v1.0.2](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) +- [CX-0002 Digital Twins in Catena-X v2.2.0](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) +- [CX-0003 SAMMSemanticAspectMetaModel v1.1.0](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) +- [CX-0018 Dataspace Connectivity v3.1.0](https://catenax-ev.github.io/docs/next/standards/CX-0018-DataspaceConnectivity) +- [CX-0126 Industry Core: Part Type v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0126-IndustryCorePartType) +- [CX-0136 PCF UseCase v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) ## Other Standards @@ -257,4 +393,4 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses - SPDX-FileCopyrightText: 2023, 2024 CCT - SPDX-FileCopyrightText: 2023, 2024 Gris Group - SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- [Source URL](https://github.com/eclipse-tractusx/pcf-exchange-kit) +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx b/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx deleted file mode 100644 index b5ee8b66ba8..00000000000 --- a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -id: catena-x-pcf-request-endpoint -title: "Catena-X-pcf-request-endpoint" -description: " A API for request, send and update PCF data" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import SchemaTabs from "@theme/SchemaTabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 1.1.0 - -# Catena-X-pcf-request-endpoint - - -An API to request, send and update PCF data via the Catena-X Network. diff --git a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx b/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx deleted file mode 100644 index a1bf2ef1cbc..00000000000 --- a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-pcf -title: "get_pcf" -description: "get_pcf" -sidebar_label: "get_pcf" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"get_pcf","parameters":[{"name":"Edc-Bpn","description":"The caller's Catena-X BusinessPartnerNumber","example":"BPNL0000005AMPL3","in":"header","required":true,"schema":{"type":"string"}},{"name":"productId","description":"ID of the product/materiual the PCF is requested for","example":"urn:id:8534x67","in":"path","required":true,"schema":{"type":"string"}},{"name":"requestId","description":"ID identifying the call (will be referenced in corresponding PCF response)","example":"2daa49aa-ee16-4df3-bca3-69ddead40419","in":"query","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","required":false,"description":"URL encoded, max 250 chars","example":"No%20offset%20included%2C%20please%21","schema":{"type":"string"}}],"responses":{"202":{"description":"PCF was accepted. PCF will be sent later via to POST endpoint."}},"description":"get_pcf","method":"get","path":"/productIds/{productId}","info":{"title":"Catena-X-pcf-request-endpoint","version":"1.1.0"},"postman":{"name":"get pcf","description":{"type":"text/plain"},"url":{"path":["productIds",":productId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) ID identifying the call (will be referenced in corresponding PCF response)","type":"text/plain"},"key":"requestId","value":""},{"disabled":false,"description":{"content":"URL encoded, max 250 chars","type":"text/plain"},"key":"message","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ID of the product/materiual the PCF is requested for","type":"text/plain"},"type":"any","value":"","key":"productId"}]},"header":[{"disabled":false,"description":{"content":"(Required) The caller's Catena-X BusinessPartnerNumber","type":"text/plain"},"key":"Edc-Bpn","value":""}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/PCF-Exchange-Kit/Software-Development-View/pcf-exchange-api//catena-x-pcf-request-endpoint -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## get_pcf - - - -get_pcf - -
          Path Parameters
          Query Parameters
          Header Parameters
          - -PCF was accepted. PCF will be sent later via to POST endpoint. - -
          - \ No newline at end of file diff --git a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx b/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx deleted file mode 100644 index e154ee4c9d2..00000000000 --- a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: set-pcf -title: "set_pcf" -description: "set_pcf" -sidebar_label: "set_pcf" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"set_pcf","parameters":[{"name":"Edc-Bpn","description":"The caller's Catena-X BusinessPartnerNumber","example":"BPNL0000005AMPL3","in":"header","required":true,"schema":{"type":"string"}},{"name":"productId","description":"ID of the product/materiual the PCF referring to","example":"urn:id:8534x67","in":"path","required":true,"schema":{"type":"string"}},{"name":"requestId","description":"ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call.","example":"2daa49aa-ee16-4df3-bca3-69ddead40419","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"The requested PCF in WBCSD format","required":true,"content":{"application/json":{"schema":{"description":"A Product (Carbon) Footprint represents the carbon footprint of a product with values as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative.","type":"object","properties":{"id":{"description":"Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"specVersion":{"description":"Mandatory: Version of the product footprint data specification as defined in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"partialFullPcf":{"description":"Mandatory: Indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook.","type":"string","enum":["Cradle-to-gate","Cradle-to-grave"]},"precedingPfIds":{"description":"Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as \"optional\" in WBCSD, needs to be covered by application.","type":"array","items":{"description":"Entity for defining a preceding PCF (Product Carbon Footprint) identifier entity as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"id":{"description":"Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"}},"required":["id"]}},"version":{"description":"Mandatory: Version of the product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"0\" per default.","type":"number","minimum":0},"created":{"description":"Mandatory: Timestamp of the creation of the Product (Carbon) Footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"extWBCSD_pfStatus":{"description":"Mandatory: Status indicator of a product (carbon) footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example set to \"Active\" per default.","type":"string","enum":["Active","Deprecated"]},"validityPeriodStart":{"description":"Optional: Start of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. If specified, the validity period start must be equal to or greater than the reference period end.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"validityPeriodEnd":{"description":"Optional: End of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"comment":{"description":"Optional: Additional information and instructions related to the calculation of the product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"companyName":{"description":"Mandatory: Name of the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","minLength":1},"companyIds":{"description":"Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}. ","type":"array","items":{"type":"string","format":"uri"},"minItems":1},"productDescription":{"description":"Optional: Free-form description of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"productIds":{"description":"Mandatory: Non-empty set of product identifiers. Each value is supposed to uniquely identify the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productId corresponds with Industry Core manufacturerPartId.","type":"array","items":{"type":"string","format":"uri"},"minItems":1},"extWBCSD_productCodeCpc":{"description":"Mandatory: UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product as specified the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, which will probably be declared as \"optional\" in a later WBCSD specification version. In Catena-X for example specified with default value \"011-99000\".","type":"string"},"productName":{"description":"Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer. ","type":"string","minLength":1},"pcf":{"description":"A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"declaredUnit":{"description":"Mandatory: Unit of analysis of a product in context of the PCF (product carbon footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example list of valid units includes \"piece\".","type":"string","enum":["liter","kilogram","cubic meter","kilowatt hour","megajoule","ton kilometer","square meter","piece"]},"unitaryProductAmount":{"description":"Mandatory: Amount of units contained within a product in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":true},"productMassPerDeclaredUnit":{"description":"Mandatory: Mass of a product per declared unit in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"exemptedEmissionsPercent":{"description":"Mandatory: Percentage of emissions excluded from PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":5,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"exemptedEmissionsDescription":{"description":"Optional: Rationale behind exclusion of specific PCF (Product Carbon Footprint) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"boundaryProcessesDescription":{"description":"Optional: Processes attributable to each lifecycle stage as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"geographyCountrySubdivision":{"description":"Optional: Subdivision of a country which must be an ISO 3166-2 subdivision code as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"([A-Z]{2}-[A-Z0-9]{1,3}|)"},"geographyCountry":{"description":"Optional: Two letter country code that must conform to data type ISO 3166CC as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"([A-Z]{2})"},"geographyRegionOrSubregion":{"description":"Mandatory: Region according to list as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","enum":["Africa","Americas","Asia","Europe","Oceania","Australia and New Zealand","Central Asia","Eastern Asia","Eastern Europe","Latin America and the Caribbean","Melanesia","Micronesia","Northern Africa","Northern America","Northern Europe","Polynesia","South-eastern Asia","Southern Asia","Southern Europe","Sub-Saharan Africa","Western Asia","Western Europe","Global"]},"referencePeriodStart":{"description":"Mandatory: Start of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"referencePeriodEnd":{"description":"Mandatory: End of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"crossSectoralStandardsUsed":{"description":"Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entity for defining an accounting standard used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"crossSectoralStandard":{"description":"Mandatory: Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","enum":["GHG Protocol Product standard","ISO Standard 14067","ISO Standard 14044"]}},"required":["crossSectoralStandard"]}},"productOrSectorSpecificRules":{"description":"Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entity for defining a product or sector specific rule of a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"extWBCSD_operator":{"description":"Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example must always be \"Other\".","type":"string","enum":["PEF","EPD International","Other"]},"productOrSectorSpecificRules":{"description":"Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Name of a rule applied by a specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"ruleName":{"description":"Name of a rule applied by a specific operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","minLength":1}},"required":["ruleName"]},"uniqueItems":true,"minItems":1},"extWBCSD_otherOperatorName":{"description":"Optional: Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a default value.","type":"string","minLength":1}},"required":["extWBCSD_operator","productOrSectorSpecificRules"]},"uniqueItems":true},"extWBCSD_characterizationFactors":{"description":"Mandatory: IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"AR6\".","type":"string","enum":["AR5","AR6"]},"extWBCSD_allocationRulesDescription":{"description":"Optional: Allocation rules used and underlying reasoning in context of a product carbon footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"In accordance with Catena-X PCF Rulebook\".","type":"string"},"extTFS_allocationWasteIncineration":{"description":"Mandatory: Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value \"cut-off\".","type":"string","enum":["cut-off","reverse cut-off","system expansion"]},"primaryDataShare":{"description":"Mandatory starting 2025: Share of primary data in percent as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":100,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"secondaryEmissionFactorSources":{"description":"Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entity for defining an emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"secondaryEmissionFactorSource":{"description":"Mandatory: Emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"}},"required":["secondaryEmissionFactorSource"]},"uniqueItems":true},"dataQualityRating":{"description":"Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"coveragePercent":{"description":"Mandatory starting 2025: Percentage of PCF (Product Carbon Footprint) included in the data quality assessment based on the >5% emissions threshold as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"100\" per default.","type":"number","maximum":100,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"technologicalDQR":{"description":"Mandatory starting 2025: Technological representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"temporalDQR":{"description":"Mandatory starting 2025: Temporal representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"geographicalDQR":{"description":"Mandatory starting 2025: Geographical representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"completenessDQR":{"description":"Mandatory starting 2025: Completeness of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"reliabilityDQR":{"description":"Mandatory starting 2025: Reliability of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false}}},"extWBCSD_packagingEmissionsIncluded":{"description":"Mandatory: Flag indicating whether packaging emissions are included in a PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example value is \"TRUE\" per default.","type":"boolean"},"pcfExcludingBiogenic":{"description":"Mandatory: Product carbon footprint of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"pcfIncludingBiogenic":{"description":"Mandatory starting 2025: Product carbon footprint of a product including biogenic emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Optional value in current specification version but will be mandatory in future version.","type":"number"},"fossilGhgEmissions":{"description":"Mandatory starting 2025: Emissions from combustion of fossil sources as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Identical to \"pcfExcludingBiogenic\", will be removed in later version.","type":"number","minimum":0,"exclusiveMinimum":false},"biogenicCarbonEmissionsOtherThanCO2":{"description":"Mandatory starting 2025: GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. For specification see Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"biogenicCarbonWithdrawal":{"description":"Mandatory starting 2025: Biogenic carbon content in the product converted to CO2e as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":0,"exclusiveMaximum":false},"dlucGhgEmissions":{"description":"Mandatory starting 2025: Direct land use change CO2e emissions in context of a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"extTFS_luGhgEmissions":{"description":"Mandatory starting 2025: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.","type":"number"},"aircraftGhgEmissions":{"description":"Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"extWBCSD_packagingGhgEmissions":{"description":"Optional: Emissions resulting from the packaging of the product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example value is zero per default.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStagePcfExcludingBiogenic":{"description":"Optional: Product carbon footprint for the distribution stage of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStagePcfIncludingBiogenic":{"description":"Optional: Product carbon footprint for the distribution stage of a product including biogenic emissions as specified in the Catena-X PCF Rulebook.","type":"number"},"distributionStageFossilGhgEmissions":{"description":"Optional: Emissions from the combustion of fossil sources in the distribution stage as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageBiogenicCarbonEmissionsOtherThanCO2":{"description":"Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2 ? excludes biogenic CO2. For specification see Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageBiogenicCarbonWithdrawal":{"description":"Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product) as specified in the Catena-X PCF Rulebook.","type":"number","maximum":0,"exclusiveMaximum":false},"extTFS_distributionStageDlucGhgEmissions":{"description":"Optional: Direct land use change CO2 emissions during distribution stage in context of a product carbon footprint as specified in the Catena-X PCF Rulebook. TFS specific extension.","type":"number","minimum":0,"exclusiveMinimum":false},"extTFS_distributionStageLuGhgEmissions":{"description":"Optional: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.","type":"number"},"carbonContentTotal":{"description":"Mandatory starting 2025: Total carbon content per declared unit in context of a product carbon footprint as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"extWBCSD_fossilCarbonContent":{"description":"Optional: Fossil carbon amount embodied in a product as specified in the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value.","type":"number","minimum":0,"exclusiveMinimum":false},"carbonContentBiogenic":{"description":"Mandatory starting 2025: Biogenic carbon amount embodied in a product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageAircraftGhgEmissions":{"description":"Optional: GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false}},"required":["declaredUnit","unitaryProductAmount","productMassPerDeclaredUnit","exemptedEmissionsPercent","geographyRegionOrSubregion","referencePeriodStart","referencePeriodEnd","crossSectoralStandardsUsed","productOrSectorSpecificRules","extWBCSD_characterizationFactors","extTFS_allocationWasteIncineration","secondaryEmissionFactorSources","extWBCSD_packagingEmissionsIncluded","pcfExcludingBiogenic"]},"pcfLegalStatement":{"description":"Optional: Option for legal statement/ disclaimer as specified in the Catena-X PCF Rulebook.","type":"string"}},"required":["id","specVersion","partialFullPcf","version","created","extWBCSD_pfStatus","companyName","companyIds","productIds","extWBCSD_productCodeCpc","productName","pcf"]}}}},"responses":{"200":{"description":""}},"description":"set_pcf","method":"put","path":"/productIds/{productId}","jsonRequestBodyExample":{"id":"string","specVersion":"string","partialFullPcf":"Cradle-to-gate","precedingPfIds":[{"id":"string"}],"version":0,"created":"string","extWBCSD_pfStatus":"Active","validityPeriodStart":"string","validityPeriodEnd":"string","comment":"string","companyName":"string","companyIds":["string"],"productDescription":"string","productIds":["string"],"extWBCSD_productCodeCpc":"string","productName":"string","pcf":{"declaredUnit":"liter","unitaryProductAmount":0,"productMassPerDeclaredUnit":0,"exemptedEmissionsPercent":0,"exemptedEmissionsDescription":"string","boundaryProcessesDescription":"string","geographyCountrySubdivision":"string","geographyCountry":"string","geographyRegionOrSubregion":"Africa","referencePeriodStart":"string","referencePeriodEnd":"string","crossSectoralStandardsUsed":[{"crossSectoralStandard":"GHG Protocol Product standard"}],"productOrSectorSpecificRules":[{"extWBCSD_operator":"PEF","productOrSectorSpecificRules":[{"ruleName":"string"}],"extWBCSD_otherOperatorName":"string"}],"extWBCSD_characterizationFactors":"AR5","extWBCSD_allocationRulesDescription":"string","extTFS_allocationWasteIncineration":"cut-off","primaryDataShare":0,"secondaryEmissionFactorSources":[{"secondaryEmissionFactorSource":"string"}],"dataQualityRating":{"coveragePercent":0,"technologicalDQR":0,"temporalDQR":0,"geographicalDQR":0,"completenessDQR":0,"reliabilityDQR":0},"extWBCSD_packagingEmissionsIncluded":true,"pcfExcludingBiogenic":0,"pcfIncludingBiogenic":0,"fossilGhgEmissions":0,"biogenicCarbonEmissionsOtherThanCO2":0,"biogenicCarbonWithdrawal":0,"dlucGhgEmissions":0,"extTFS_luGhgEmissions":0,"aircraftGhgEmissions":0,"extWBCSD_packagingGhgEmissions":0,"distributionStagePcfExcludingBiogenic":0,"distributionStagePcfIncludingBiogenic":0,"distributionStageFossilGhgEmissions":0,"distributionStageBiogenicCarbonEmissionsOtherThanCO2":0,"distributionStageBiogenicCarbonWithdrawal":0,"extTFS_distributionStageDlucGhgEmissions":0,"extTFS_distributionStageLuGhgEmissions":0,"carbonContentTotal":0,"extWBCSD_fossilCarbonContent":0,"carbonContentBiogenic":0,"distributionStageAircraftGhgEmissions":0},"pcfLegalStatement":"string"},"info":{"title":"Catena-X-pcf-request-endpoint","version":"1.1.0"},"postman":{"name":"set pcf","description":{"type":"text/plain"},"url":{"path":["productIds",":productId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call.","type":"text/plain"},"key":"requestId","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ID of the product/materiual the PCF referring to","type":"text/plain"},"type":"any","value":"","key":"productId"}]},"header":[{"disabled":false,"description":{"content":"(Required) The caller's Catena-X BusinessPartnerNumber","type":"text/plain"},"key":"Edc-Bpn","value":""},{"key":"Content-Type","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/PCF-Exchange-Kit/Software-Development-View/pcf-exchange-api//catena-x-pcf-request-endpoint -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## set_pcf - - - -set_pcf - -
          Path Parameters
          Query Parameters
          Header Parameters
          Request Body required
          - -The requested PCF in WBCSD format - -
            precedingPfIds object[]
            - -Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as "optional" in WBCSD, needs to be covered by application. - -
            = 1`"} defaultValue={undefined}>= 1`"} defaultValue={undefined}>
            pcf object required
            - -A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            crossSectoralStandardsUsed object[] required
            - -Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            productOrSectorSpecificRules object[] required
            - -Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            productOrSectorSpecificRules object[] required
            - -**Possible values:** `>= 1` - -
            - -Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            secondaryEmissionFactorSources object[] required
            - -Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            dataQualityRating object
            - -Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
            5% emissions threshold as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"100\" per default."} schemaName={"number"} qualifierMessage={"**Possible values:** `<= 100`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>
          - \ No newline at end of file diff --git a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js b/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js index e6c25a0e6e8..744c39bc9a7 100644 --- a/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js +++ b/docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js @@ -1 +1 @@ -module.exports = [{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint"},{"type":"category","label":"PCF Exchange API","items":[{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf","label":"get_pcf","className":"api-method get"},{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf","label":"set_pcf","className":"api-method put"}]}]; \ No newline at end of file +module.exports = []; \ No newline at end of file diff --git a/docs-kits/kits/PCF Exchange Kit/changelog.md b/docs-kits/kits/PCF Exchange Kit/changelog.md index 57224f0a63b..61dcc81e83b 100644 --- a/docs-kits/kits/PCF Exchange Kit/changelog.md +++ b/docs-kits/kits/PCF Exchange Kit/changelog.md @@ -11,6 +11,41 @@ sidebar_position: 1 All notable changes to this Kit will be documented in this file. +## [1.2.0] - 2024-08-01 + +### Added + +#### Adoption View + +* References to available PCF exchange solutions (moved from CX-0136 PCF Use Case standard) +* Comprehensive illustration of latest PCF data model (overview plus details) + +#### Development View + +* Specification for bilateral contracts + +### Changed + +#### Adoption View + +* Exemplary PCF data model payload to PCF data model version 7.0.0 (Rel. 24.08) +* References to relevant standards in their latest versions (Rel. 24.08) +* Several typos and link errors +* Reference to Framework Agreement + +#### Development View + +* PCF Exchange API to Rel. 24.08 (e.g. data format) +* Several illustrations to reflect latest changes in Rel. 24.08 +* Policy adapted to latest standards (incl. new Framework Agreement and bilateral contracts) +* Referenced standard updated + +### Removed + +#### Development View + +* Inlined Open-API (MDX) removed + ## [1.1.0] - 2024-05-17 ### Added diff --git a/docs-kits/kits/PCF Exchange Kit/page_adoption-view.md b/docs-kits/kits/PCF Exchange Kit/page_adoption-view.md index e410c6c2f4d..3b3c05101df 100644 --- a/docs-kits/kits/PCF Exchange Kit/page_adoption-view.md +++ b/docs-kits/kits/PCF Exchange Kit/page_adoption-view.md @@ -21,37 +21,37 @@ In this context, Catena-X offers a decentralized ecosystem supported by standard ### Vision -Report and steer the de-carbonization of our value chain with dedicated measures based on real PCF values, without compromising upstream data sovereignty. +Report and steer the de-carbonization of our value chain with dedicated measures based on real PCF values, without compromising upstream data sovereignity. ### Mission -Addressing supply chain carbon emissions today is missing reliable data about baseline emissions, effect of reductions, and best practices. This is due to three reasons: +Addressing supply chain carbon emissions today is missing reliable data about baseline emissions, effect of reductions and best practices. This is due to three reasons: - Complexity of supply chains leading to huge amount of data: complex supply chains spanning different countries and actors from many industries lead to huge amounts of data. -- Lack of Trust: Unwillingness to share data because of risk of losing competitive advantage, because data is shared with competitors. +- Lack of trust: unwillingness to share data due to the risk of losing competitive advantage (data is shared with competitors). - Missing standards for measuring carbon emissions in a comparable way. At the core of our project is the recognition of a current challenge - the lack of transparency and accessibility to real PCF information in supply chains. Through our project, we strive to bridge this information gap by establishing a trusted and collaborative and interoperable environment. Suppliers will have the opportunity to share their PCF data with confidence, knowing that it remains sovereign and under their control. -We will address this by working on trustworthy ecosystem that prioritizes data sovereignty, security, and collaboration on standards. Therefore, our mission is to revolutionize the supply chain industry by providing a platform where suppliers can securely share their primary Product Carbon Footprint (PCF) data throughout the supply chain. +We will address this by working on a trustworthy ecosystem that prioritizes data sovereignity, security and collaboration on standards. Therefore, our mission is to revolutionize the supply chain industry by providing a platform where suppliers can securely share their primary PCF data throughout the supply chain. We are guided by the following principles: - **Building trust** by making clear rules for data exchange and by pre-agreed data contracts between partners in the value chain. - Building trust through **data sovereignty and data security**. We will build an ecosystem to share minimal data on a need-to-know basis, incorporating 3rd party verification by trusted partners. Decentralized architectures ensure that data remains within companies and is only shared with authorized persons as needed. - **Governance** on the principles of mutual collaboration in the automotive industry and across with all relevant actors of the value chain on the principle of equality between partners, involving relevant outside stakeholders and the scientific community. -- **Flexibility and interoperability** by building an ecosystem of interoperable apps based on open standards. Collaborative standards for collecting, calculating, and sharing emission and product data make these processes more efficient and comparable. +- **Flexibility and interoperability** by building an ecosystem of interoperable apps based on open standards. Collaborative standards for collecting, calculating and sharing emission and product data make these processes more efficient and comparable. - **Scalability** and manageability of large amounts of data. Decentralized data ecosystems can handle and scale large amounts of data, as decentralized structures are created as required by participating companies. ## Business Process ### Premises and assumptions -We assume that the calculation and exchange of PCF data is “new territory” for many companies. In large or larger enterprises (e.g., OEM or Tier-1 suppliers), the topic of sustainability with its various facets has been on the agenda for several years now. Appropriate structures and organizations were set up there. In this respect, it can be assumed that they have the expertise and resources for a PCF calculation. Corresponding, self-developed IT tools can also be found there. We cannot expect this for small and medium-sized enterprises (SMEs). In particular small companies often lack the knowledge and resources to calculate a PCF. +We assume that the calculation and exchange of PCF data is “new territory” for many companies. In large or larger enterprises (e.g., OEM or Tier-1 suppliers) the topic of sustainability with its various facets has been on the agenda for several years now. Appropriate structures and organizations were set up there. In this respect, it can be assumed that they have the expertise and resources for a PCF calculation. Corresponding, self-developed IT tools can also be found there. We cannot expect this for small and medium-sized enterprises (SMEs). In particular small companies often lack the knowledge and resources to calculate a PCF. -The following premises are therefore relevant for the following customer journeys: +These premises are therefore relevant for the following customer journeys: - A PCF calculation requires expert or at least in-depth knowledge. - A PCF calculation is currently mostly created manually; automation is not common or possible in most cases. @@ -62,31 +62,31 @@ Accordingly, the presented customer journeys are characterized by manual process ### Overview -The scope of our business process is the calculation and the exchange of Product Carbon Footprint (PCF) data across the supply chain for parts / components that are already in series production (→ "after start of production (SOP)"). One can therefore assume that a real supply chain already exists for this part / component. +The scope of our business process is the calculation and the exchange of PCF data across the supply chain for parts/components that are already in series production (→ "after start of production (SOP)"). One can therefore assume that a real supply chain already exists for this part/component. To describe the process, we defined two customer journeys: -1. The customer journey “PCF data exchange” describes an asynchronous communication process: A customer requests the PCF from their supplier for a component (“PCF Request”), and the supplier provides the requested data (“PCF Response”). +1. The customer journey “PCF data exchange” describes an asynchronous communication process: a customer requests the PCF from their supplier for a component (“PCF Request”), and the supplier provides the requested data (“PCF Response”). 2. If necessary, the requested PCF data must first be determined; this leads to the second customer journey “PCF calculation”. The exchange-process is initiated top-down (e.g., at the OEM; but it can also start at any level of the supply chain), starting with a request of a customer to the supplier. It could then be continued step by step throughout the entire tier-n supply chain. Ideally, the entire supply chain (or actually: the entire supply tree) would be covered via this cascading request/response process. The result would be a PCF that is 100% based on requested and reported data. ![PCF Request and Response](resources/adoption-view/PCFRequestandResponse.png) -In the real world, this will not be implemented this way, at least in the short and medium term. It can be assumed that this process and information chain will break down at certain points in the supply chain. There, data is not requested, but is calculated using secondary data, as is standard procedure these days. There can be various reasons for this: +In the real world, this will not be implemented this way, at least in the short and medium term. It can be assumed that this process and information chain will break down at certain points in the supply chain. There, data is not requested, but calculated using secondary data, as is standard procedure these days. There can be various reasons for this: - The affected part of the supply chain is only of minor relevance to the PCF; the effort required to determine the real data would therefore not be worthwhile. - The supplier cannot or does not want to provide corresponding data. However, it is important that a PCF value reported from a supplier to its customer always represents the entire supply chain behind it. Therefore, the following data is recorded in a PCF calculation and aggregated to form the resulting PCF: -- direct emissions, that are generated in the supplier's own production system ("Scope 1") +- direct emissions that are generated in the supplier's own production system ("Scope 1") - indirect emissions from purchased energy ("Scope 2") - upstream emissions caused by purchased products from the upstream supply chain ("Scope 3") ![Scope of Catena-X Use Case](resources/adoption-view/ScopeofCatena-XUseCase.png) -The data for direct and indirect emissions will usually come from internal data sources, as these emission-shares are generated in the supplier's own production system. The upstream emissions ("Scope 3") can either be requested from the respective sub-supplier. Or it could be calculated, e.g., by using information from eco-databases. Putting all together, the transparency on the PCF for a given part or component is created through a cascade of top-to-bottom PCF requests, and a cascade of aggregated PCF data from bottom to top. +The data for direct and indirect emissions will usually come from internal data sources, as these emission-shares are generated in the supplier's own production system. The upstream emissions ("Scope 3") can either be requested from the respective sub-supplier or could be calculated, e.g. by using information from eco-databases. Putting all together, the transparency on the PCF for a given part or component is created through a cascade of top-to-bottom PCF requests, and a cascade of aggregated PCF data from bottom to top. ### Customer Journey "PCF Data Exchange" @@ -97,34 +97,34 @@ This customer journey describes the exchange of PCF data in an asynchronous requ PCF data is exchanged between a data consumer (e.g., supplier on tier n) and a data provider (e.g., supplier on tier n+1). It is basically an asynchronous request/response process that is started by the data consumer: - The data consumer realizes that he needs the PCF for a specific component and that this data is not available in his local data (or is not of sufficient quality). -- With his PCF Data exchange tool, the data consumer checks whether the required PCF data is available via Catena-X (from a technical perspective, this means that there is already a digital twin for the component and that the PCF submodel is available for this twin). If so, the tool would “fetch up” this data. If not, the user can request this data from the supplier as described in the next steps. -- The data consumer submits a “PCF request” (according to the standardized API [CX-0136](https://catena-x.net/de/standard-library)) to his supplier. In doing so, he asks the supplier to provide PCF data for the specific component, which was determined in accordance with the requirements of the Catena-X PCF Rulebook ([CX-0029](https://catena-x.net/de/standard-library)). +- With his PCF data exchange tool, the data consumer checks whether the required PCF data is available via Catena-X (from a technical perspective, this means that there is already a digital twin for the component and that the PCF submodel is available for this twin). If so, the tool would “fetch up” this data. If not, the user can request this data from the supplier as described in the next steps. +- The data consumer submits a “PCF request” (according to the standardized API [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF)) to his supplier. In doing so, he asks the supplier to provide PCF data for the specific component, which was determined in accordance with the requirements of the Catena-X PCF Rulebook ([CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)). -With this request, the process temporarily ends for the data consumer. The ball is now in the data provider's playing field.: +With this request, the process temporarily ends for the data consumer. The ball is now in the data provider's playing field: -- The data provider receives the PCF request (message/display in his PCF data exchange tool). To answer this request, he takes the following steps: -- The data provider checks whether the requested data is already available (i.e., whether the PCF has already calculated in the past but has not yet been provided to the customer). -- If the data is not yet available, the data provider must create it first. At this point, he starts the “PCF calculation” subjourney (see [below](#customer-journey-pcf-calculation)). At the end of this subjourney, the PCF data is available, and the provider can answer the original request with the next steps. -- The data provider sends a PCF Response (according to the standardized API see [CX-0136](https://catena-x.net/de/standard-library)) to the data consumer. At the same time, the data is made available in Catena-X (which means from a technical perspective, that a PCF submodel is attached to the corresponding digital twin of the component). +- The data provider receives the PCF request (message/display in his PCF data exchange tool). +- The data provider checks whether the requested data is already available (i.e., whether the PCF has already calculated in the past but has not yet been provided to the customer yet). +- If the data is not yet available, the data provider must create it first. At this point, he starts the “PCF Calculation” subjourney (see [below](#customer-journey-pcf-calculation)). At the end of this subjourney, the PCF data is available, and the provider can answer the original request with the next steps. +- The data provider sends a PCF response (according to the standardized API see [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF)) to the data consumer. At the same time, the data is made available in Catena-X (which means from a technical perspective, that a PCF submodel is attached to the corresponding digital twin of the component). -For the data provider, the process is now over, and the consumer's request has been answered with the response. Now follow a few more steps on the consumer side. +For the data provider, the process is now over, and the consumer's request has been answered with the response. On the consumer side, a few more steps follow: -- The data consumer, who sent the initial PCF request, now receives the PCF response (message/display in his PCF data exchange tool). +- The data consumer, who sent the initial PCF request, receives the PCF response (message/display in his PCF data exchange tool). - With the data exchange tool, the consumer can access and “pick up” the PCF data, according to the standardized PCF data model (see [Semantic Model](#semantic-models)). >**Remark:** ->There are currently no options for data verification or acceptance/rejection of transmitted data at this stage in the process. These topics are currently still being discussed at Catena-X association level and are therefore not yet covered in the processes and tools. This will only happen with later releases. +>There are currently no options for data verification or acceptance/rejection of transmitted data at this stage in the process. These topics are currently still being discussed on Catena-X association level and are therefore not yet covered in the processes and tools. This might happen with later releases. - The data consumer can now transfer this data to his internal systems/databases (e.g., a PCF calculation tool), and use it for the internal business processes (e.g., PCF calculation or reporting). This ends this customer journey. ### Customer Journey “PCF Calculation” -This customer journey describes the calculation of a [CX Rulebook-compliant PCF](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Standard_PDF_Feb._2023/1_Sustainability_v1.0/CX_-_0029_PCF_Rulebook_UseCaseSustainability_v_1.0.0.pdf), with some of the required data obtained via the Catena-X network. +This customer journey describes the calculation of a PCF in compliance with the Catena-X PCF Rulebook ([CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)), with some of the required data obtained via the Catena-X network. ![PCF Calculation](resources/adoption-view/PCFCalculation.png) -The calculation process will often be triggered by an incoming PCF request (see subjourney "[PCF data exchange](#customer-journey-pcf-data-exchange)", step 6). But of course, a PCF calculation can also be carried out proactively without a corresponding request via PCF Request. +The calculation process will often be triggered by an incoming PCF request (see subjourney "[PCF data exchange](#customer-journey-pcf-data-exchange)"). But of course, a PCF calculation can also be carried out proactively without a corresponding request via PCF Request. To determine a PCF, an appropriate calculation tool is usually used, which guides the user through the process and ensures that all relevant data is taken into account. We will limit ourselves here to a generic, tool-independent presentation of the most important steps. 1. Make a plan: What are the different components of the PCF? Where can I get the relevant data from? @@ -134,7 +134,7 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide 3. Put the indirect emissions from purchased energy into the calculation. → Get the raw data (consumption values, energy mix, …) from internal data sources and from the energy supplier, and enter it in the calculation tool. 4. Upstream emissions: - - For sub-components with a (expected) relevant share on the PCF, the aim is to use real data (or primary data) for the calculation. Therefore, a PCF request is sent to the suppliers of these sub-components, to obtain appropriate real data (see subjourney ["PCF data exchange"](#customer-journey-pcf-data-exchange)). As soon as the data is available (via a PCF Response), it can be used as input for the calculation. + - For sub-components with a (expected) relevant share on the PCF, the aim is to use real data (or primary data) for the calculation. Therefore, a PCF request is sent to the suppliers of these sub-components, to obtain appropriate real data (see subjourney ["PCF data exchange"](#customer-journey-pcf-data-exchange)). As soon as the data is available (via PCF Response), it can be used as input for the calculation. - For other sub-components, which only make up a small proportion of the upstream emissions, there will be no request of data to the supplier. Instead, the data will be obtained from a database for secondary data. 5. If necessary, put other emissions and further data into the calculation (e.g., transport emissions, waste, recycling quotas, ...). 6. Put it all together and get the overall PCF. @@ -156,7 +156,7 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide Purchaser In general, the purchaser will not be a sustainability expert! - Sustainability is for him just an additional dimension (as cost, quality, ...). + For him, sustainability is just an additional dimension (as cost, quality, ...).
          • He requests sustainability data for purchased (sub)products from his suppliers.
          • In the sourcing process he evaluates the incoming offers (which will include more and more sustainability data).
          • @@ -166,8 +166,8 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide
          Different responsibilities and views possible:
            -
          • A part / components / materials-oriented view
          • -
          • A supplier / commodity-oriented view
          • +
          • A part/component/material-oriented view
          • +
          • A supplier/commodity-oriented view
          @@ -179,21 +179,21 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide -

          He requires sustainability data of parts/materials (e.g., PCF) for various purposes.

          +

          He requires sustainability data of parts/materials (e.g., PCF) for various purposes.

          He requires standardized data.

          He also requires product-unspecific sustainability data of suppliers (e.g., production site-specific certificates).

          He needs data in different phases (e.g., product development, procurement, industrialization, series production).

          -

          X defines standards for sustainability data.

          -

          CX provides up-to-date and reliable sustainability data

          +

          Catena-X defines standards for sustainability data.

          +

          Catena-X provides up-to-date and reliable sustainability data

          • of parts / materials
          • of suppliers
          -

          CX provides phase-specific data.

          -

          CX provides (standard) reports.

          -

          CX provides apps and services for data exchange.

          +

          Catena-X provides phase-specific data.

          +

          Catena-X provides (standard) reports.

          +

          Catena-X provides apps and services for data exchange.

          @@ -202,8 +202,8 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide He is an expert for PCF calculation. He could be described as a “PCF Engineer,” analogous to the role of a “Cost Engineer” established in many companies.
          • He has in-depth knowledge of PCF-, CCF- and LCA-methods.
          • -
          • He is responsible for the calculation of the own scope-1 and -2 values of a PCF
          • -
          • From this data and with the scope-3 data reported by suppliers (or obtained from databases), he calculates the PCF of his own products.
          • +
          • He is responsible for the calculation of the own scope 1 and 2 values of a PCF
          • +
          • From this data and with the scope 3 data reported by suppliers (or obtained from databases), he calculates the PCF of his own products.
          • He hands the result over to the PCF Controller
          • He is a consultant in "costs vs. PCF" discussions (with internal, but also with external partners)
          • He analyzes customer incident requests (on behalf of the PCF controller).
          • @@ -225,35 +225,35 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide

          Internal View:

            -
          • He knows the product BoM (bill of material)
          • -
          • He steers “PCF vs. Cost" objectives at product levels.
          • +
          • He knows the product BoM (Bill of Material)
          • +
          • He steers “PCF vs. cost" objectives at product levels.
          • He collaborates with external auditors.
          • He analyzes incoming incident request of customers
          Requires standardized PCF calculation method. -

          Needs Scope 3 values from suppliers, to calculate own PCF with this data.

          -

          May need a calculation tool for Scope 1 and 2 values.

          +

          Needs scope 3 values from suppliers, to calculate own PCF with this data.

          +

          May need a calculation tool for scope 1 and 2 values.

          Requires access to eco-data (secondary data).

          -

          Needs BoM (bill of material) data for calculation and analysis.

          +

          Needs BoM data for calculation and analysis.

          -

          CX defines standards for PCF calculation.

          -

          CX provides up-to-date and reliable sustainability data of parts / materials.

          -

          CX provides apps and services for data exchange.

          -

          CX provides calculation tools.

          -

          CX provides access to eco-data(bases) for secondary data.

          +

          Catena-X defines standards for PCF calculation.

          +

          Catena-X provides up-to-date and reliable sustainability data of parts/materials.

          +

          Catena-X provides apps and services for data exchange.

          +

          Catena-X provides calculation tools.

          +

          Catena-X provides access to eco-data(bases) for secondary data.

          PCF Controller (product) -

          his is more of an operational role (as opposed to the Sustainability Manager). He is a PCF expert who works with many internal and external partners.

          +

          He has an operational role (as opposed to the Sustainability Manager). As a PCF expert who works with many internal and external partners.

          He is the first point of contact for the purchaser on PCF topics.

          -

          External/Customer view:

          +

          External/customer view:

          • He is a key account for PCF data and, in this regard, the central interface to customers/suppliers.
          • -
          • He releases calculated PCF data to customer.
          • +
          • He releases calculated PCF data to customers.
          • He receives PCF data from the suppliers.
          • He triggers incident management.
          • He initiates collaborative PCF optimization.
          • @@ -270,26 +270,26 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide -

            He requires up-to-date and reliable PCF data of parts / materials.

            +

            He requires up-to-date and reliable PCF data of parts/materials.

            He needs data in different phases of the product lifecycle (e.g., in product development, sourcing, industrialization, series production).

            He requires standardized data.

            He needs a tool to exchange PCF data with internal and external partners.

            He needs reports for tracking and monitoring of PCF data and targets.

            -

            CX defines standards for PCF data.

            -

            CX provides apps and services for PCF data exchange.

            -

            CX provides up-to-date and reliable PCF data of parts / materials.

            -

            CX provides phase-specific data.

            +

            Catena-X defines standards for PCF data.

            +

            Catena-X provides apps and services for PCF data exchange.

            +

            Catena-X provides up-to-date and reliable PCF data of parts / materials.

            +

            Catena-X provides phase-specific data.

            Sustainability Manager (product) -

            This is more of a strategic role than an operational role.

            -

            He is responsible for the coordination and steering of PCF and cost objectives at product level

            +

            His role is more strategic than operational.

            +

            He is responsible for the coordination and steering of PCF and cost objectives at product level.

            He ensures the consistency of product objectives with corporate objectives.

            -

            He defines PCF targets for products and breaks them down on part / components / materials level.

            +

            He defines PCF targets for products and breaks them down on part/component/material level.

            He receives sustainability targets from customers.

            He takes care of how sustainability targets (especially PCF) can be implemented and achieved.

            He performs analyses in the context of sustainability.

            @@ -311,12 +311,12 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide
          -

          CX defines standards for sustainability data (esp. PCF).

          -

          CX provides apps and services for data exchange.

          -

          CX provides up-to-date and reliable sustainability data of parts / materials.

          -

          CX provides phase-specific data.

          -

          CX provides (standard) reports.

          -

          CX provides analysis tools.

          +

          Catena-X defines standards for sustainability data (esp. PCF).

          +

          Catena-X provides apps and services for data exchange.

          +

          Catena-X provides up-to-date and reliable sustainability data of parts / materials.

          +

          Catena-X provides phase-specific data.

          +

          Catena-X provides (standard) reports.

          +

          Catena-X provides analysis tools.

          @@ -324,17 +324,17 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide

          He has no active role in Catena-X (e.g.: getting reports is a passive, not an active role in this sense).

          He sets corporate goals and breaks them down for different sectors and functions in the company.

          -

          He gets input from the Sustainability Manager Product.

          +

          He gets input from the Sustainability Manager (product).

          -

          The role exists in principle; it is rather the question of who will take it over (e.g., personal union with Management, or possibly Sust. Manager).

          +

          The role exists in principle; it is rather the question of who will take it over (e.g., personal union with management, or possibly Sustainability Manager).

          Thesis: an SME does CCF rather than PCF.

          He requires (aggregated) sustainability data.

          He requires “high level” (standard) reports.

          - CX provides up-to-date and reliable sustainability data. + Catena-X provides up-to-date and reliable sustainability data. Salespeople @@ -348,12 +348,12 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide -

          He needs sustainability data (e.g., PCF) of own products (parts / materials)

          +

          He needs sustainability data (e.g., PCF) of own products (or parts/materials)

          He requires tools for information or data exchange (with both internal partners and external customers).

          -

          CX provides sustainability data of own products.

          -

          CX provides apps and services for data exchange.

          +

          Catena-X provides sustainability data of own products.

          +

          Catena-X provides apps and services for data exchange.

          @@ -365,9 +365,9 @@ To determine a PCF, an appropriate calculation tool is usually used, which guide

          The auditor has a clearing role in case of escalated incidents.

          - He needs additional infxormation and data to be able to verify the reported PCF data. + He needs additional information and data to be able to verify the reported PCF data. -

          CX provides up-to-date and verifiable sustainability data.

          +

          Catena-X provides up-to-date and verifiable sustainability data.

          Catena-X provides access to metadata that allows the reported PCF data to be verified.

          @@ -389,20 +389,135 @@ Depending on the use case and related KIT, Catena-X provides different semantic #### Introduction PCF Data Model -In an era defined by growing environmental consciousness and sustainability imperatives, the concept of measuring and reducing carbon footprints has become paramount across industries. A pivotal key in this pursuit is a aligned and standardized Product Carbon Footprint Data Model. This data model not only facilitates the systematic calculation and comparison of carbon footprints but also offers a structured approach to managing environmental impact data. - -As the global community grapples with the impacts of climate change, consumers, businesses, and governments are seeking actionable ways to mitigate their carbon emissions. The need for a consistent and universally accepted method of quantifying these emissions from diverse products has given rise to the significance of a Standardized Product Carbon Footprint Data Model. This model acts as a lingua franca, enabling stakeholders to communicate and analyze carbon footprint information transparently and comprehensively. - -For this KIT only the data model PCF is used. The data model follows the Catena-X Standard [CX-0136](https://catena-x.net/de/standard-library) and is modeled following the [CX-0003](https://catena-x.net/de/standard-library) Standard. +In an era defined by growing environmental consciousness and sustainability imperatives, the concept of measuring and reducing carbon footprints has become paramount across industries. A pivotal key in this pursuit is an aligned and standardized PCF data model. This data model not only facilitates the systematic calculation and comparison of carbon footprints but also offers a structured approach to managing environmental impact data. + +As the global community grapples with the impacts of climate change, consumers, businesses, and governments are seeking actionable ways to mitigate their carbon emissions. The need for a consistent and universally accepted method of quantifying these emissions from diverse products has given rise to the significance of a standardized PCF data model. This model acts as a lingua franca, enabling stakeholders to communicate and analyze carbon footprint information transparently and comprehensively. + +For this KIT only the PCF data model is used. The PCF data model follows the [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) Use Case PCF standard and is implemented in compliance with the [CX-0003](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) SAMM Aspect Meta Model standard. + +#### Data Model Overview + +The Catena-X PCF data model has been developed in accordance with the "Technical Specifications for PCF Data Exchange" from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. The basis for the specification of the Catena-X PCF data model is the PCF Rulebook V3.0.0 (see [CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)). + +The following illustration describes the logical structure of the Catena-X PCF data model: + +
          + PCF Data Model structure + +![PCF Data Model Structure Rel. 24.08](resources/adoption-view/PCF%20Data%20Model%20Structure%20Rel.%2024.08.png) + +
          + +The table below shows the details of each data field in the Catena-X PCF data model: + +
          + PCF Data Model details + +M - Mandatory, O - Optional, O* - Mandatory starting 2025 + +| Property | Technical Name | PCF Exchange | PCF Calculation | Data Type Specification | Example | Technical Data Type | Description | +|--------------------------------------------------------------------|-------------------------------------------------------|-----------------------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **(General)** | | | | | | | | +| ***(Version Information)*** | | | | | | | | +| Product Footprint Identifier | id | M | O | String; must be a UUID v4 | 3893bb5d-da16-4dc1-9185-11d97476c254 | PfId | The PCF identifier. | +| Product Footprint Specification Version | specVersion | M | M | Text | urn:io.catenax.pcf:datamodel:version:7.0.0 | String | Version of the PCF data specification. | +| Partial Or Full PCF | partialFullPcf | M | M | Enumeration; "Cradle-to-gate",
          "Cradle-to-grave" | Cradle-to-gate | String | Indicator for partial or full PCF declaration. | +| Previous PCF Identifiers | precedingPfIds | O | O | Non-empty set of strings | 9c5b94b1-35ad-49bb-b118-8e8fc24abf8 | Array of PfId | Set of preceding PCF identifiers without duplicates. Declared as "optional" in WBCSD, needs to be covered by application. | +| Product (Carbon) Footprint Version | version | M | O | Integer in inclusive rage of 0..2^31-1; per default "0" in Catena-X | 0 | Number | Version of the PCF. In Catena-X for example set to "0" per default. | +| Creation of the Product (Carbon) Footprint | created | M | M | Time stamp; must be in UTC (Coordinated Universal Time) conforming to ISO 8601 | 2020-03-01T00:00:00Z | DateTime | Timestamp of the creation of the PCF. | +| Status | status | M | O | Enumeration; "Active", "Deprecated"; per default "Active" in Catena-X | Active | String | Status indicator of a PCF. WBCSD specific extension, in Catena-X for example set to "Active" per default. | +| Validity Period Start | validityPeriodStart | O | O | Time stamp; if defined, must be equal to or greater than referencePeriodEnd | 2022-01-01T00:00:01Z | DateTime | Start of interval during which the PCF is declared as valid. If specified, the validity period start must be equal to or greater than the reference period end. | +| Validity Period End | validityPeriodEnd | O | O | Time stamp | 2022-12-31T23:59:59Z | DateTime | End of interval during which the PCF is declared as valid. | +| Comment | comment | O | O | Text | Additional explanatory information not reflected by other attributes | String | Additional information and instructions related to the calculation of the PCF. | +| PCF Legal Statement | pcfLegalStatement | O | O | Text | This PCF (Product Carbon Footprint) is for information purposes only. It is based upon the standards mentioned above. | String | Option for legal statement/ disclaimer. | +| ***(Company Information)*** | | | | | | | | +| Company Name | companyName | M | O | String with 1 or more characters | My Corp | NonEmptyString | Name of the PCF data owner. | +| Company Ids | companyIds | M | O | Non-empty set of URN (Uniform Resource Name); array of strings (<URN> ::= "urn:" <NID> ":" <NSS>) | urn:bpn:id:BPNL000000000DWF | CompanyIdSet | Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the PCF data owner. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}. | +| ***(Product Information)*** | | | | | | | | +| Product Description | productDescription | O | O | Text | Ethanol, 95% solution | String | Free-form description of the product. | +| Product Ids | productIds | M | M | Non-empty set of URN; array of strings (<URN>, ::= "urn:" <NID> ":" <NSS>) | urn:gtin:4712345060507 | ProductIdSet | Non-empty set of product identifiers. Each value is supposed to uniquely identify the product. In Catena-X productId corresponds with Industry Core manufacturerPartId. | +| Product Category | productCategoryCpc | M | O | String; UN CPC Code version 2.1;
          per default "011-99000" in Catena-X | 011-99000 | CpcCode | UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product. WBCSD specific extension, which will probably be declared as "optional" in a later WBCSD specification version. In Catena-X for example specified with default value "011-99000". | +| Product Trade Name | productNameCompany | M | O | String with 1 or more characters | My Product Name | NonEmptyString | Non-empty trade name of a product. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer. | +| **(PCF)** | | | | | | | | +| ***(Unit Information)*** | | | | | | | | +| Unit of measurement | declaredUnit | M | M | String; enumeration as specified by WBCSD plus "piece" for Catena-X | kilogram | DeclaredUnit | Unit of analysis of a product in context of the PCF. In Catena-X for example list of valid units includes "piece". | +| Unitary Product Amount | unitaryProductAmount | M | M | Positive, non-zero decimal number | 1000.0 | StrictlyPositiveDecimal | Amount of units contained within a product in context of the PCF. | +| Product Mass Per Declared Unit | productMassPerDeclaredUnit | M | M | Positive, non-zero decimal number | 0.456 | StrictlyPositiveDecimal | Mass of a product per declared unit (net, unpackaged) in context of the PCF. | +| ***(PCF Assessment & Methodology)*** | | | | | | | | +| ***(PCF Assessment Information)*** | | | | | | | | +| *(Boundary Specifications)* | | | | | | | | +| Exempted Emissions Percent | exemptedEmissionsPercent | M | M | Decimal number between 0.0 and 5 including | 0.0 | ExemptedEmissionPercent | Applied cut-off percentage of emissions excluded from PCF.
          For accordance with Catena-X PCF Rulebook (Version 3.0.0) <3%. | +| Exempted Emissions Description | exemptedEmissionsDescription | O | O | Text; can be empty | No exemption | String | Rationale behind exclusion of specific PCF emissions. | +| Packaging Emissions Included | packagingEmissionsIncluded | M | M | Boolean; can be "TRUE" or "FALSE" | TRUE | Boolean | The Catena-X PCF Rulebook (Version 3.0.0) requires to include packaging from a system boundary perspective. "FALSE" is only possible due to the application of the cut-off rule. Flag indicating whether packaging emissions are included in a PCF. WBCSD specific extension. | +| *(Technology)* | | | | | | | | +| Boundary Processes Description | boundaryProcessesDescription | O | O | Text | Electricity consumption included as an input in the production phase | String | Processes attributable to each lifecycle stage. | +| *(Geography)* | | | | | | | | +| Geography Country Subdivision | geographyCountrySubdivision | O | O | String; if defined must be ISO 3166-2 Subdivision Code | US-NY | GeographyCountrySubdivision | Subdivision of a country which must be an ISO 3166-2 subdivision code. | +| Geography Country | geographyCountry | O | O | String; if defined must be an ISO 3166-2 alpha-2 code | FR | GeographyCountry | Two letter country code that must conform to data type ISO 3166CC. | +| Region | geographyRegionOrSubregion | M | O | String with 1 or more characters; enumeration as specified by WBCSD plus "Global" and "Several" for
          Catena-X | Africa | String | Region according to list specified in Catena-X PCF Rulebook (Version 3.0.0). | +| *(Time)* | | | | | | | | +| Reference Period Start | referencePeriodStart | M | M | Time stamp; must be in UTC conforming to ISO 8601 | 2022-01-01T00:00:01Z | DateTime | Start of time boundary for which a PCF value is considered to be representative. | +| Reference Period End | referencePeriodEnd | M | M | Time stamp; must be in UTC conforming to ISO 8601 | 2022-12-31T23:59:59Z | DateTime | End of time boundary for which a PCF value is considered to be representative. | +| ***(PCF Methodology)*** | | | | | | | | +| *(Standards)* | | | | | | | | +| Cross Sectoral Standard | crossSectoralStandardsUsed:
          crossSectoralStandard | M | M | Object crossSectoralStandardsUsed: set of Cross Sectoral Standard entries.
          For each crossSectoralStandard: Enumeration "ISO 14067", "Pathfinder v1", "Pathfinder v2", "GHG Protocol Product Standard", "PAS 2050", "ISO 14040-44", "PEF", "Other" | GHG Protocol Product Standard | CrossSectoralStandardsUsedEnumeration | Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions. | +| Operator or Publisher of Sector Specific Rules | productOrSectorSpecificRules:
          operator | M | M | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
          For each operator: enumeration "PEF", "EPD International", "Other"; per default "Other" in Catena-X | Other | ProductOrSectorSpecificRuleOperator | Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule). WBCSD specific extension, in Catena-X for example must always be "Other". | +| Product or Sector Specific Rule Names | productOrSectorSpecificRules:
          ruleNames | M | M | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
          For all rulenames: set of RuleName entries | urn:tfs-initiative.com:PCR:The Product Carbon Footprint Guideline for the Chemical Industry:version:v2.0 | NonEmptyString Vector | Non-empty set of rules applied by the specified operator. | +| Other Operator Name | productOrSectorSpecificRules:
          otherOperatorName | O | O | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
          For each otherOperatorName: Non-empty string | NSF | NonEmptyString | Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule). WBCSD specific extension, in Catena-X for example specified by a default value. | +| *(GWP Characterization Factor Details)* | | | | | | | | +| Characterization Factors | characterizationFactors | M | M | Enumeration "AR6", "AR5"; per default "AR6" in Catena-X | AR6 | CharacterizationFactors | IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF. WBCSD specific extension, in Catena-X for example specified by default with value "AR6". Default value can be overwritten. | +| *(Data Sources and Quality)* | | | | | | | | +| *(Allocation in Foreground (Own Processes))* | | | | | | | | +| Allocation Rules Description | allocationRulesDescription | O | O | Text; per default "In accordance with Catena-X PCF Rulebook" in Catena-X | In accordance with Catena-X PCF Rulebook | String | Allocation rules used and underlying reasoning in context of a PCF. WBCSD specific extension, in Catena-X for example specified by default with value "In accordance with Catena-X PCF Rulebook". | +| Allocation Waste Incineration | allocationWasteIncineration | M | M | Enumeration "cut-off", "reverse cut-off", "system expansion"; per default "cut-off" in Catena-X | cut-off | AllocationWasteIncineration | Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value "cut-off". | +| *(Data Sources)* | | | | | | | | +| Primary Data Share | primaryDataShare | O* | O* | Decimal number in range of and including 0..100 | 7.183924 | Percent | Share of primary data in percent. | +| Emission Factor Data Source | secondaryEmissionFactorSources:
          emissionFactorDS | M | M | Object; set of EmissionFactorDataSources | ecoinvent 3.8 | Set of strings, each with 1 or more characters | Emission factor data sources used to calculate a PCF. | +| *(Data Quality)* | | | | | | | | +| Coverage Percent | dqi:coveragePercent | O* | O* | Decimal number in range of and including 0..100; per default "100" in Catena-X | 100 | Percent | Percentage of PCF included in the data quality assessment based on the >5% emissions threshold. In Catena-X for example set to "100" per default. | +| Technological DQR (Data Quality Rating) | dqi:technologicalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Technological representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Temporal DQR (Data Quality Rating) | dqi:temporalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Temporal representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Geographical DQR (Data Quality Rating) | dqi:geographicalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Geographical representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Completeness DQR (Data Quality Rating) | dqi:completenessDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Completeness of the data collected for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Reliability DQR (Data Quality Rating) | dqi:reliabilityDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Reliability of the data collected for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| ***(Life Cycle Inventory Results)*** | | | | | | | | +| ***(Production Stage)*** | | | | | | | | +| PCF Excluding Biogenic | pcfExcludingBiogenic | M | M | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 2.0 | PositiveDecimal | PCF of a product excluding biogenic emissions. | +| PCF Including Biogenic | pcfIncludingBiogenic | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit | 1.0 | Decimal | PCF of a product including biogenic emissions. Optional value in current specification version but will be mandatory in future version. | +| Fossil Emissions | fossilGhgEmissions | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.5 | PositiveDecimal | Emissions from combustion of fossil sources. Identical to "pcfExcludingBiogenic", will be removed in later version. | +| Biogenic Carbon Emissions Other Than CO2 | biogenicCarbonEmissionsOtherThanCO2 | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. | +| Biogenic Carbon Withdrawal | biogenicCarbonWithdrawal | O* | O* | Must be calculated per declared unit in kgCO2e / declaredUnit equal to or less than zero | 0.0 | NegativeDecimal | Biogenic carbon content in the product converted to CO2e. | +| Direct land use change Greenhouse Gas Emissions | dlucGhgEmissions | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.4 | PositiveDecimal | Direct land use change CO2e emissions in context of a PCF. | +| Land use Greenhouse Gas Emissions | luGhgEmissions | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit | 0.3 | Decimal | Land use CO2 emissions in context of a PCF as specified by the TFS (Together For Sustainability) initiative. TFS specific extension. | +| Aircraft Greenhouse Gas Emissions | aircraftGhgEmissions | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product. | +| Packaging Greenhouse Gas Emissions | packagingGhgEmissions | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | Emissions resulting from the packaging of the product. WBCSD specific extension. In Catena-X not relevant to be reported separately. | +| ***(Distribution Stage)*** | | | | | | | | +| Distribution Stage PCF Excluding Biogenic | distributionStagePcfExcludingBiogenic | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 1.5 | PositiveDecimal | PCF for the distribution stage of a product excluding biogenic emissions. | +| Distribution Stage PCF Including Biogenic | distributionStagePcfIncludingBiogenic | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit | 0.0 | Decimal | PCF for the distribution stage of a product including biogenic emissions. | +| Distribution Stage Fossil Greenhouse Gas Emissions | distributionStageFossilGhgEmissions | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.5 | PositiveDecimal | Emissions from the combustion of fossil sources in the distribution stage. | +| Distribution Stage Biogenic Carbon Emissions Other Than CO2 | distributionStageBiogenicCarbonEmissionsOtherThanCO2 | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2. Excludes biogenic CO2. | +| Distribution Stage Biogenic Carbon Withdrawal | distributionStageBiogenicCarbonWithdrawal | O | O | Must be calculated per declared unit in kgCO2e / declaredUnit equal to or less than zero | 0.0 | NegativeDecimal | GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product). | +| Distribution Stage direct land use change Greenhouse Gas Emissions | distributionStageDlucGhgEmissions | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | Direct land use change CO2e emissions for the distribution stage in context of a PCF. | +| Distribution Stage land use Greenhouse Gas Emissions | distributionStageLuGhgEmissions | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit | 1.1 | Decimal | Land use CO2 emissions for the distribution stage in context of a PCF as specified by the TFS (Together For Sustainability) initiative. TFS specific extension. | +| Distribution Stage Aircraft Greenhouse Gas Emissions | distributionStageAircraftGhgEmissions | O | O | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product. | +| ***(Carbon Content)*** | | | | | | | | +| Carbon Content Total | carbonContentTotal | O* | O* | Must be calculated per declared unit with
          kgCO2e / declaredUnit equal to or greater zero | 2.5 | PositiveDecimal | Total carbon content per declared unit in context of a PCF. | +| Fossil Carbon Content | fossilCarbonContent | O* | O* | Must be calculated per declared unit with
          kgC / declaredUnit equal to or greater zero; per default calculated in Catena-X (Total - Biogenic) | 0.1 | PositiveDecimal | Fossil carbon amount embodied in a product. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value. | +| Biogenic Carbon Content | biogenicCarbonContent | O* | O* | Must be calculated per declared unit with
          kgC / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | Biogenic carbon amount embodied in a product. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero. | + +
          #### Example Payload -The following json shows a example payload for a requested pcf value. +The following json shows an exemplary payload for a requested PCF value. + +
          + Payload ```json { - "specVersion" : "2.0.1-20230314", - "companyIds" : [ "urn:bpn:id:BPNL000000000DWF", "urn:id:56789"], + "specVersion" : "urn:io.catenax.pcf:datamodel:version:7.0.0", + "companyIds" : [ "urn:bpn:id:BPNL000000000DWF", "urn:vat:id:DE123456789"], "extWBCSD_productCodeCpc" : "011-99000", "created" : "2022-05-22T21:47:32Z", "companyName" : "My Corp", @@ -462,16 +577,16 @@ The following json shows a example payload for a requested pcf value. "extWBCSD_packagingEmissionsIncluded" : true, "extWBCSD_fossilCarbonContent" : 0.1, "crossSectoralStandardsUsed" : [ { - "crossSectoralStandard" : "GHG Protocol Product standard" + "crossSectoralStandard" : "ISO Standard 14067" } ], "extTFS_distributionStageDlucGhgEmissions" : 1.0, "distributionStagePcfIncludingBiogenic" : 0.0, "carbonContentBiogenic" : 0.0 }, "partialFullPcf" : "Cradle-to-gate", - "productIds" : [ "urn:id:98765", "urn:id:cx:12345" ], + "productIds" : [ "urn:gtin:4712345060507", "urn:id:9587654", "urn:uuid4:id:9885a472-2cbf-4f89-9650-e83a44e7bdf1" ], "validityPeriodStart" : "2022-01-01T00:00:01Z", - "comment" : "Comment for version 42.", + "comment" : "Additional explanatory information not reflected by other attributes", "id" : "3893bb5d-da16-4dc1-9185-11d97476c254", "validityPeriodEnd" : "2022-12-31T23:59:59Z", "pcfLegalStatement" : "This PCF (Product Carbon Footprint) is for information purposes only. It is based upon the standards mentioned above.", @@ -482,8 +597,10 @@ The following json shows a example payload for a requested pcf value. } ``` -The entire data model is available as open source through following the link: -[Catena-X PCF Datamodel](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.pcf/5.0.0) +
          + +The entire PCF data model is available as open source through the following link: +[Catena-X PCF Datamodel](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.pcf/7.0.0) ## Business Architecture @@ -498,10 +615,19 @@ The diagram shown here illustrates the interaction between the PCF KIT and the o ## STANDARDS -The standards of this release will be published soon. The relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): +The relevant standards can be downloaded from the official [Catena-X Standard Library](https://catenax-ev.github.io/docs/next/standards/overview): + +- [CX-0136 Product Carbon Footprint UseCase (Version 2.0.0)](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) +- [CX-0029 Product Carbon Footprint Rulebook (Version 3.0.0)](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook) + +## REFERENCE IMPLEMENTATIONS + +Currently there is no reference FOSS (Free and Open-Source Software) implementation. Several COTS (Commercial Of-The-Shelf) solutions are available, e.g. offered by the following providers: -- Product Carbon Footprint UseCase (Version 1.0.0) -- Product Carbon Footprint Rulebook (Version 2.0.0) +- [SiGREEN (Siemens)](https://www.siemens.com/de/de/unternehmen/themenfelder/product-carbon-footprint.html) +- [SDX (SAP)](https://www.sap.com/sustainability/climate-action.html) +- [SPF (SupplyOn)](https://www.supplyon.com/en/solutions/sustainability/product-carbon-footprint/#contactform) +- [SDE (T-Systems)](https://dih.telekom.com/de/catena-x) ## NOTICE @@ -521,4 +647,4 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses - SPDX-FileCopyrightText: 2023,2024 CCT - SPDX-FileCopyrightText: 2023,2024 Gris Group - SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation -- [Source URL](https://github.com/eclipse-tractusx/pcf-exchange-kit) +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits/kits/PCF Exchange Kit/page_documentation.md b/docs-kits/kits/PCF Exchange Kit/page_documentation.md index ea6b7003049..abc7feb8ab9 100644 --- a/docs-kits/kits/PCF Exchange Kit/page_documentation.md +++ b/docs-kits/kits/PCF Exchange Kit/page_documentation.md @@ -18,4 +18,4 @@ title: Documentation Overview - SPDX-FileCopyrightText: 2023,2023,2024 CCT - SPDX-FileCopyrightText: 2023,2023,2024 Gris Group - SPDX-FileCopyrightText: 2023,2023,2024 Contributors to the Eclipse Foundation -- [Source URL]() +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png b/docs-kits/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png new file mode 100644 index 00000000000..222e5c2c131 Binary files /dev/null and b/docs-kits/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png b/docs-kits/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png index 3b6de7061de..9aea8527ad4 100644 Binary files a/docs-kits/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png and b/docs-kits/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png b/docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png index 49de7c3a2c9..a912f234668 100644 Binary files a/docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png and b/docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png new file mode 100644 index 00000000000..4e66fb8b2ed Binary files /dev/null and b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png new file mode 100644 index 00000000000..df003ab6a76 Binary files /dev/null and b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png new file mode 100644 index 00000000000..58f7d7859a6 Binary files /dev/null and b/docs-kits/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png differ diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml b/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml deleted file mode 100644 index 75854d1cbb0..00000000000 --- a/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_0.yaml +++ /dev/null @@ -1,1105 +0,0 @@ -openapi: 3.0.0 -info: - title: Catena-X-pcf-request-endpoint - version: 1.1.0 -paths: - /productIds/{productId}: - get: - operationId: get_pcf - parameters: - - name: Edc-Bpn - description: The caller's Catena-X BusinessPartnerNumber - example: BPNL0000005AMPL3 - in: header - required: true - schema: - type: string - - name: productId - description: ID of the product/materiual the PCF is requested for - example: urn:id:8534x67 - in: path - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the call (will be referenced in corresponding PCF - response) - example: 2daa49aa-ee16-4df3-bca3-69ddead40419 - in: query - required: true - schema: - type: string - - name: message - in: query - required: false - description: URL encoded, max 250 chars - example: No%20offset%20included%2C%20please%21 - schema: - type: string - responses: - '202': - description: PCF was accepted. PCF will be sent later via to POST endpoint. - put: - operationId: set_pcf - parameters: - - name: Edc-Bpn - description: The caller's Catena-X BusinessPartnerNumber - example: BPNL0000005AMPL3 - in: header - required: true - schema: - type: string - - name: productId - description: ID of the product/materiual the PCF referring to - example: urn:id:8534x67 - in: path - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the request call (same as within original PCF - request), if the PUT is responing to a call. Can be dismissed in a - PCF update call. - example: 2daa49aa-ee16-4df3-bca3-69ddead40419 - in: query - required: false - schema: - type: string - requestBody: - description: The requested PCF in WBCSD format - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ProductFootprintResponse' - responses: - '200': - description: '' -components: - schemas: - ProductFootprintResponse: - description: >- - A Product (Carbon) Footprint represents the carbon footprint of a - product with values as specified in the Catena-X PCF Rulebook in - accordance with the WBCSD (World Business Council for Sustainable - Development) Pathfinder framework and the technical specifications for - PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. - type: object - properties: - id: - description: >- - Mandatory: The product footprint identifier as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait - specVersion: - description: >- - Mandatory: Version of the product footprint data specification as - defined in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - partialFullPcf: - description: >- - Mandatory: Indicator for partial or full PCF (Product Carbon - Footprint) declaration as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PartialFullPcfCharacteristic - precedingPfIds: - description: >- - Optional: Set of preceding PCF (Product Carbon Footprint) - identifiers without duplicates as specified in the Catena-X PCF - Rulebook in accordance with the WBCSD (World Business Council for - Sustainable Development) Pathfinder framework and the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ - PACT initiative. Declared as "optional" in WBCSD, needs to be - covered by application. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PrecedingPfIdsCharacteristic - version: - description: >- - Mandatory: Version of the product (carbon) footprint as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X for example set to "0" per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_ProductFootprintVersion - created: - description: >- - Mandatory: Timestamp of the creation of the Product (Carbon) - Footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - extWBCSD_pfStatus: - description: >- - Mandatory: Status indicator of a product (carbon) footprint as - specified in the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example set to "Active" per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PfStatusCharacteristic - validityPeriodStart: - description: >- - Optional: Start of interval during which the product (carbon) - footprint is declared as valid as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. If specified, the - validity period start must be equal to or greater than the reference - period end. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - validityPeriodEnd: - description: >- - Optional: End of interval during which the product (carbon) - footprint is declared as valid as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - comment: - description: >- - Optional: Additional information and instructions related to the - calculation of the product (carbon) footprint as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - companyName: - description: >- - Mandatory: Name of the product (carbon) footprint data owner as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NonEmptyStringTrait - companyIds: - description: "Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}.\_" - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_IdsTrait' - productDescription: - description: >- - Optional: Free-form description of the product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - productIds: - description: >- - Mandatory: Non-empty set of product identifiers. Each value is - supposed to uniquely identify the product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X productId corresponds with Industry Core - manufacturerPartId. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_IdsTrait' - extWBCSD_productCodeCpc: - description: >- - Mandatory: UN (United Nations) Product Classification Code (CPC - - Central Classification Code) of a given product as specified the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, which will probably be - declared as "optional" in a later WBCSD specification version. In - Catena-X for example specified with default value "011-99000". - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - productName: - description: "Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer.\_" - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NonEmptyStringTrait - pcf: - description: >- - A PCF (Product Carbon Footprint) represents the carbon footprint of - a product and related data as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PcfEntity' - pcfLegalStatement: - description: >- - Optional: Option for legal statement/ disclaimer as specified in the - Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - required: - - id - - specVersion - - partialFullPcf - - version - - created - - extWBCSD_pfStatus - - companyName - - companyIds - - productIds - - extWBCSD_productCodeCpc - - productName - - pcf - urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: - type: string - description: >- - The provided regular expression ensures that the UUID is composed of - five groups of characters separated by hyphens, in the form 8-4-4-4-12 - for a total of 36 characters (32 hexadecimal characters and 4 hyphens), - optionally prefixed by "urn:uuid:" to make it an IRI. - pattern: >- - (^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$) - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text: - type: string - description: >- - Describes a Property which contains plain text. This is intended - exclusively for human readable strings, not for identifiers, measurement - values, etc. - urn_samm_io.catenax.pcf_6.0.0_PartialFullPcfCharacteristic: - type: string - description: >- - Characteristic for defining an indicator for partial or full PCF - (Product Carbon Footprint) declaration as specified in the Catena-X PCF - Rulebook. - enum: - - Cradle-to-gate - - Cradle-to-grave - urn_samm_io.catenax.pcf_6.0.0_PrecedingPfId: - description: >- - Entity for defining a preceding PCF (Product Carbon Footprint) - identifier entity as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - id: - description: >- - Mandatory: The product footprint identifier as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait - required: - - id - urn_samm_io.catenax.pcf_6.0.0_PrecedingPfIdsCharacteristic: - description: >- - Characteristic for defining a non-empty set of product (carbon) - footprint identifiers as specified in the Catena-X PCF Rulebook in - accordance with the WBCSD (World Business Council for Sustainable - Development) Pathfinder framework and the technical specifications for - PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PrecedingPfId' - urn_samm_io.catenax.pcf_6.0.0_ProductFootprintVersion: - type: number - minimum: 0 - description: >- - Characteristic for defining a product footprint version as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: - type: string - pattern: >- - -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))? - description: >- - Describes a Property which contains the date and time with an optional - timezone. - urn_samm_io.catenax.pcf_6.0.0_PfStatusCharacteristic: - type: string - description: >- - Characteristic for defining a status indicator of a product (carbon) - footprint as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Enumeration with possible "Active" and "Deprecated". - enum: - - Active - - Deprecated - urn_samm_io.catenax.pcf_6.0.0_NonEmptyStringTrait: - type: string - description: Constraint for ensuring that a string has at least one character. - minLength: 1 - urn_samm_io.catenax.pcf_6.0.0_IdsTrait: - description: >- - Constraint for defining a non-empty set of URIs (Uniform Resource - Identifieres). - type: array - items: - type: string - format: uri - minItems: 1 - urn_samm_io.catenax.pcf_6.0.0_DeclaredUnitCharacteristic: - type: string - description: >- - Unit of analysis of the product with accepted values as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. For countable - products/ components/ materials, Catena-X for example adds the unit - "piece" to the value list specified by WBCSD. - enum: - - liter - - kilogram - - cubic meter - - kilowatt hour - - megajoule - - ton kilometer - - square meter - - piece - urn_samm_io.catenax.pcf_6.0.0_StrictlyPositiveDecimalTrait: - type: number - description: Constraint for defining a positive, non-zero decimal. - minimum: 0 - exclusiveMinimum: true - urn_samm_io.catenax.pcf_6.0.0_PositiveDecimalWeightTrait: - type: number - description: Constraint for defining a decimal equal to or greater than zero. - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_6.0.0_ExemptedEmissionsPercentTrait: - type: number - description: >- - Characteristic for defining the percentage of emissions excluded from a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - maximum: 5 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_6.0.0_GeographyCountrySubdivisionTrait: - type: string - description: >- - Constraint for defining a geography country subdivision in compliance to - ISO 3166-2 as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) - urn_samm_io.catenax.pcf_6.0.0_GeographyCountryTrait: - type: string - description: >- - Constraint for defining a geography country conform to ISO 3166CC as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - pattern: ([A-Z]{2}) - urn_samm_io.catenax.pcf_6.0.0_GeographyRegionOrSubregionCharacteristic: - type: string - description: >- - Characteristic for defining a list of valid geographic regions as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - In Catena-X for example "Global" has been added to the value list. - enum: - - Africa - - Americas - - Asia - - Europe - - Oceania - - Australia and New Zealand - - Central Asia - - Eastern Asia - - Eastern Europe - - Latin America and the Caribbean - - Melanesia - - Micronesia - - Northern Africa - - Northern America - - Northern Europe - - Polynesia - - South-eastern Asia - - Southern Asia - - Southern Europe - - Sub-Saharan Africa - - Western Asia - - Western Europe - - Global - urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic: - type: string - description: >- - Characteristic for defining the enumeration of valid accounting - standards used for product carbon footprint calculation as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - enum: - - GHG Protocol Product standard - - ISO Standard 14067 - - ISO Standard 14044 - urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandard: - description: >- - Entity for defining an accounting standard used for product carbon - footprint calculation as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - crossSectoralStandard: - description: >- - Mandatory: Discloses a cross-sectoral standard applied for - calculating or allocating GHG (Greenhouse Gas) emissions as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic - required: - - crossSectoralStandard - urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandardSet: - description: >- - Characteristic for defining the list of valid accounting standards used - for product carbon footprint calculation as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandard - urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRuleOperator: - type: string - description: >- - Enumeration of PCR (Product Category Rule) operators as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from the - WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension for example in Catena-X. - enum: - - PEF - - EPD International - - Other - urn_samm_io.catenax.pcf_6.0.0_RuleName: - description: >- - Name of a rule applied by a specified operator as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. - type: object - properties: - ruleName: - description: >- - Name of a rule applied by a specific operator as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NonEmptyStringTrait - required: - - ruleName - urn_samm_io.catenax.pcf_6.0.0_RuleNamesTrait: - description: >- - Constraint for defining a non-empty set of rule names as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_RuleName' - uniqueItems: true - minItems: 1 - urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRule: - description: >- - Entity for defining a product or sector specific rule of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - type: object - properties: - extWBCSD_operator: - description: >- - Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product - Specific Rule) as specified in the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. WBCSD specific - extension, in Catena-X for example must always be "Other". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRuleOperator - productOrSectorSpecificRules: - description: >- - Mandatory: Product-specific or sector-specific set of rules used for - calculating or allocating GHG (Greenhouse Gas) emissions applied - from the specified operator as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_RuleNamesTrait' - extWBCSD_otherOperatorName: - description: >- - Optional: Other operator of PCR (Product Category Rule)/ PSR - (Product Specific Rule) as specified in the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. WBCSD - specific extension, in Catena-X for example specified by a default - value. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NonEmptyStringTrait - required: - - extWBCSD_operator - - productOrSectorSpecificRules - urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRuleSet: - description: >- - Characteristic for defining the set of product or sector specific rules - of a product carbon footprint as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRule - uniqueItems: true - urn_samm_io.catenax.pcf_6.0.0_CharacterizationFactorsCharacteristic: - type: string - description: >- - Characteristic for defining the characterization factors of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. In Catena-X for example specified by a default value. - enum: - - AR5 - - AR6 - urn_samm_io.catenax.pcf_6.0.0_AllocationWasteIncinerationCharacteristic: - type: string - description: >- - Characteristic for defining the allocation approach used for waste - incineration as specified by the TFS (Together For Sustainability) - initiative. - enum: - - cut-off - - reverse cut-off - - system expansion - urn_samm_io.catenax.pcf_6.0.0_PercentTrait: - type: number - description: Constraint for a decimal number in the range of and including 0 and 100. - maximum: 100 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_6.0.0_EmissionFactorDS: - description: >- - Entity for defining an emission factor data source used to calculate a - product carbon footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - secondaryEmissionFactorSource: - description: >- - Mandatory: Emission factor data source used to calculate a product - carbon footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - required: - - secondaryEmissionFactorSource - urn_samm_io.catenax.pcf_6.0.0_EmissionFactorDSSet: - description: >- - Characteristic for defining a set of emission factor sources used for - calculating a product carbon footprint as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_EmissionFactorDS' - uniqueItems: true - urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait: - type: number - description: Constraint for defining a decimal between 1 and 3 including. - maximum: 3 - exclusiveMaximum: false - minimum: 1 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_6.0.0_DataQualityIndicators: - description: >- - Characteristic for defining the quantitative data quality indicators of - a PCF (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: object - properties: - coveragePercent: - description: >- - Mandatory starting 2025: Percentage of PCF (Product Carbon - Footprint) included in the data quality assessment based on the >5% - emissions threshold as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. In Catena-X for example - set to "100" per default. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PercentTrait' - technologicalDQR: - description: >- - Mandatory starting 2025: Technological representativeness of the - sources used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait' - temporalDQR: - description: >- - Mandatory starting 2025: Temporal representativeness of the sources - used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait' - geographicalDQR: - description: >- - Mandatory starting 2025: Geographical representativeness of the - sources used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait' - completenessDQR: - description: >- - Mandatory starting 2025: Completeness of the data collected for PCF - (Product Carbon Footprint) calculation based on weighted average of - all inputs representing >5% of PCF emissions. Specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait' - reliabilityDQR: - description: >- - Mandatory starting 2025: Reliability of the data collected for PCF - (Product Carbon Footprint) calculation based on weighted average of - all inputs representing >5% of PCF emissions. Specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DqiNumberTrait' - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: - type: boolean - description: Represents a boolean value (i.e. a "flag"). - urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait: - type: number - description: 'Only positive emission values (>0) are valid ' - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_6.0.0_PositiveOrNegativeEmission: - type: number - description: >- - Characteristic for defining (positive or negative) emissions in context - of a PCF (Product Carbon Footprint) as specified by the WBCSD (World - Business Council for Sustainable Development) Pathfinder initiative. - urn_samm_io.catenax.pcf_6.0.0_NegativeEmissionsTrait: - type: number - description: Only negative emission values (<0) are valid. - maximum: 0 - exclusiveMaximum: false - urn_samm_io.catenax.pcf_6.0.0_PcfEntity: - description: >- - Characteristic for defining a PCF (Product Carbon Footprint) as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: object - properties: - declaredUnit: - description: >- - Mandatory: Unit of analysis of a product in context of the PCF - (product carbon footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. In Catena-X for example - list of valid units includes "piece". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DeclaredUnitCharacteristic - unitaryProductAmount: - description: >- - Mandatory: Amount of units contained within a product in context of - the PCF (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_StrictlyPositiveDecimalTrait - productMassPerDeclaredUnit: - description: >- - Mandatory: Mass of a product per declared unit in context of the PCF - (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveDecimalWeightTrait - exemptedEmissionsPercent: - description: >- - Mandatory: Percentage of emissions excluded from PCF (Product Carbon - Footprint) as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_ExemptedEmissionsPercentTrait - exemptedEmissionsDescription: - description: >- - Optional: Rationale behind exclusion of specific PCF (Product Carbon - Footprint) emissions as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - boundaryProcessesDescription: - description: >- - Optional: Processes attributable to each lifecycle stage as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - geographyCountrySubdivision: - description: >- - Optional: Subdivision of a country which must be an ISO 3166-2 - subdivision code as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_GeographyCountrySubdivisionTrait - geographyCountry: - description: >- - Optional: Two letter country code that must conform to data type ISO - 3166CC as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_GeographyCountryTrait - geographyRegionOrSubregion: - description: >- - Mandatory: Region according to list as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_GeographyRegionOrSubregionCharacteristic - referencePeriodStart: - description: >- - Mandatory: Start of time boundary for which a PCF (Product Carbon - Footprint) value is considered to be representative as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - referencePeriodEnd: - description: >- - Mandatory: End of time boundary for which a PCF (Product Carbon - Footprint) value is considered to be representative as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - crossSectoralStandardsUsed: - description: >- - Mandatory: Discloses the cross-sectoral standards applied for - calculating or allocating GHG (Greenhouse Gas) emissions as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_CrossSectoralStandardSet - productOrSectorSpecificRules: - description: >- - Mandatory: Product or sector specific rules applied for calculating - or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product - Category Rules), including operators or publishers and according - rule names as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_ProductOrSectorSpecificRuleSet - extWBCSD_characterizationFactors: - description: >- - Mandatory: IPCC (Intergovernmental Panel on Climate Change) version - of the GWP (Global Warming Potential) characterization factors used - for calculating the PCF (Product Carbon Footprint) as specified in - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "AR6". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_CharacterizationFactorsCharacteristic - extWBCSD_allocationRulesDescription: - description: >- - Optional: Allocation rules used and underlying reasoning in context - of a product carbon footprint as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "In accordance with Catena-X PCF - Rulebook". - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - extTFS_allocationWasteIncineration: - description: >- - Mandatory: Allocation approach used for waste incineration with - energy recovery as specified by the TFS (Together For - Sustainability) initiative. In Catena-X for example must be - specified by value "cut-off". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_AllocationWasteIncinerationCharacteristic - primaryDataShare: - description: >- - Mandatory starting 2025: Share of primary data in percent as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PercentTrait' - secondaryEmissionFactorSources: - description: >- - Mandatory: Emission factors used for the PCF (Product Carbon - Footprint) calculation as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_EmissionFactorDSSet - dataQualityRating: - description: >- - Mandatory starting 2025: Quantitative data quality indicators of a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_DataQualityIndicators - extWBCSD_packagingEmissionsIncluded: - description: >- - Mandatory: Flag indicating whether packaging emissions are included - in a PCF (Product Carbon Footprint) as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example value - is "TRUE" per default. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean - pcfExcludingBiogenic: - description: >- - Mandatory: Product carbon footprint of a product excluding biogenic - emissions as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - pcfIncludingBiogenic: - description: >- - Mandatory starting 2025: Product carbon footprint of a product - including biogenic emissions as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. Optional value in - current specification version but will be mandatory in future - version. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveOrNegativeEmission - fossilGhgEmissions: - description: >- - Mandatory starting 2025: Emissions from combustion of fossil sources - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Identical to "pcfExcludingBiogenic", will be removed in - later version. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - biogenicCarbonEmissionsOtherThanCO2: - description: >- - Mandatory starting 2025: GWP (Global Warming Potential) of biogenic - CO2e-emissions in production phase which contain only GHG - (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. - For specification see Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - biogenicCarbonWithdrawal: - description: >- - Mandatory starting 2025: Biogenic carbon content in the product - converted to CO2e as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.1.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NegativeEmissionsTrait - dlucGhgEmissions: - description: >- - Mandatory starting 2025: Direct land use change CO2e emissions in - context of a product carbon footprint as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - extTFS_luGhgEmissions: - description: >- - Mandatory starting 2025: Land use CO2 emissions in context of a - product carbon footprint as specified by the TFS (Together For - Sustainability) initiative. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveOrNegativeEmission - aircraftGhgEmissions: - description: >- - Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting - from aircraft engine usage for the transport of the product as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - extWBCSD_packagingGhgEmissions: - description: >- - Optional: Emissions resulting from the packaging of the product as - specified in the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example value is zero per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - distributionStagePcfExcludingBiogenic: - description: >- - Optional: Product carbon footprint for the distribution stage of a - product excluding biogenic emissions as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - distributionStagePcfIncludingBiogenic: - description: >- - Optional: Product carbon footprint for the distribution stage of a - product including biogenic emissions as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveOrNegativeEmission - distributionStageFossilGhgEmissions: - description: >- - Optional: Emissions from the combustion of fossil sources in the - distribution stage as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonEmissionsOtherThanCO2: - description: >- - Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions - in distribution phase which contain only GHG (Greenhouse Gas) - emissions other than CO2 ? excludes biogenic CO2. For specification - see Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonWithdrawal: - description: >- - Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal - in distribution stage (biogenic CO2 contained in the product) as - specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_NegativeEmissionsTrait - extTFS_distributionStageDlucGhgEmissions: - description: >- - Optional: Direct land use change CO2 emissions during distribution - stage in context of a product carbon footprint as specified in the - Catena-X PCF Rulebook. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - extTFS_distributionStageLuGhgEmissions: - description: >- - Optional: Land use CO2 emissions in context of a product carbon - footprint as specified by the TFS (Together For Sustainability) - initiative. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveOrNegativeEmission - carbonContentTotal: - description: >- - Mandatory starting 2025: Total carbon content per declared unit in - context of a product carbon footprint as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - extWBCSD_fossilCarbonContent: - description: >- - Optional: Fossil carbon amount embodied in a product as specified in - the technical specifications for PCF Data Exchange (Version 2.1.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. Must be calculated with kgC (kilogram Carbon) / - declaredUnit equal to or greater zero; WBCSD specific extension, in - Catena-X specified by a calculated value. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - carbonContentBiogenic: - description: >- - Mandatory starting 2025: Biogenic carbon amount embodied in a - product as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.1.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. Must be calculated with kgC (kilogram Carbon) / - declaredUnit equal to or greater zero. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - distributionStageAircraftGhgEmissions: - description: >- - Optional: GHG (Greenhouse Gas) emissions for the distribution stage - resulting from aircraft engine usage for the transport of the - product as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_6.0.0_PositiveEmissionsTrait - required: - - declaredUnit - - unitaryProductAmount - - productMassPerDeclaredUnit - - exemptedEmissionsPercent - - geographyRegionOrSubregion - - referencePeriodStart - - referencePeriodEnd - - crossSectoralStandardsUsed - - productOrSectorSpecificRules - - extWBCSD_characterizationFactors - - extTFS_allocationWasteIncineration - - secondaryEmissionFactorSources - - extWBCSD_packagingEmissionsIncluded - - pcfExcludingBiogenic \ No newline at end of file diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml b/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml new file mode 100644 index 00000000000..0401c7b8187 --- /dev/null +++ b/docs-kits/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml @@ -0,0 +1,676 @@ +openapi: 3.0.0 +info: + title: Catena-X-pcf-request-endpoint + version: 1.1.1 +paths: + /productIds/{productId}: + get: + operationId: get_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF is requested for + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the call (will be referenced in corresponding PCF response) + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: true + schema: + type: string + - name: message + in: query + required: false + description: URL encoded, max 250 chars + example: No%20offset%20included%2C%20please%21 + schema: + type: string + responses: + '202': + description: PCF was accepted. PCF will be sent later via to POST endpoint. + put: + operationId: set_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF referring to + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call. + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: false + schema: + type: string + requestBody: + description: The requested PCF in WBCSD format + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProductFootprintResponse' + responses: + '200': + description: '' +components: + schemas: + ProductFootprintResponse: + description: A Product (Carbon) Footprint represents the carbon footprint of a product with values as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + specVersion: + description: 'Mandatory: Version of the product footprint data specification as defined in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#specVersion + $ref: '#/components/schemas/Text' + partialFullPcf: + description: 'Mandatory: Indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#partialFullPcf + $ref: '#/components/schemas/PartialFullPcfCharacteristic' + precedingPfIds: + description: 'Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as "optional" in WBCSD, needs to be covered by application.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#precedingPfIds + $ref: '#/components/schemas/PrecedingPfIdsCharacteristic' + version: + description: 'Mandatory: Version of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "0" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#version + $ref: '#/components/schemas/ProductFootprintVersion' + created: + description: 'Mandatory: Timestamp of the creation of the Product (Carbon) Footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#created + $ref: '#/components/schemas/Timestamp' + extWBCSD_pfStatus: + description: 'Mandatory: Status indicator of a product (carbon) footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example set to "Active" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#status + $ref: '#/components/schemas/PfStatusCharacteristic' + validityPeriodStart: + description: 'Optional: Start of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. If specified, the validity period start must be equal to or greater than the reference period end.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodStart + $ref: '#/components/schemas/Timestamp' + validityPeriodEnd: + description: 'Optional: End of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodEnd + $ref: '#/components/schemas/Timestamp' + comment: + description: 'Optional: Additional information and instructions related to the calculation of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#comment + $ref: '#/components/schemas/Text' + companyName: + description: 'Mandatory: Name of the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyName + $ref: '#/components/schemas/NonEmptyStringTrait' + companyIds: + description: "Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyIds + $ref: '#/components/schemas/IdsTrait' + productDescription: + description: 'Optional: Free-form description of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productDescription + $ref: '#/components/schemas/Text' + productIds: + description: 'Mandatory: Non-empty set of product identifiers. Each value is supposed to uniquely identify the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productId corresponds with Industry Core manufacturerPartId.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productIds + $ref: '#/components/schemas/IdsTrait' + extWBCSD_productCodeCpc: + description: 'Mandatory: UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product as specified the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, which will probably be declared as "optional" in a later WBCSD specification version. In Catena-X for example specified with default value "011-99000".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productCategoryCpc + $ref: '#/components/schemas/Text' + productName: + description: "Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productNameCompany + $ref: '#/components/schemas/NonEmptyStringTrait' + pcf: + description: A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcf + $ref: '#/components/schemas/CarbonFootprint' + pcfLegalStatement: + description: 'Optional: Option for legal statement/ disclaimer as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfLegalStatement + $ref: '#/components/schemas/Text' + required: + - id + - specVersion + - partialFullPcf + - version + - created + - extWBCSD_pfStatus + - companyName + - companyIds + - productIds + - extWBCSD_productCodeCpc + - productName + - pcf + UuidV4Trait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.shared.uuid:2.0.0#UuidV4Trait + description: The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by "urn:uuid:" to make it an IRI. + pattern: (^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$) + Text: + type: string + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text + description: Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc. + PartialFullPcfCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PartialFullPcfCharacteristic + description: Characteristic for defining an indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0). + enum: + - Cradle-to-gate + - Cradle-to-grave + PrecedingPfId: + description: Entity for defining a preceding PCF (Product Carbon Footprint) identifier entity as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfId + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + required: + - id + PrecedingPfIdsCharacteristic: + description: Characteristic for defining a non-empty set of product (carbon) footprint identifiers as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfIdsCharacteristic + type: array + items: + $ref: '#/components/schemas/PrecedingPfId' + ProductFootprintVersion: + type: number + minimum: 0 + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductFootprintVersion + description: Characteristic for defining a product footprint version as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + Timestamp: + type: string + pattern: '-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?' + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp + description: Describes a Property which contains the date and time with an optional timezone. + PfStatusCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PfStatusCharacteristic + description: Characteristic for defining a status indicator of a product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Enumeration with possible "Active" and "Deprecated". + enum: + - Active + - Deprecated + NonEmptyStringTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NonEmptyStringTrait + description: Constraint for ensuring that a string has at least one character. + minLength: 1 + IdsTrait: + description: Constraint for defining a non-empty set of URIs (Uniform Resource Identifieres). + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#IdsTrait + type: array + items: + type: string + format: uri + minItems: 1 + DeclaredUnitCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DeclaredUnitCharacteristic + description: Unit of analysis of the product with accepted values as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For countable products/ components/ materials, Catena-X for example adds the unit "piece" to the value list specified by WBCSD. + enum: + - liter + - kilogram + - cubic meter + - kilowatt hour + - megajoule + - ton kilometer + - square meter + - piece + StrictlyPositiveDecimalTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#StrictlyPositiveDecimalTrait + description: Constraint for defining a positive, non-zero decimal. + minimum: 0 + exclusiveMinimum: true + PositiveDecimalWeightTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveDecimalWeightTrait + description: Constraint for defining a decimal equal to or greater than zero. + minimum: 0 + exclusiveMinimum: false + ExemptedEmissionsPercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ExemptedEmissionsPercentTrait + description: Characteristic for defining the percentage of emissions excluded from a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + maximum: 5 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + GeographyCountrySubdivisionTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountrySubdivisionTrait + description: Constraint for defining a geography country subdivision in compliance to ISO 3166-2 as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) + GeographyCountryTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountryTrait + description: Constraint for defining a geography country conform to ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}) + GeographyRegionOrSubregionCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyRegionOrSubregionCharacteristic + description: Characteristic for defining a list of valid geographic regions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example "Global" has been added to the value list. + enum: + - Africa + - Americas + - Asia + - Europe + - Oceania + - Australia and New Zealand + - Central Asia + - Eastern Asia + - Eastern Europe + - Latin America and the Caribbean + - Melanesia + - Micronesia + - Northern Africa + - Northern America + - Northern Europe + - Polynesia + - South-eastern Asia + - Southern Asia + - Southern Europe + - Sub-Saharan Africa + - Western Asia + - Western Europe + - Global + - Several + CrossSectoralStandardsUsedEnumerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardsUsedEnumerationCharacteristic + description: Characteristic for defining the enumeration of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + enum: + - ISO Standard 14067 + - ISO Standard 14044 + - Pathfinder v1 + - Pathfinder v2 + - PAS 2050 + - ISO Standard 14040 + - ISO Standard 14041 + - ISO Standard 14042 + - ISO Standard 14043 + - PEF + - Other + - GHG Protocol Product Standard + CrossSectoralStandard: + description: Entity for defining an accounting standard used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandard + type: object + properties: + crossSectoralStandard: + description: 'Mandatory: Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandard + $ref: '#/components/schemas/CrossSectoralStandardsUsedEnumerationCharacteristic' + required: + - crossSectoralStandard + CrossSectoralStandardSet: + description: Characteristic for defining the list of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardSet + type: array + items: + $ref: '#/components/schemas/CrossSectoralStandard' + ProductOrSectorSpecificRuleOperator: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleOperator + description: Enumeration of PCR (Product Category Rule) operators as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension for example in Catena-X. + enum: + - PEF + - EPD International + - Other + RuleName: + description: Name of a rule applied by a specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleName + type: object + properties: + ruleName: + description: Name of a rule applied by a specific operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - ruleName + RuleNamesTrait: + description: Constraint for defining a non-empty set of rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleNamesTrait + type: array + items: + $ref: '#/components/schemas/RuleName' + uniqueItems: true + minItems: 1 + ProductOrSectorSpecificRule: + description: Entity for defining a product or sector specific rule of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRule + type: object + properties: + extWBCSD_operator: + description: 'Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example must always be "Other".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#operator + $ref: '#/components/schemas/ProductOrSectorSpecificRuleOperator' + productOrSectorSpecificRules: + description: 'Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleNames + $ref: '#/components/schemas/RuleNamesTrait' + extWBCSD_otherOperatorName: + description: 'Optional: Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a default value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#otherOperatorName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - extWBCSD_operator + - productOrSectorSpecificRules + ProductOrSectorSpecificRuleSet: + description: Characteristic for defining the set of product or sector specific rules of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleSet + type: array + items: + $ref: '#/components/schemas/ProductOrSectorSpecificRule' + uniqueItems: true + CharacterizationFactorsCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CharacterizationFactorsCharacteristic + description: Characteristic for defining the characterization factors of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example specified by a default value. + enum: + - AR5 + - AR6 + AllocationWasteIncinerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#AllocationWasteIncinerationCharacteristic + description: Characteristic for defining the allocation approach used for waste incineration as specified by the TFS (Together For Sustainability) initiative. + enum: + - cut-off + - reverse cut-off + - system expansion + PercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PercentTrait + description: Constraint for a decimal number in the range of and including 0 and 100. + maximum: 100 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + EmissionFactorDS: + description: Entity for defining an emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDS + type: object + properties: + secondaryEmissionFactorSource: + description: 'Mandatory: Emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#emissionFactorDS + $ref: '#/components/schemas/Text' + required: + - secondaryEmissionFactorSource + EmissionFactorDSSet: + description: Characteristic for defining a set of emission factor sources used for calculating a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDSSet + type: array + items: + $ref: '#/components/schemas/EmissionFactorDS' + uniqueItems: true + DqiNumberTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DqiNumberTrait + description: Constraint for defining a decimal between 1 and 3 including. + maximum: 3 + exclusiveMaximum: false + minimum: 1 + exclusiveMinimum: false + DataQualityIndicators: + description: Characteristic for defining the quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DataQualityIndicators + type: object + properties: + coveragePercent: + description: 'Mandatory starting 2025: Percentage of PCF (Product Carbon Footprint) included in the data quality assessment based on the >5% emissions threshold as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "100" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#coveragePercent + $ref: '#/components/schemas/PercentTrait' + technologicalDQR: + description: 'Optional: Technological representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#technologicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + temporalDQR: + description: 'Optional: Temporal representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#temporalDQR + $ref: '#/components/schemas/DqiNumberTrait' + geographicalDQR: + description: 'Optional: Geographical representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + completenessDQR: + description: 'Optional: Completeness of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#completenessDQR + $ref: '#/components/schemas/DqiNumberTrait' + reliabilityDQR: + description: 'Optional: Reliability of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#reliabilityDQR + $ref: '#/components/schemas/DqiNumberTrait' + Boolean: + type: boolean + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean + description: Represents a boolean value (i.e. a "flag"). + PositiveEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveEmissionsTrait + description: 'Only positive emission values (>0) are valid ' + minimum: 0 + exclusiveMinimum: false + PositiveOrNegativeEmission: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveOrNegativeEmission + description: Characteristic for defining (positive or negative) emissions in context of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative. + NegativeEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NegativeEmissionsTrait + description: Only negative emission values (<=0) are valid. + maximum: 0 + exclusiveMaximum: false + PcfEntity: + description: Entity for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PcfEntity + type: object + properties: + declaredUnit: + description: 'Mandatory: Unit of analysis of a product in context of the PCF (product carbon footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example list of valid units includes "piece".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#declaredUnit + $ref: '#/components/schemas/DeclaredUnitCharacteristic' + unitaryProductAmount: + description: 'Mandatory: Amount of units contained within a product in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#unitaryProductAmount + $ref: '#/components/schemas/StrictlyPositiveDecimalTrait' + productMassPerDeclaredUnit: + description: 'Mandatory: Mass of a product per declared unit (net, unpackaged) in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productMassPerDeclaredUnit + $ref: '#/components/schemas/PositiveDecimalWeightTrait' + exemptedEmissionsPercent: + description: |- + Mandatory: Applied cut-off percentage of emissions excluded from PCF (Product Carbon Footprint). + For accordance with Catena-X PCF Rulebook (Version 3.0.0) <3%. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsPercent + $ref: '#/components/schemas/ExemptedEmissionsPercentTrait' + exemptedEmissionsDescription: + description: 'Optional: Rationale behind exclusion of specific PCF (Product Carbon Footprint) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsDescription + $ref: '#/components/schemas/Text' + boundaryProcessesDescription: + description: 'Optional: Processes attributable to each lifecycle stage as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#boundaryProcessesDescription + $ref: '#/components/schemas/Text' + geographyCountrySubdivision: + description: 'Optional: Subdivision of a country which must be an ISO 3166-2 subdivision code as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountrySubdivision + $ref: '#/components/schemas/GeographyCountrySubdivisionTrait' + geographyCountry: + description: 'Optional: Two letter country code that must conform to data type ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountry + $ref: '#/components/schemas/GeographyCountryTrait' + geographyRegionOrSubregion: + description: 'Mandatory: Region according to list as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyRegionOrSubregion + $ref: '#/components/schemas/GeographyRegionOrSubregionCharacteristic' + referencePeriodStart: + description: 'Mandatory: Start of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodStart + $ref: '#/components/schemas/Timestamp' + referencePeriodEnd: + description: 'Mandatory: End of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodEnd + $ref: '#/components/schemas/Timestamp' + crossSectoralStandardsUsed: + description: 'Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandardsUsed + $ref: '#/components/schemas/CrossSectoralStandardSet' + productOrSectorSpecificRules: + description: 'Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productOrSectorSpecificRules + $ref: '#/components/schemas/ProductOrSectorSpecificRuleSet' + extWBCSD_characterizationFactors: + description: 'Mandatory: IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"AR6\". Default value can be overwritten.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#characterizationFactors + $ref: '#/components/schemas/CharacterizationFactorsCharacteristic' + extWBCSD_allocationRulesDescription: + description: 'Optional: Allocation rules used and underlying reasoning in context of a product carbon footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value "In accordance with Catena-X PCF Rulebook (Version 3.0.0)".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationRulesDescription + $ref: '#/components/schemas/Text' + extTFS_allocationWasteIncineration: + description: 'Mandatory: Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value "cut-off".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationWasteIncineration + $ref: '#/components/schemas/AllocationWasteIncinerationCharacteristic' + primaryDataShare: + description: 'Mandatory starting 2025: Share of primary data in percent as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#primaryDataShare + $ref: '#/components/schemas/PercentTrait' + secondaryEmissionFactorSources: + description: 'Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#secondaryEmissionFactorSources + $ref: '#/components/schemas/EmissionFactorDSSet' + dataQualityRating: + description: 'Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dqi + $ref: '#/components/schemas/DataQualityIndicators' + extWBCSD_packagingEmissionsIncluded: + description: |- + Mandatory: The Catena-X PCF Rulebook requires to include packaging from a system boundary perspective. "FALSE" is only possible due to the application of the cut-off rule. + Flag indicating whether packaging emissions are included in a PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingEmissionsIncluded + $ref: '#/components/schemas/Boolean' + pcfExcludingBiogenic: + description: 'Mandatory: Product carbon footprint of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + pcfIncludingBiogenic: + description: 'Mandatory starting 2025: Product carbon footprint of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Optional value in current specification version but will be mandatory in future version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + fossilGhgEmissions: + description: 'Mandatory starting 2025: Emissions from combustion of fossil sources as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Identical to "pcfExcludingBiogenic", will be removed in later version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonEmissionsOtherThanCO2: + description: 'Mandatory starting 2025: GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonWithdrawal: + description: 'Mandatory starting 2025: Biogenic carbon content in the product converted to CO2e as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + dlucGhgEmissions: + description: 'Mandatory starting 2025: Direct land use change CO2e emissions in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_luGhgEmissions: + description: 'Mandatory starting 2025: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#luGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + aircraftGhgEmissions: + description: 'Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#aircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_packagingGhgEmissions: + description: 'Optional: Emissions resulting from the packaging of the product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. In Catena-X not relevant to be reported separately.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfExcludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfIncludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + distributionStageFossilGhgEmissions: + description: 'Optional: Emissions from the combustion of fossil sources in the distribution stage as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageFossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonEmissionsOtherThanCO2: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2 ? excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonWithdrawal: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + extTFS_distributionStageDlucGhgEmissions: + description: 'Optional: Direct land use change CO2 emissions during distribution stage in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageDlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_distributionStageLuGhgEmissions: + description: 'Optional: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageLuGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + carbonContentTotal: + description: 'Mandatory starting 2025: Total carbon content per declared unit in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#carbonContentTotal + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_fossilCarbonContent: + description: 'Mandatory starting 2025: Fossil carbon amount embodied in a product as specified in the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + carbonContentBiogenic: + description: 'Mandatory starting 2025: Biogenic carbon amount embodied in a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageAircraftGhgEmissions: + description: 'Optional: GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageAircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + required: + - declaredUnit + - unitaryProductAmount + - productMassPerDeclaredUnit + - exemptedEmissionsPercent + - geographyRegionOrSubregion + - referencePeriodStart + - referencePeriodEnd + - crossSectoralStandardsUsed + - productOrSectorSpecificRules + - extWBCSD_characterizationFactors + - extTFS_allocationWasteIncineration + - secondaryEmissionFactorSources + - extWBCSD_packagingEmissionsIncluded + - pcfExcludingBiogenic + CarbonFootprint: + description: Characteristic for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CarbonFootprint + type: object + allOf: + - $ref: '#/components/schemas/PcfEntity' \ No newline at end of file diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml b/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml index 6a36e0c6255..2152c44565c 100644 --- a/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml +++ b/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml @@ -71,7 +71,7 @@ Showing submodel only to ease readability! "keys": [ { "type": "GlobalReference", - "value": "urn:samm:io.catenax.pcf:6.0.0#Pcf" + "value": "urn:samm:io.catenax.pcf:7.0.0#Pcf" } ] }, diff --git a/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml b/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml index bd1d78c49cc..86ace6b323e 100644 --- a/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml +++ b/docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml @@ -1,8 +1,4 @@ -<<<<<<< HEAD:docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml -@startuml "PCF Request with missing Twin or Submodel" -======= @startuml "PCF Request through AAS" ->>>>>>> feature/PCF-Kit-Update_Rel-24-05:docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml participant PCF_Client participant Client_API_Wapper @@ -73,11 +69,7 @@ end group Lookup Clients PCF Receive Asset Company_PCF_App -> Company_EDC: Lookup Client's Receive Asset\n(via Company's EDC URL) -<<<<<<< HEAD:docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml -Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type "data.pcf.exchangeEndpoint") -======= Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type '{"@id":"cx-taxo:PcfExchange"}') ->>>>>>> feature/PCF-Kit-Update_Rel-24-05:docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml note right There could be multiple EDC URLs, but only one with a PCF Exchange Asset @@ -87,29 +79,14 @@ Company_EDC -> Company_PCF_App: PCF Asset ID end group Push PCF to Client -<<<<<<< HEAD:docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml -Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID, BPN & comment -note right -PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123&BPN=& -======= Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID note right PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123 ->>>>>>> feature/PCF-Kit-Update_Rel-24-05:docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml end note Company_API_Wapper -> Company_EDC: Negotiate access to asset and enable proxy transfer Company_EDC -> Client_EDC: Negotiate access to asset and enable proxy transfer Client_EDC -> Company_EDC: Agreement & EndpointDataReference Company_EDC -> Company_API_Wapper: Agreement & EndpointDataReference -<<<<<<< HEAD:docs-kits/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml -Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID & BPN -Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID & BPN -note right -Using PCF API through EDC via HTTP Proxy: -PUT https://{someURL}/productIds/mat345?requestId=123&BPN= -end note -Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID, BPN & comment -======= Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID note right @@ -117,7 +94,6 @@ Using PCF API through EDC via HTTP Proxy: PUT https://{someURL}/productIds/mat345?requestId=123 end note Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID & BPN (Header) ->>>>>>> feature/PCF-Kit-Update_Rel-24-05:docs-kits/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml PCF_Client -> Client_EDC: OK Client_EDC -> Company_EDC: OK Company_EDC -> Company_API_Wapper: OK diff --git a/docs-kits/kits/PURIS Kit/Software Development View/page_software-development-view.md b/docs-kits/kits/PURIS Kit/Software Development View/page_software-development-view.md index 991779c0fcd..fb626f8ffa7 100644 --- a/docs-kits/kits/PURIS Kit/Software Development View/page_software-development-view.md +++ b/docs-kits/kits/PURIS Kit/Software Development View/page_software-development-view.md @@ -1,108 +1,205 @@ --- id: Software Development PURIS Kit title: Software Development View -description: 'PURIS Kit' -sidebar_position: 4 +description: "PURIS Kit" +sidebar_position: 3 --- - +![puris kit banner](/img/kit-icons/puris-kit-icon.svg) ## Introduction -This page gives an overview that is relevant for implementing PURIS standards. The Architecture chapter describes the interactions of all components in the PURIS context as well as the shared aspect approach. The Policies chapter describe the access policies, usage policies, contract definitions and include information about the framework agreement. The Protocol chapter gives examples how the connector data asset is registered and how shell descriptors are created. In the chapter Sample Data the PURIS submodels are defined with a reference to the turtle file and an example JSON payload. A ready PURIS implementation and quick installation guides are referenced in the last chapter. +The Development View provides information and resources for implementing the PURIS standards.. The architecture chapter +describes the interactions of all components in the PURIS context as well as the shared asset approach. The policies +chapter describes the access policies, usage policies, contract definitions and include information about the framework +agreement. The protocol chapter gives examples how the connector data asset is registered and how shell descriptors are +created. In the chapter sample data the PURIS aspect models are defined with a reference to the turtle file and an +example JSON payload. For the ready PURIS implementation and quick installation guides, please see Operation View. ## Architecture -Shown in this chapter are the interactions of all components required to fulfil the PURIS standard. +This chapter shows the interactions of all necessary components required to fulfill the PURIS standards. + Also the standards' transferred data objects are shown in the Catena-X context of registered assets. -### Component Architecture +### Component Architecture (High-Level View) + +Figure 1 shows the high-level architecture of the Submodel exchange in the Catena-X dataspace and the services that are +involved. Both the data provider and the data consumer must be members of the Catena-X network in order to communicate +with each other. With the help of the Identity Access Management (IAM) each participant can authenticate itself, verify +the identity including associated claims (see Usage Purpose section) of the requesting party and decide whether to +authorize the request. For a local deployment of the portal including the IAM components, please refer to +the [umbrella helm chart](https://github.com/eclipse-tractusx/tractus-x-umbrella "https://github.com/eclipse-tractusx/tractus-x-umbrella"). +The data is provisioned in accordance with +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) +in Catena-X. The architecture in this figure only applies to standards that are based on the Digital Twins in +Catena-X ([Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). + +![PURIS Conceptual Levels](resources/PURIS-R2405-architecture-sketch.svg) +_Figure 1: High-level architecture of the submodel exchange in the Catena-X dataspace_ + +### Component Architecture (Conceptual Whitebox View) + +From conceptual point of view a PURIS system consists of different building blocks. These building blocks in the +following diagram show which participant deploys which components. Identification and Access Management is omitted for +simplicity reasons. + +![Whitebox View](resources/PURIS-KIT-24.08-Whitebox.svg) +_Figure 2: Whitebox view on a PURIS system_ -Figure 1 shows the high-level architecture of the Submodel exchange in the Catena-X dataspace and the services that are involved. Both the data provider and the data consumer must be members of the Catena-X network in order to communicate with each other. With the help of Credential Service and the Identity Access Management (IAM) each participant can authenticate itself, verify the identity of the requesting party and decide whether to authorize the request. The data is provisioned in accordance with the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) in Catena-X. The architecture in this figure only applies to standards that are based on the Digital Twins in Catena-X ([Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). +The PURIS App is a software application that allows to exchange relevant data with partners. It's meant to -![high-level architecture of the submodel exchange in the Catena-X](resources/PURIS-R2405-architecture-sketch.png) -*Figure 1: high-level architecture of the submodel exchange in the Catena-X* +- Provide data following the shared asset approach (see Digital Twin KIT). It manages the Digital Twin Registry (AAS + Registry and AAS Discovery API) and provides the data in the correct format via Submodel API. +- Manage the apis and assets in the Connector ( + see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit)). + +The following components are needed for the communication based on the PURIS standard: + +- PURIS App: Component orchestrating the Data Exchange following this KIT (as explained above) while providing business + value. +- Connector: Component that manages data and API as assets to enable the sovereign data exchange (see Connector KIT) +- Digital Twin Registry: Component that provides AAS Registry and AAS Discovery API implementations (see Digital Twin + KIT) +- Data Provisioning & Transformation: Proprietary component allowing to use OWN data or to use PURIS data in internal + systems. +- Identity and Access Management (IAM): Identity Provider spanning authentication and authorization within Catena-X + and / or your company. Includes the Credential Service to proof e.g. that a participant signed the Framework + Agreement. + +Beside that a partner may use the Discovery Service in Catena-X to determine the EDC for a partner based on a Business +Partner Number Legal Entity. As there already exists a contractual basis, this information in the PURIS context can be +considered as known a-priori. ### Distribution of aspects in shared asset approach -Figure 2 shows how the shared asset approach is realized. The orange lines show which submodels belong to the respective AAS. All specific submodels are bound to the specific Part Type's context e.g., meaning that each aspect is described for the specific catalog item on supplier and customer side represented by the AASs. See [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) for more information on the shared asset approach. +Figure 2 shows how the shared asset approach is realized. The orange lines show which submodels belong to the respective +AAS. All specific submodels are bound to the specific Part Type's context e.g., meaning that each aspect is described +for the specific catalog item on supplier and customer side represented by the AASs. +See [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) for more information on +the shared asset approach. + The orange submodels are the submodels used within this standard's context. -The grey submodels are used within the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit) (PartTypeInformation, SingleLevelBomAsPlanned, SingleLevelUsageAsPlanned). Besides PartTypeInformation on supplier-side, no other models are mandatory. The Bill Of Material (BOM) and usage models can be used to build data chains, if the partners align to (see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit)). This KIT relies on the "Part Type" life cycle of the Industry Core representing catalog items after sourcing. +The grey submodels are used within +the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit) ( +_PartTypeInformation, SingleLevelBomAsPlanned, SingleLevelUsageAsPlanned_). Besides PartTypeInformation on +supplier-side, no other models are mandatory. The Bill Of Material (BOM) and usage models can be used to build data +chains, if the partners align to ( +see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit)). This KIT relies +on the "_Part Type_" life cycle of the Industry Core representing catalog items after sourcing. + +The blue dashed lines show the references between DTs based on Catena-X UUIDs and BPNL information that may be resolved +by the Item Relationship Service ( +see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit), [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit) +and [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/category/traceability-kit)). + +The shared asset approach shown in figure 2 is one of the patterns described in the Digital Twin KIT. It preserves the +sovereignty by provisioning the aspect on on the owning partner's side creating a common view on the asset. A shared +asset approach is needed whenever the customer provides data for a part type digital twin. The following implications +apply: -The blue dashed lines show the references between DTs based on Catena-X UUIDs and BPNL information that may be resolved by the Item Relationship Service (see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit), [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit) and [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/category/traceability-kit)). +- The supplier generates the Catena-X ID and provides the aspect model _PartTypeInformation_ while the customer reuses + the generated Catena-X ID for his digital twin representation (see Industry Core KIT). +- If only the supplier would provide the Planned Production Output, no digital twin representation would be needed on + the customer-side. +- Also if only the customer provides information (e.g. Short-Term Material Demand), the supplier needs to create the + digital twin first so that the customer can create his representation. +- While one supplier side twin can be created to handle multiple customers, a customer must create the representation of + the specific twin per supplier - also if it's the same part type from customer point of view. -The shared asset approach shown in figure 2 is one of the patterns described in the Digital Twin KIT. It preserves the sovereignty by provisioning the aspect on on the owning partner's side creating a common view on the asset. A shared asset approach is needed whenever the customer provides data for a part type digital twin. The following implications apply: +Note: from business point of view a quid-pro-quo principle of exchanged information is recommended (stock for stock, +production for demand, delivery information as needed based inco term, days of supply for days of supply). -- The supplier generates the Catena-X ID and provides the aspect model PartTypeInformation while the customer reuses the generated Catena-X ID for his digital twin representation (see Industry Core KIT). -- If only the supplier would provide the Planned Production Output, no digital twin representation would be needed on the customer-side. -- Also if only the customer provides information (e.g. Short-Term Material Demand), the supplier needs to create the digital twin first so that the customer can create his representation. -- While one supplier side twin can be created to handle multiple customers, a customer must create the representation of the specific twin per supplier - also if it's the same part type from customer point of view. +![Conceptual Levels](resources/PURIS-Conceptual-levels-R2405.svg) +_Figure 3: Conceptual levels of provisioning digital twins in the shared asset approach_ -Note: from business point of view a quid-pro-quo principle of exchanged information is recommended (stock for stock, production for demand, delivery information as needed based inco term). +## Policies -![Figure 2: Conceptual levels of provisioning digital twins in the shared asset approach.](resources/PURIS-Conceptual-levels-R2405.png) -*Figure 2: Conceptual levels of provisioning digital twins in the shared asset approach.* +This chapter describes the access & usage policies as well as the contract definitions. For more information on the +access & usage policies, please refer to +the [policies documentation in the tractusx-edc repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md) -## Policies​ +### Access Policies -### Access Policies​ +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the +connector, as described in +the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit). -To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the connector, as described in the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit). -To decide which company has access to the data assets, access policy should be used. Note that without protecting data assets with access policies, they become publicly available in the Catena-X network which is not recommended. +To decide which company has access to the data assets, access policy should be used. Note that without protecting data +assets with access policies, they become publicly available in the Catena-X network which is not recommended. -Therefore, every asset should be protected and only be made available through specified BPNL policy groups or specific BPNL policies. For a detailed description, see [Business Partner Validation Extension, Release 0.6.0](https://github.com/eclipse-tractusx/tractusx-edc/tree/f07dc2bcfab393774f796de3560508f300061b62/edc-extensions/bpn-validation). +Therefore, every asset should be protected and only be made available through specified BPNL policy groups or specific +BPNL policies. For a detailed description, +see [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). -### BPNL Access Policy​ +#### BPNL Access Policy -This policy allows limiting access to a data offer based on a list of specific BPNLs. This translates to the following functionality: +This policy allows limiting access to a data offer based on a list of specific BPNLs. This translates to the following +functionality: - The data offer creator will be able to create a policy listing all the BPN that can access the data offer. -- This means that only the connectors registered in the Catena-X network with the BPNL listed in the policy can see the data offer and accept it (for the creation of data contracts and subsequent data exchange). +- This means that only the connectors registered in the Catena-X network with the BPNL listed in the policy can see the + data offer and accept it (for the creation of data contracts and subsequent data exchange). -**Implementation Hint**: +#### Implementation Hint -Examples including a JSON payload for a BPNL group access policy are described in the [tractus-x EDC repository, Release 0.6.0](https://github.com/eclipse-tractusx/tractusx-edc/tree/f07dc2bcfab393774f796de3560508f300061b62/edc-extensions/bpn-validation). -This reference implementation also provides an extension to add the BPNL of the requesting party to the header of a proxied request. As a result, during implementation one can use this bpnl to design the internal submodel api design. +Examples including a JSON payload for a BPNL group access policy are described in +the [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). -### Usage Policies​ +This reference implementation also provides an extension to add the BPNL of the requesting party to the header of a +proxied request. As a result, during implementation one can use this bpnl to design the internal submodel api design. -To decide which company can use the data asset under specific conditions, usage policies (also referred to as contract policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. Currently, the usage policies aren't technically enforced but based on a legal framework agreements. Signing of framework agreements can be enforced during negotiation depending on the connector implementation. +### Usage Policies -Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way of formulating policy payloads. It further allows to stack different constraints with the odrl:and operator. Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the network. It is recommended to restrict the data usage for all exchanged data standards. An example of one usage policy containing three different constraints is shown and described in the following: +To decide which company can use the data asset under specific conditions, usage policies (also referred to as contract +policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. +Currently, the usage policies aren't technically enforced but based on a legal framework agreements. Signing of +framework agreements can be enforced during negotiation depending on the connector implementation. + +Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way +of formulating policy payloads. It further allows to stack different constraints with the `odrl:and` operator. +Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the +network. It is recommended to restrict the data usage for all exchanged data standards. An example of one usage policy +containing three different constraints is shown and described in the following: ```json { - "@context": { - "odrl": http://www.w3.org/ns/odrl/2/ - }, + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], "@type": "PolicyDefinitionRequestDto", "@id": "", // Important for the contract definition - "policy": { - "@type": "Policy", - "odrl:permission": [ + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ { - "odrl:action": "USE", - "odrl:constraint": { + "action": "use", + "constraint": { "@type": "LogicalConstraint", - "odrl:and": [ // All of the following three constraints have to be fullfilled (and, not or) - // First constraint to verify the the Catena-X membership + "and": [ { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "Puris:1.0" }, - // Second constraint to verify if the framework agreement for PURIS { - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.puris", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.puris.base:1" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:ContractReference", + "operator": "eq", + "rightOperand": "x12345" } ] } @@ -112,69 +209,62 @@ Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-m } ``` -#### Membership Policy​ - -To verify the participants Catena-X membership, the Membership verifiable credential can be used. In case of a policy, the data can only be used from verified Catena-X members. The payload is shown in the first constraint-part of the example above and described in detail in the [connector part of the SSI documentation](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md#1-membership-constraint). - -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" -} -``` +PURIS relies on the usage purpose [cx.puris.base:1](https://github.com/catenax-eV/cx-odrl-profile/blob/main/profile.md), +used in the example above. It's purpose is related to "_Optimizing processes, which includes, without limitation, +regular exchange of data to prevent and/or solve shortages in the supply chain, conducting plausibility checks against +other sources and/or collecting information to facilitate sound decision making, all of the above in the context of +predictive unit real-time information relating to production and/or logistics._" -#### Framework Agreement Policy​ +More information can be found in +the [Policies in Catena-X of the Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view_policies_cx/). -To verify if a participant accepted the framework agreement of a specific use case created by the [Catena-X association](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations), the `FrameworkAgreement.puris` verifiable credential can be used for the PURIS framework agreement. In case of a policy, the data can only be used from accepted and verified PURIS framework agreement members. This is shown in the second constraint-part of the example above. +### Contract Definitions -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.puris", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" -} -``` +In the connector, every policy is associated with a contract. Thus, a contract definition is needed, detailing what +policies are required when contracting assets. -### Contract Definitions​ +When using an above mentioned Access Policy, their `ACCESS_POLICY_ID` needs to be included as a value of +the `accessPolicyId` key in the contract definition. -In the connector, every policy is associated with a contract. Thus, a contract definition is needed, detailing what policies are required when contracting assets. -When using an above mentioned Access Policy, their `ACCESS_POLICY_ID` needs to be included as a value of the accessPolicyId key in the contract definition. -When using an above mentioned Usage Policy, their `CONTRACT_POLICY_ID` needs to be included as a value of the contractPolicyId key in the contract definition. +When using an above mentioned Usage Policy, their `CONTRACT_POLICY_ID` needs to be included as a value of +the `contractPolicyId` key in the contract definition. ```json { - "id": "{{CONTRACT_DEFINITION_ID}}", - "criteria": [ - { - "operandLeft": "asset:prop:id", - "operator": "=", - "operandRight": "{{ASSET_ID}}" - } - ], - "accessPolicyId": "{{ACCESS_POLICY_ID}}", - "contractPolicyId": "{{CONTRACT_POLICY_ID}}" + "id": "{{CONTRACT_DEFINITION_ID}}", + "criteria": [ + { + "operandLeft": "asset:prop:id", + "operator": "=", + "operandRight": "{{ASSET_ID}}" + } + ], + "accessPolicyId": "{{ACCESS_POLICY_ID}}", + "contractPolicyId": "{{CONTRACT_POLICY_ID}}" } ``` -For a more detailed tutorial on creating contracts for assets, see in [Chapter 3 of the End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/boost/provideData). +For a more detailed tutorial on creating contracts for assets, see +in [Chapter 3 of the End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/boost/provideData). ## Protocol This chapter contains data structures that are designed for providing data in the PURIS standards. -The PURIS KIT does not define its own protocol, as it is using the communication pattern described in the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) and relies on the [Part Type Twin definitions of the Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Industry%20Core%20Kit/Software%20Development%20View/Digital%20Twins%20Development%20View%20Industry%20Core%20Kit). + +The PURIS KIT does not define its own protocol, as it is using the communication pattern described in +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) +and relies on +the [Part Type Twin definitions of the Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Industry%20Core%20Kit/Software%20Development%20View/Digital%20Twins%20Development%20View%20Industry%20Core%20Kit). Examples of how the required data structures for that pattern may look like for PURIS are described in this chapter. ### Connector Data Asset Structure -To allow partners to find data regarding a specific Industry Core Part Type Twin, the provider has to register a connector data asset (see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) specifying the address of the Digital Twin Registry of the provider (see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). +To allow partners to find data regarding a specific Industry Core Part Type Twin, the provider has to register a +connector data asset (see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) +specifying the address of the Digital Twin Registry of the provider ( +see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). + The structure is as follows: ```json @@ -187,11 +277,10 @@ The structure is as follows: }, "@id": "{{CONNECTOR_ASSET_ID}}", // defined by yourself "properties": { - "dct:type": {"@id": "cx-taxo:DigitalTwinRegistry"}, + "dct:type": { "@id": "cx-taxo:DigitalTwinRegistry" }, "cx-common:version": "3.0" }, - "privateProperties": { - }, + "privateProperties": {}, "dataAddress": { "@type": "DataAddress", "type": "HttpData", @@ -199,17 +288,24 @@ The structure is as follows: "proxyQueryParams": "true", "proxyBody": "false", "proxyPath": "true", - "proxyMethod": "false", + "proxyMethod": "false" } } ``` -The property `@id` must uniquely identify the connector data asset. +The property **_@id_** must uniquely identify the connector data asset. + Other fields are predetermined by the used standard and protocol. ### Connector Data Asset Structure for "Submodel" -In order to allow partners to receive the actual "Item Stock" data as defined in chapter 3, the provider has to register a connector data asset (see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) specifying the address of the submodel endpoint (see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/digital-twin-kit)) providing the actual data. +In order to allow partners to receive the actual aspect model data (e.g. Item Stock, +see [all PURIS semantic models](https://eclipse-tractusx.github.io/docs-kits/kits/PURIS%20Kit/Adoption%20View%20PURIS%20Kit#semantic-models)), +the provider has to register a connector data asset ( +see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) specifying the address of +the submodel endpoint ( +see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/digital-twin-kit)) providing the +actual data. ```json { @@ -219,15 +315,16 @@ In order to allow partners to receive the actual "Item Stock" data as defined in "cx-taxo": "https://w3id.org/catenax/taxonomy#", "dct": "http://purl.org/dc/terms/", "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" - }, + }, "@id": "{{CONNECTOR_ASSET_ID}}", // defined by yourself "properties": { - "dct:type": {"@id": "cx-taxo:Submodel"}, + "dct:type": { "@id": "cx-taxo:Submodel" }, "cx-common:version": "3.0", - "aas-semantics:semanticId": {"@id": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock"} - }, - "privateProperties": { + "aas-semantics:semanticId": { + "@id": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock" + } }, + "privateProperties": {}, "dataAddress": { "@type": "DataAddress", "type": "HttpData", @@ -235,22 +332,32 @@ In order to allow partners to receive the actual "Item Stock" data as defined in "proxyQueryParams": "false", "proxyBody": "false", "proxyPath": "true", - "proxyMethod": "false", + "proxyMethod": "false" } } ``` -The property `@id` must uniquely identify the connector data asset. +The property **_@id_** must uniquely identify the connector data asset. Other fields are predetermined by the used standard and protocol. Especially the semantic ID can be found in the Sample Data chapter and has to match the aspect model to be transferred. +Currently the PURIS standards restrict the user to not use the repository approach as the semantic id is mandatory for +the asset. ### Shell Descriptors -The Shell Descriptor defines the metadata of the Industry Core Part Type Twin. The following example Shell Descriptor represents a the Shell Descriptor of a supplier who provides access to an "Item Stock" submodel (see [GitHub](https://github.com/eclipse-tractusx/sldt-semantic-models)) for two customers using the legacy access control in the digital twin registry reference implementation. For further information on the creation of Part Type Twins, refer to the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-software-development-view) and the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit). +The Shell Descriptor defines the metadata of the Industry Core Part Type Twin. The following example Shell Descriptor +represents a the Shell Descriptor of a supplier who provides access to an "_Item Stock_" submodel ( +see [GitHub](https://github.com/eclipse-tractusx/sldt-semantic-models)) for two customers using the legacy access +control in the Digital Twin Registry reference implementation. For further information on the creation of Part Type +Twins, refer to +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-software-development-view) +and the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit). -When searching the data assets catalog of a data provider, a data consumer uses the assetId determined via subprotocolBody of the Submodel Descriptor's endpoint definition of subprotocol type "DSP" of the Submodel Descriptor of interest. +When searching the data assets catalog of a data provider, a data consumer uses the assetId determined via +subprotocolBody of the Submodel Descriptor's endpoint definition of subprotocol type "DSP" of the Submodel Descriptor of +interest. The relevant Submodel can be identified based on the semantic Id (see Sample Data chapter). @@ -271,14 +378,14 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "value": "{{SUPPLIER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{OTHER_CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" } - ] + ] } }, { @@ -288,16 +395,16 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "type": "ExternalReference", "keys": [ { - "type": "GlobalReference", - "value": "{{SUPPLIER_BPNL}}" + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{OTHER_CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" } ] } @@ -313,12 +420,12 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "value": "{{SUPPLIER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{OTHER_CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" } ] } @@ -334,8 +441,8 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "value": "{{SUPPLIER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" } ] } @@ -351,8 +458,8 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "value": "{{SUPPLIER_BPNL}}" }, { - "type":"GlobalReference", - "value":"{{OTHER_CUSTOMER_BPNL}}" + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" } ] } @@ -376,9 +483,7 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "protocolInformation": { "href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}", "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], + "endpointProtocolVersion": ["1.1"], "subprotocol": "DSP", "subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}", "subprotocolBodyEncoding": "plain", @@ -410,9 +515,7 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat "protocolInformation": { "href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}", "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], + "endpointProtocolVersion": ["1.1"], "subprotocol": "DSP", "subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}", "subprotocolBodyEncoding": "plain", @@ -433,49 +536,68 @@ The relevant Submodel can be identified based on the semantic Id (see Sample Dat ## Sample Data -The semantic models in the business context are defined in the PURIS Adoption View. This chapter gives additional information for each aspect model by providing the example data objects in JSON format, link to the RDF turtle file on GitHub and unique semantic id of the aspect model. +The semantic models in the business context are defined in the PURIS Adoption View. This chapter gives additional +information for each aspect model by providing the example data objects in JSON format, link to the RDF turtle file on +GitHub and unique semantic id of the aspect model. ### 1. Item Stock v.2.0.0 -GitHub link to semantic data model in RDF turtle format: +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.item_stock/2.0.0/ItemStock.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.item_stock/2.0.0/ItemStock.ttl) + This aspect model has the following semantic id: -`urn:samm:io.catenax.item_stock:2.0.0#ItemStock` +```text +urn:samm:io.catenax.item_stock:2.0.0#ItemStock +``` -**Example**: Item stock of 20 pieces for an order position of a given material with the Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". This data object is created by the customer for its supplier, therefore with a direction "INBOUND". +**Example:** Item stock of 20 pieces for an order position of a given material with the Catena-X ID "urn:uuid: +48878d48-6f1d-47f5-8ded-a441d0d879df". This data object is created by the customer for its supplier, therefore with a +direction "INBOUND". ```json { "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "positions": [ { - "orderPositionReference": { - "supplierOrderId": "M-Nbr-4711", - "customerOrderId": "C-Nbr-4711", - "customerOrderPositionId": "PositionId-01" - }, - "allocatedStocks": [ { - "isBlocked": false, - "stockLocationBPNA": "BPNA1234567890ZZ", - "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", - "quantityOnAllocatedStock": { - "value": 20.0, - "unit": "unit:piece" + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" }, - "stockLocationBPNS": "BPNS1234567890ZZ" - } ] - } ], + "allocatedStocks": [ + { + "isBlocked": false, + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "quantityOnAllocatedStock": { + "value": 20.0, + "unit": "unit:piece" + }, + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ] + } + ], "direction": "INBOUND" } ``` ### 2. Short-Term Material Demand v1.0.0 -GitHub link to semantic data model in RDF turtle format: +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.short_term_material_demand/1.0.0/ShortTermMaterialDemand.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.short_term_material_demand/1.0.0/ShortTermMaterialDemand.ttl) + This aspect model has the following semantic id: -`urn:samm:io.catenax.short_term_material_demand:1.0.0#ShortTermMaterialDemand` +```json +urn:samm:io.catenax.short_term_material_demand:1.0.0#ShortTermMaterialDemand +``` -**Example 1**: A demand quantity of 180 pieces with a demand category "series" and a demand quantity of 100 pieces with demand category "after-sales" for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". The customer location varies for the different demand series. This Short-Term Material Demand is the demand that a supplier received from a customer. +**Example 1:** A demand quantity of 180 pieces with a demand category "series" and a demand quantity of 100 pieces with +demand category "after-sales" for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". The +customer location varies for the different demand series. This Short-Term Material Demand is the demand that a supplier +received from a customer. ```json { @@ -521,151 +643,182 @@ This aspect model has the following semantic id: ### 3. Delivery Information v2.0.0 -GitHub link to semantic data model in RDF turtle format: +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.delivery_information/2.0.0/DeliveryInformation.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.delivery_information/2.0.0/DeliveryInformation.ttl) + This aspect model has the following semantic id: -`urn:samm:io.catenax.delivery_information:2.0.0#DeliveryInformation` +```text +urn:samm:io.catenax.delivery_information:2.0.0#DeliveryInformation +``` -The JSONs snippets below provide an example of the value-only serialization of the "DeliveryInformation" aspect model for three different delivery situations: +The JSONs snippets below provide an example of the value-only serialization of the "_DeliveryInformation_" aspect model +for three different delivery situations: 1. A not yet departed delivery - estimated departure and arrival dates 2. A delivery in transit - actual departure and estimated arrival dates 3. A delivery with actual arrival times - actual departure and arrival dates -**Example 1**: The order has not yet departed from its origin, as is indicated by the estimated values for both departure and arrival (see transitEvents property). This is an example of estimated delivery. +**Example 1:** The order has not yet departed from its origin, as is indicated by the estimated values for both +departure and arrival (see transitEvents property). This is an example of estimated delivery. ```json { "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "positions": [ { - "orderPositionReference": { - "supplierOrderId": "M-Nbr-4711", - "customerOrderId": "C-Nbr-4711", - "customerOrderPositionId": "PositionId-01" - }, - "deliveries": [ { - "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", - "deliveryQuantity": { - "value": 20.0, - "unit": "unit:piece" + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" }, - "transitEvents": [ { - "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", - "eventType": "estimated-departure" - }, + "deliveries": [ { - "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", - "eventType": "estimated-arrival" - } ], - "trackingNumber": "1Z9829WDE02128", - "incoterm": "EXW", - "transitLocations": { - "destination": { - "bpnsProperty": "BPNS0000000410ZZ", - "bpnaProperty": "BPNA0000002082ZZ" - }, - "origin": { - "bpnsProperty": "BPNS0000000185ZZ", - "bpnaProperty": "BPNA0000001982ZZ" + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "estimated-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "estimated-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } } - } - } ] - } ] + ] + } + ] } ``` -**Example 2**: The status of this delivery is currently in transit, denoted by the actual departure and estimated arrival values (see transitEvents property). +**Example 2:** The status of this delivery is currently in transit, denoted by the actual departure and estimated +arrival values (see transitEvents property). ```json { "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "positions": [ { - "orderPositionReference": { - "supplierOrderId": "M-Nbr-4711", - "customerOrderId": "C-Nbr-4711", - "customerOrderPositionId": "PositionId-01" - }, - "deliveries": [ { - "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", - "deliveryQuantity": { - "value": 20.0, - "unit": "unit:piece" + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" }, - "transitEvents": [ { - "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", - "eventType": "actual-departure" - }, + "deliveries": [ { - "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", - "eventType": "estimated-arrival" - } ], - "trackingNumber": "1Z9829WDE02128", - "incoterm": "EXW", - "transitLocations": { - "destination": { - "bpnsProperty": "BPNS0000000410ZZ", - "bpnaProperty": "BPNA0000002082ZZ" - }, - "origin": { - "bpnsProperty": "BPNS0000000185ZZ", - "bpnaProperty": "BPNA0000001982ZZ" + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "actual-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "estimated-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } } - } - } ] - } ] + ] + } + ] } ``` -**Example 3**: As seen from the actual departure and actual arrival values (see transitEvents property), this is an example of a completed delivery. +**Example 3:** As seen from the actual departure and actual arrival values (see transitEvents property), this is an +example of a completed delivery. ```json { "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "positions": [ { - "orderPositionReference": { - "supplierOrderId": "M-Nbr-4711", - "customerOrderId": "C-Nbr-4711", - "customerOrderPositionId": "PositionId-01" - }, - "deliveries": [ { - "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", - "deliveryQuantity": { - "value": 20.0, - "unit": "unit:piece" + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" }, - "transitEvents": [ { - "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", - "eventType": "actual-departure" - }, + "deliveries": [ { - "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", - "eventType": "actual-arrival" - } ], - "trackingNumber": "1Z9829WDE02128", - "incoterm": "EXW", - "transitLocations": { - "destination": { - "bpnsProperty": "BPNS0000000410ZZ", - "bpnaProperty": "BPNA0000002082ZZ" - }, - "origin": { - "bpnsProperty": "BPNS0000000185ZZ", - "bpnaProperty": "BPNA0000001982ZZ" + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "actual-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "actual-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } } - } - } ] - } ] + ] + } + ] } ``` ### 4. Planned Production Output Exchange v2.0.0 -GitHub link to semantic data model in RDF turtle format: +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl) + This aspect model has the following semantic id: -`urn:samm:io.catenax.planned_production_output:2.0.0#PlannedProductionOutput` +```text +urn:samm:io.catenax.planned_production_output:2.0.0#PlannedProductionOutput +``` -Example: The *Planned Production Output* quantities for three consecutive days in two different sites (BPNS) for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". +**Example:** The _Planned Production Output_ quantities for three consecutive days in two different sites (BPNS) for a +material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". ```json { @@ -709,19 +862,71 @@ Example: The *Planned Production Output* quantities for three consecutive days i } ``` -## Reference Implementation +### 5. Days of Supply v2.0.0 -The [PURIS demonstrator and its documentation](https://github.com/eclipse-tractusx/puris/tree/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/docs) are available at the Eclipse-TractusX GitHub. -The application serves as a reference implementation for the item stock, allowing to +GitHub link to semantic data model in RDF turtle +format: -- request item stocks from partners -- provide item stocks to partners -- import item stock data for provision +This aspect model has the following semantic id: -Arc42 of PURIS is found [here](https://github.com/eclipse-tractusx/puris/blob/main/docs/arc42/Index.md). +```text +urn:samm:io.catenax.days_of_supply:2.0.0#DaysOfSupply +``` -### Setup +**Example 1:** The _Days of Supply_ for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" for +one specific date. This data object is send from a customer to its supplier. The direction INBOUND (or incoming) +specifies that the value of days of supply refers to the amount of days in which the customer's _Item Stock_ (material +stock) is sufficient for the customer's _Short-Term Material Demand_. -The PURIS demonstrator can be deployed by following the [Project Installation](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/INSTALL.md) guide. -To run a test scenario locally, follow the [local testing and development guide](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/INSTALL.md). -A guide to run the integration tests is found [here](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/postman/README.md). +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "allocatedDaysOfSupply": [ + { + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "amountOfAllocatedDaysOfSupply": [ + { + "date": "2024-01-01T14:23:00+01:00", + "daysOfSupply": 3.51 + } + ], + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ], + "direction": "INBOUND" +} +``` + +**Example 2**: The _Days of Supply_ for a product with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" for +three specific dates. This data object is send from a supplier to its customer. The direction OUTBOUND (or outgoing) +specifies that the value of days of supply refers to the amount of days in which the supplier's _Item Stock_ (product +stock) is sufficient for the supplier's scheduled deliveries (see _Delivery Information_ standard). + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "allocatedDaysOfSupply": [ + { + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "amountOfAllocatedDaysOfSupply": [ + { + "date": "2024-02-01T14:23:00+01:00", + "daysOfSupply": 3.51 + }, + { + "date": "2024-02-02T14:23:00+01:00", + "daysOfSupply": 4.25 + }, + { + "date": "2024-02-03T14:23:00+01:00", + "daysOfSupply": 2.78 + } + ], + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ], + "direction": "OUTBOUND" +} +``` diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg new file mode 100644 index 00000000000..a39dff78a0a --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg @@ -0,0 +1,4 @@ + + + +
          represents same material
          equivalent specific asset IDs, global asset ID,
          different AAS ID
          represents same material...
          PartType for Material (e.g. "Semiconductor")
          PartType for Material...
          Supplier
          Supplier
          Customer
          Custom...
          Asset
          registered in dDTR as AAS
          Asset...
          Submodel
          Submodel
          PartType for Material "Control Unit"
          PartType for Materia...
          Item Stock
          (Direction = Outgoing)
          Item Stock...
          Item Stock
          (Direction = Incoming)
          Item Stock...
          PartTypeInformation
          PartTypeInformation
          SingleLevelUsageAs Planned
          SingleLevelUsageAs P...
          references twin
          references twin
          PartTypeInformation
          PartTypeInformation
          SingleLevel
          BomAsPlanned
          SingleLevel...
          references twin
          references twin
          submodel of
          submodel of
           Legend
           Legend
          Digital Twin in DTR
          Digital Twin in DTR
          Submodel (this KIT)
          Submodel (this KIT)
          Submodel (IC Part Type)
          Submodel (IC Part Type)
          submodel of
          submodel of
          references twin
          references twin
          PartType for Material "Semiconductor"
          PartType for Materia...
          Short-Term Material Demand
          Short-Term Material Dem...
          Delivery Information
          (Inco Term dependent)
          Delivery Information...
          Planned Production Output
          Planned Production Outp...
          Delivery Information
          (Inco Term dependent)
          Delivery Information...
          Days of Supply
          (Direction = Outgoing)
          Days of Supply...
          Days of Supply
          (Direction = Incoming)
          Days of Supply...
          submodel of
          submodel of
          submodel of
          submodel of
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license new file mode 100755 index 00000000000..dc254b0d581 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-Conceptual-levels-R2405.svg diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.png b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.png deleted file mode 100644 index 63cf9fecf70..00000000000 Binary files a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.png and /dev/null differ diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg new file mode 100644 index 00000000000..402af7add38 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg @@ -0,0 +1,3 @@ + + +
          represents same material
          equivalent specific asset IDs, global asset ID,
          different AAS ID
          represents same material...
          PartType for Material (e.g. "Semiconductor")
          PartType for Material...
          Supplier
          Supplier
          Customer
          Custom...
          Asset
          registered in dDTR as AAS
          Asset...
          Submodel
          Submodel
          PartType for Material "Control Unit"
          PartType for Materia...
          Item Stock
          (Direction = Outgoing)
          Item Stock...
          Item Stock
          (Direction = Incoming)
          Item Stock...
          PartTypeInformation
          PartTypeInformation
          SingleLevelUsageAs Planned
          SingleLevelUsageAs P...
          references twin
          references twin
          PartTypeInformation
          PartTypeInformation
          SingleLevel
          BomAsPlanned
          SingleLevel...
          references twin
          references twin
          submodel of
          submodel of
           Legend
           Legend
          Digital Twin in DTR
          Digital Twin in DTR
          Submodel (this KIT)
          Submodel (this KIT)
          Submodel (IC Part Type)
          Submodel (IC Part Type)
          submodel of
          submodel of
          references twin
          references twin
          PartType for Material "Semiconductor"
          PartType for Materia...
          Short-Term Material Demand
          Short-Term Material Dem...
          Delivery Information
          (Inco Term dependent)
          Delivery Information...
          Planned Production Output
          Planned Production Outp...
          Delivery Information
          (Inco Term dependent)
          Delivery Information...
          Days of Supply
          (Direction = Outgoing)
          Days of Supply...
          Days of Supply
          (Direction = Incoming)
          Days of Supply...
          submodel of
          submodel of
          submodel of
          submodel of
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license new file mode 100644 index 00000000000..dc254b0d581 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-Conceptual-levels-R2405.svg diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg new file mode 100644 index 00000000000..97177abc934 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg @@ -0,0 +1,4 @@ + + + +
          «data ecosystem»
          Catena-X
          «data ecosystem»...
          «system»
          PURIS (OTHER PARTNER)
          «system»...
          «system»
          PURIS
          «system»...
          «subsystem»
          Data Provisioning
          & Transformation
          «subsystem»...
          Submodel API
          Submodel API
          «subsystem»
          PURIS App
          «subsystem»...
          View Catalog (Data Offers),
          Negotiate Contracts,
          Initialize Data Transfer,
          Perform Data Transfer
          View Catalog (Data Offers),...
          Lookup Twin and
          Submodels via proxy
          Lookup Twin and...
          «subsystem»
          Connector
          «subsystem»...
          Receive OWN Data
          Receive OWN Data
          Register Digital Twin Registry
          Register Submodels as Assets
          Query Partner Data,
          Negotiate Contract,
          Initialize Data Transfer
          Register Digital Twin Registry...
          «Service»
          Discovery Service
          «Service»...
          Update OWN data
          Transform PARTNER data
          Update OWN data...
          Lookup Twin
          and Submodel
          Lookup Twin...
          «subsystem»
          Connector
          «subsystem»...
          «subsystem»
          PURIS App
          «subsystem»...
          Provide Data
          Provide Data
          Provide Data to Partner
          via Proxy
          Provide Data to Partner...
          Lookup partners' EDC address
          Lookup partners' EDC address
          Internal Systems
          I...
          Other interaces
          O...
          «subsystem»
          Digital Twin Registry
          «subsystem»...
          Retrieve OWN Data
          Retrieve OWN Data
          Reqister / Update Shell Descriptor with
           Submodel Descriptor
          Reqister / Update Shell Descri...
          AAS Discovery API
          AAS Discovery API
          AAS Discovery API
          AAS Registry API
          AAS Discovery API...
          «subsystem»
          Digital Twin Registry
          «subsystem»...
          Submodel API
          Submodel API
          AAS Discovery API
          AAS Discovery API
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license new file mode 100755 index 00000000000..79dea71f211 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-KIT-24.08-Whitebox.svg diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg new file mode 100644 index 00000000000..d6bd1358e8f --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg @@ -0,0 +1,3 @@ + + +
          «data ecosystem»
          Catena-X
          «data ecosystem»...
          «system»
          PURIS (OTHER PARTNER)
          «system»...
          «system»
          PURIS
          «system»...
          «subsystem»
          Data Provisioning
          & Transformation
          «subsystem»...
          Submodel API
          Submodel API
          «subsystem»
          PURIS App
          «subsystem»...
          View Catalog (Data Offers),
          Negotiate Contracts,
          Initialize Data Transfer,
          Perform Data Transfer
          View Catalog (Data Offers),...
          Lookup Twin and
          Submodels via proxy
          Lookup Twin and...
          «subsystem»
          Connector
          «subsystem»...
          Receive OWN Data
          Receive OWN Data
          Register Digital Twin Registry
          Register Submodels as Assets
          Query Partner Data,
          Negotiate Contract,
          Initialize Data Transfer
          Register Digital Twin Registry...
          «Service»
          Discovery Service
          «Service»...
          Update OWN data
          Transform PARTNER data
          Update OWN data...
          Lookup Twin
          and Submodel
          Lookup Twin...
          «subsystem»
          Connector
          «subsystem»...
          «subsystem»
          PURIS App
          «subsystem»...
          Provide Data
          Provide Data
          Provide Data to Partner
          via Proxy
          Provide Data to Partner...
          Lookup partners' EDC address
          Lookup partners' EDC address
          Internal Systems
          I...
          Other interaces
          O...
          «subsystem»
          Digital Twin Registry
          «subsystem»...
          Retrieve OWN Data
          Retrieve OWN Data
          Reqister / Update Shell Descriptor with
           Submodel Descriptor
          Reqister / Update Shell Descri...
          AAS Discovery API
          AAS Discovery API
          AAS Discovery API
          AAS Registry API
          AAS Discovery API...
          «subsystem»
          Digital Twin Registry
          «subsystem»...
          Submodel API
          Submodel API
          AAS Discovery API
          AAS Discovery API
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license new file mode 100644 index 00000000000..79dea71f211 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-KIT-24.08-Whitebox.svg diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg new file mode 100644 index 00000000000..fcac834a754 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
          Data Provider
          Data Provider
          Connector
          Connector
          Busines Application
          Busines App...
          Catena-X Core Service Provider
          Catena-X Core Service Provider
          IAM
          IAM
          Shared Identity Provider
          Shared Ident...
          Central Identity Provider
          Central Iden...
          Credential Service
          Credential S...
          BPN-DID Resolution Service
          BPN-DID Reso...
          Data Consumer
          Data Consumer
          Connector
          Connector
          Busines Application
          Busines Applicati...
            Authentication / Authorization  
            Authentication / Authorization  
            Authentication / Authorization  
            Authentication / Authorization  
          (8) Get Submodel
          (8) Get Su...
          (5) Query dDTR for Twin and submodel
          (5) Query dDTR for Twin and submodel
          (4) Connector Communication
            (Catalog / Contracting / Transfer)  
          (4) Connector Communication...
          dDTR
          dDTR
          Submodel Endpoint
          Submodel E...
          (10) Get Submodel
          (10) Get S...
          (3) Register Twin
          with Submodels
          (3) Register Twin...
          (2) Register Submodel Endpoint
           at Connector
          (2) Register Submodel Endpoint...
          (9)
          (9)
          Text
          Text
          (6) Get lookup/shells
          by specific asset ids
          (6) Get lookup/shells...
          (1) Register dDTR at Connector
          (1) Register dDTR at Connector
          (7) Get shell-descriptors
          by AAS ID
          (7) Get shell-descriptors...
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license new file mode 100755 index 00000000000..f089cee51e3 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-R2405-architecture-sketch.svg diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.png b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.png deleted file mode 100644 index bb9da104407..00000000000 Binary files a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.png and /dev/null differ diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg new file mode 100644 index 00000000000..534f4d4f49f --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg @@ -0,0 +1,3 @@ + + +
          Data Provider
          Connector
          Busines Application
          Catena-X Core Service Provider
          IAM
          Shared Identity Provider
          Central Identity Provider
          Credential Service
          BPN-DID Resolution Service
          Data Consumer
          Connector
          Busines Application
            Authentication / Authorization  
            Authentication / Authorization  
          (8) Get Submodel
          (5) Query dDTR for Twin and submodel
          (4) Connector Communication
            (Catalog / Contracting / Transfer)  
          dDTR
          Submodel Endpoint
          (10) Get Submodel
          (3) Register Twin
          with Submodels
          (2) Register Submodel Endpoint
           at Connector
          (9)
          Text
          (6) Get lookup/shells
          by specific asset ids
          (1) Register dDTR at Connector
          (7) Get shell-descriptors
          by AAS ID
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license new file mode 100644 index 00000000000..f089cee51e3 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-R2405-architecture-sketch.svg diff --git a/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg new file mode 100755 index 00000000000..66868ea017e --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg @@ -0,0 +1,4 @@ + + + +
          Short Term Material Demand
          Short Term Mater...
          Item Stock
          Item Stock
          Delivery Information
          Delivery Informa...
          Days of Supply
          Days of Supply
          SC Disruption Notification
          SC Disruption No...
          Planned Production Output
          Planned Producti...
          Item Stock
          Item Stock
          Delivery Information
          Delivery Informa...
          Days of Supply
          Days of Supply
          SC Disruption Notification
          SC Disruption No...
          Data Exchange
          Data Exchange
          Data Exchange
          Data Exchange
          Supplier
          Supplier
          Customer
          Customer
          Tier-n
          Tier-n
          Tier-2
          Tier-2
          OEM
          OEM
          Tier-1
          Tier-1
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license new file mode 100755 index 00000000000..c403e99de11 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/PURIS_KIT_overview.drawio.svg diff --git a/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg new file mode 100755 index 00000000000..017776e8d07 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg @@ -0,0 +1,3 @@ + + +
          Short Term Material Demand
          Short Term Mater...
          Item Stock
          Item Stock
          Delivery Information
          Delivery Informa...
          Days of Supply
          Days of Supply
          SC Disruption Notification
          SC Disruption No...
          Planned Production Output
          Planned Producti...
          Item Stock
          Item Stock
          Delivery Information
          Delivery Informa...
          Days of Supply
          Days of Supply
          SC Disruption Notification
          SC Disruption No...
          Data Exchange
          Data Exchange
          Data Exchange
          Data Exchange
          Supplier
          Supplier
          Customer
          Customer
          Tier-n
          Tier-n
          Tier-2
          Tier-2
          OEM
          OEM
          Tier-1
          Tier-1
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license new file mode 100644 index 00000000000..29155d66dcf --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/PURIS_KIT_overview.svg diff --git a/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg b/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg new file mode 100644 index 00000000000..0c1d1ae6492 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg @@ -0,0 +1,4 @@ + + + +
          • Production Plan
          • Stocks
          • Demand
          • ...
          PURIS & ecosystem, showing the novelty and value-added process
          In addition to improving the traditional management of shortage cases, PURIS enables continuous monitoring of critical parts to proactively prevent supply chain bottlenecks.
          Supplier
          Shortage Management
          .xls
          Customer
          Shortage Management
          Supplier
          Shortage Management
          Customer
          Shortage Management
          Monitoring
          Monitoring
          • Production plan
          • Stocks
          • Demands
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg.license b/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg.license new file mode 100755 index 00000000000..769aeab3475 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/example-use-case.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/example-use-case.svg diff --git a/docs-kits/kits/PURIS Kit/assets/example-use-case.svg b/docs-kits/kits/PURIS Kit/assets/example-use-case.svg new file mode 100644 index 00000000000..6a61fc8e283 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/example-use-case.svg @@ -0,0 +1,3 @@ + + +
          • Production Plan
          • Stocks
          • Demand
          • ...
          PURIS & ecosystem, showing the novelty and value-added process
          In addition to improving the traditional management of shortage cases, PURIS enables continuous monitoring of critical parts to proactively prevent supply chain bottlenecks.
          Supplier
          Shortage Management
          .xls
          Customer
          Shortage Management
          Supplier
          Shortage Management
          Customer
          Shortage Management
          Monitoring
          Monitoring
          • Production plan
          • Stocks
          • Demands
          \ No newline at end of file diff --git a/docs-kits/kits/PURIS Kit/assets/example-use-case.svg.license b/docs-kits/kits/PURIS Kit/assets/example-use-case.svg.license new file mode 100644 index 00000000000..769aeab3475 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/assets/example-use-case.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/example-use-case.svg diff --git a/docs-kits/kits/PURIS Kit/page_adoption-view.md b/docs-kits/kits/PURIS Kit/page_adoption-view.md index c0c9f6f5337..484cb6eaee5 100644 --- a/docs-kits/kits/PURIS Kit/page_adoption-view.md +++ b/docs-kits/kits/PURIS Kit/page_adoption-view.md @@ -1,232 +1,188 @@ --- id: Adoption View PURIS Kit title: Adoption View -description: 'PURIS Kit' +description: "PURIS Kit" sidebar_position: 2 --- +![PURIS kit banner](/img/kit-icons/puris-kit-icon.svg) + ### PURIS Kit ## Vision & Mission ### Vision -***Revolutionizing the Global Supply Chain Ecosystem with Integrated, Proactive Data Sharing and Collaboration*** - -The introduction of the **P**redictive **U**nit **R**eal-Time **I**nformation **S**ervice (PURIS) enriches a company's resilience strategy through enhanced data sharing, giving stakeholders heightened transparency and comprehensive information. This clarity allows PURIS users to detect supply chain issues earlier, initiate solution-finding more swiftly, and access a wider array of options, leading to more effective, cost-efficient, and environmentally friendly outcomes. By facilitating proactive anticipation, concurrent management, and reactive recovery, PURIS supports the supply chain across pre-, during-, and post-disruption phases, thereby improving operational efficiency and resilience within the Catena-X network. +**_Revolutionizing the Global Supply Chain Ecosystem with Integrated, Proactive Data Sharing and Collaboration_** -### Mission +The introduction of the **P**redictive **U**nit **R**eal-Time **I**nformation **S**ervice (PURIS) enriches a company's resilience strategy through standardized data sharing, giving stakeholders heightened transparency and comprehensive information. This clarity allows PURIS users to detect supply chain issues earlier, initiate solution-finding more swiftly, and access a wider array of options, leading to more effective, cost-efficient, and environmentally friendly outcomes. By facilitating proactive anticipation, concurrent management, and reactive recovery, PURIS supports the supply chain across pre-, during-, and post-disruption phases, thereby improving operational efficiency and resilience within the Catena-X network. -***Empowering Stakeholders with Real-time, Predictive Insights for Proactive Supply Chain Management*** + -Building on a robust foundation, PURIS is redefining the paradigms of supply chain by establishing necessary standards and guidelines that ensure a comprehensive and compliant exchange of information. This initiative is not just about data exchange; it's about transforming the very fabric of supply chain interactions to foster and enable a proactive, rather than reactive, management approach. +## Mission -At the heart of PURIS's mission is the goal to provide stakeholders with advanced capabilities that enable informed, strategic decision-making. By integrating daily and predictive data, spanning (1) **Item Stock**, (2) **Short-term Material Demand**, (3) **Planned Production Outputs**, and (4) **Delivery Information**, PURIS creates a rich data landscape. This empowers businesses to anticipate, adapt, and align their operations with both current and upcoming events. +**_Empowering Stakeholders with Real-time, Predictive Insights for Proactive Supply Chain Management_** -Key aspects of PURIS include: +The PURIS KIT provides the necessary standards, aspect models, interfaces, logics, and processes to implement a comprehensive and compliant exchange of short term supply chain key information between business partners. It intends to enhance the foundation of supply chain interactions, encouraging a proactive management approach over a reactive one. -- Ensuring that only necessary information is exchanged, maintaining privacy and compliance while offering a clear view of the supply situation based on actual, operational data. -- making the application accessible to all players in the supply chain, aiming to become a foundational building block for future industry standards. -- Facilitating a transparent, efficient, and compliant information exchange, enhancing predictive monitoring and early detection capabilities to optimize resource allocation and decision-making. -- Cultivating a collaborative environment where stakeholders can align on shared objectives, transitioning the industry towards a more transparent, predictable, and resilient supply chain ecosystem. -By considering these principles, PURIS is not just enhancing current supply chain management practices but is also paving the way for a more agile, informed, and responsive automotive industry. +The core is the exchange of supply chain key information between partners within a horizon of up to four weeks, including: -#### Example Use Case +1. **Item Stock:** Visibility of current inventory levels on both sides +2. **Short-term Material Demand**: Forecast of materials needed for production +3. **Planned Production Output:** Anticipated production output quantities +4. **Delivery Information:** Scheduled and actual deliveries and their details +5. **Days of Supply:** Information on how long the inventory on hand will last -***Empowering Stakeholders with Predictive Insights for Proactive Supply Chain Management*** +With PURIS, supply chain partners can anticipate, adapt, and align their operations to both current and future events, optimizing inventory levels, production and planning capabilities. The result is improved operational efficiency, enabling businesses to respond adequate and quickly to changes and disruptions in the supply chain. -The rapid growth of the Electric Vehicle (EV) market has presented several significant supply chain challenges for automotive manufacturers. One of the critical issues involves managing the intricate supply chain for EV batteries, which are composed of various components such as lithium, cobalt, and nickel, sourced globally. This supply chain is not only highly complex but also highly volatile, with frequent fluctuations in demand and supply affecting production schedules, inventory levels, and ultimately, delivery times to consumers. +The PURIS service enriches companies' resilience strategy by improving data sharing and providing key information between supply chain partners on demand. This enables users to identify and manage supply chain issues with enlarged foresight. The result is that \(from a process perspective\) downstream services, systems or applications can detect critical bottlenecks at an earlier stage. -In light of these challenges, the mission of PURIS, providing advanced data exchange and collaboration capabilities, becomes crucial. The mission addresses a concrete industry problem: the need for greater transparency, predictability, and efficiency in managing the EV battery supply chain. By enabling predictive insights into material shortages and facilitating daily data exchange on production outputs and material demands, stakeholders can proactively manage their operations, reduce risks of disruption, and optimize inventory management. +![Overview](assets/PURIS_KIT_overview.svg) -##### Implementation Example +_Figure 1: PURIS information exchange between partners_. -1. Automotive manufacturers and suppliers enhance transparency in the supply chain by sharing daily data— manufacturers on short-term material demand and suppliers on planned production outputs. This shared data network allows manufacturers to validate whether their production demand will be met, reducing the risk of the bullwhip effect caused by information asymmetry. Conversely, suppliers gain insights into future demand, enabling them to optimize their production schedules more effectively. While this system doesn't predict customers' call offs, it allows both parties to make informed decisions, aligning production with actual market needs and ensuring a steady supply of EV batteries. -2. By leveraging standardized item stock and delivery information exchanges, manufacturers and suppliers can view daily inventory levels across the supply chain. This visibility enables them to manage stock more effectively, minimizing excess inventory and reducing the risk of stock shortages. -3. In the face of a sudden spike in demand or an unforeseen disruption in the supply of critical materials like lithium, the standardized data exchange framework allows for seamless information sharing among stakeholders. Manufacturers can quickly communicate their needs to suppliers, who can then adjust their delivery schedules or production outputs accordingly. This dynamic collaboration ensures that production is not halted and that customer demand is met without delay. +Key aspects of PURIS are: -##### Impact & Benefits +- **Standardized information exchange**: Base for a fast and effective handling of shortages and enhances early detection capabilities for optimized supply chain decision-making. +- **Short-term focus:** PURIS targets a period of 0-4 weeks, although longer periods are not technically restricted. +- **Collaborative approach**: Equal and fair data exchange \(quid-pro-quo\) between partners \(1-up / 1-down\), leading to a more transparent, predictable, and resilient supply chain ecosystem. +- **Data usage control and compliance**: PURIS employs the Catena-X data space to ensure the required level of data security and sovereignty for all participants. +- **Accessibility**: PURIS provides a FOSS \(Free and Open-Source Software\) reference implementation that aims to keep the entry threshold for participating in PURIS as low as possible, making it easier for smaller businesses to participate and take advantage of the benefits. -This use case illustrates how PURIS enhancing data collaboration directly addresses the challenges of the EV battery supply chain. By providing a comprehensive, daily view of demand, stock levels, and production schedules, stakeholders can make informed decisions, respond flexibly to changes, and maintain efficient operations. Ultimately, this leads to shorter lead times, cost reductions, and a more responsive supply chain, benefiting manufacturers, suppliers, and consumers alike in the rapidly evolving EV market. - -## Business Value +By considering these principles, PURIS is not just enhancing current supply chain management practices but is also paving the way for a more agile, informed, and responsive automotive industry -The traditional approach to managing supply chains is often unflexible and manual, leading to delays and limited proactive actions. This is particularly challenging when dealing with potential shortages that can affect the entire supply chain. -PURIS transforms this by creating a collaborative network within the CATENA-X data space, where partners, including suppliers and customers, share and use daily data. This approach allows for a dynamic and interconnected supply chain management, enhancing the ability to monitor supply and demand, identify potential issues early, and make informed decisions. -The benefits of adopting PURIS and the KIT for suppliers and customers include: +## Today's Challenge -- **Enhanced Operational Efficiency**: Automation and daily data sharing improve processes, reduce errors, and enhance inventory management, leading to lower costs, faster lead times, and better market responsiveness. -- **Strategic Supply Chain Resilience**: Predictive analytics help anticipate and mitigate risks, ensuring continuous and reliable service, maintaining customer trust, and safeguarding revenue. -- **Data-Driven Decision Making**: Access to comprehensive data supports advanced analytics and informed strategic choices, fostering innovation and tailored services for the automotive industry. -- **Ecosystem Collaboration and Innovation**: Participation in the Catena-X data space fosters collaboration and innovation, driving digital transformation in the automotive sector. -- **Sustainability and Regulatory Compliance**: Improved efficiency and transparency contribute to waste reduction, lower emissions, and compliance with environmental regulations and sustainability goals. +Supply chain complexity and the frequency of crises and exceptional situations pose a growing threat of significant disruptions, supply shortages and even temporary production halts for both small and medium enterprises \(SMEs\) and large enterprises \(LEs\). Rapid response and replanning are critical, which can involve considerable expenses. Costly, drawn-out decision-making among partners who might be reluctant to share information can lead to expensive special arrangements and workarounds. The longer the problem persists, the fewer viable alternatives for ensuring a continuous supply. There is an urgent need for a better information base for decision-making. -By integrating PURIS KIT, service providers in the CATENA-X data space are not just responding to digital advancements but are actively defining the future of automotive supply chain management, emphasizing efficiency, resilience, and innovation. +Status-quo: -## Use Case / Domain explanation +1. **Supply Chain Transparency:** The lack of up-to-date data and transparency in the supply chain makes it difficult to anticipate disruptions and actual demand, manage production and inventory efficiently, and ensure timely deliveries. Complex and Volatile Supplier Network: The supply chain, with its widespread and diverse suppliers, faces visibility and control challenges. Demand volatility, influenced by key companies, impacts forecasting and immediate needs. +2. **Inefficient communication:** Manual and non-standardized information exchange, e.g. via Excel or phone, between partners is slow and can lead to misunderstandings, errors and unnecessary effort, which in turn negatively impacts the supply situation and increases costs. +3. **Lack of Trust:** Reluctance to share sensitive information, such as inventory levels, demand forecasts, and production capacities hinders the flow of critical information and prevent the formation of a cohesive, collaborative supply chain network. This can lead to a siloed and inefficient supply chain, where the best and most sustainable solutions are not realized. Consequences are missed opportunities, increased costs, and decreased competitiveness. -Given the context of the automotive industry and the integration of PURIS within the Catena-X network, let's delve into a specific use case domain: Optimization of supply chain visibility for electric vehicle (EV) production. This use case aims to address the challenges of electric vehicle manufacturing, which requires a complex network of suppliers and a high degree of component diversity. +Moreover, currently only proprietary systems are available, which are insufficiently scalable and also involve a vendor lock-in. This highlights the need for an open standard and a FOSS \(Free and Open Source Software\) reference implementation. Moreover, these systems often have a long-term focus on demand and capacity management. -### Today's Challenge - -The shift to electric vehicle (EV) production presents companies with new and distinct challenges, particularly due to the complex and often volatile supply chain for EV components such as batteries, electric motors, and power electronics. Manufacturers frequently encounter challenges like unpredictable lead times, fluctuating demand for raw materials, and the need for stringent quality and safety standards. These factors lead to inefficiencies and elevated production costs, underscoring the importance of reliable supply chains to address these challenges effectively. - -Challenge +## Business Value -1. Supply Chain Opacity: The lack of daily data and transparency in the supply chain makes it difficult to anticipate disruptions, manage inventory efficiently, and ensure timely delivery of components. -2. Complex and Volatile Supplier Network: The EV supply chain, with its widespread and diverse suppliers, faces visibility and control challenges. Demand volatility, influenced by key companies, impacts forecasting and immediate needs. Enhanced visibility can reduce costs by improving inventory management. -3. Regulatory and Environmental Compliance: With increasing regulation on carbon emissions and waste, there is a pressing need for manufacturers to ensure sustainable practices along the entire supply chain. +The traditional approach to managing supply chains is often inflexible and involves a high degree of manual work, leading to delays and limited opportunities for proactive measures. This is particularly challenging when dealing with potential shortages that can affect the entire supply chain. -Opportunities +PURIS transforms this by creating a collaborative network within the Catena-X data space, where partners, including suppliers and customers, share and use daily data. This approach allows for a dynamic and interconnected supply chain management, enhancing the ability to monitor supply and demand, identify potential issues early, and make informed decisions. -1. Increased Resilience: By engaging in this use case, stakeholders commit to a resilient supply chain capable of withstanding disruptions and adapting to changes in demand or supply conditions. -2. Innovation and Competitive Advantage: Embracing digital transformation through Catena-X compliant systems provides a foundation for innovation, allowing for novel solutions in EV production and beyond. -3. Sustainability and Compliance: Meeting the growing demands for environmental sustainability and regulatory compliance becomes attainable, enhancing brand reputation and stakeholder trust. +The benefits of adopting the PURIS KIT for suppliers and customers include: -### Benefits for LE (OEM, tier 1, etc.), SME, Solution Provider +**Improved Efficiency and Data Quality**: -- **For Large Enterprises (LEs)**: Achieving daily visibility into the supply chain not only optimizes inventory levels and reduces lead times but also aids in strategic decision-making for future product developments. LEs benefit from enhanced agility, allowing them to better respond to market demand and regulatory changes while minimizing environmental impact. -- **For Small and Medium-sized Enterprises (SMEs)**: Currently companies often need to integrate to different customers' solutions to provide data or do it manually. Being part of a standardized, transparent network levels the playing field, giving SMEs the opportunity to showcase their capabilities and integrate more effectively into the supply chains of larger OEMs. It also reduces the barriers to entry for new markets and facilitates access to critical information that can drive operational improvements and innovation. -- **For Solution Providers**: Solution providers should align with Catena-X by offering interoperable, standardized services for the supply chain. This includes predictive analytics and collaborative platforms, enhancing innovation without risking lock-in, and promoting a competitive ecosystem. +- Less manual information gathering through automated exchange of required supply chain information. +- Higher data quality and reliability through the use of standardized plan and actual data. +- Efficient planning by having a broader information and decision base. -### Use Case Conclusion +**Better Visibility and Collaboration**: -Addressing the challenge of optimizing supply chain visibility for EV production through the Catena-X network and KIT system provides tangible benefits for all stakeholders involved, from reducing operational inefficiencies and costs to fostering sustainability and innovation. The collaboration facilitated by this ecosystem encourages sharing of best practices, co-development of standards, and joint efforts in solving industry-wide challenges, ultimately leading to a more coherent, resilient, and sustainable automotive sector. +- Shared view of the supply and demand situation between partners; especially in tight supply situations. +- Data sovereignty through the usage of Catena-X standards and principles as a base for trustful cooperation. -## Semantic Models +**Cost Reduction and Sustainability**: -The information about the provided PURIS standardization objects is detailed in this section. It's used in ongoing business relationships and build-to-order (BTO) contexts, not for build-to-stock (BTS) situations without existing business ties. +- Reduced costs through avoidance of downtime, production holds and overstocks. +- Contribute to waste reduction, lower emissions, and compliance with environmental regulations and sustainability goals by avoiding unnecessary logistics measures, such as underutilized transportation of small quantities. -| Semantic Model | Version | Link to GitHub Repository | -| ------------------------------------------ | :-----: | ----------------------------------------------------------------------------------------------------------------------------------------------- | -| Item Stock (Release 24.05) | v.2.0.0 | [io.catenax.item_stock](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.item_stock) | -| Short-Term Material Demand (Release 24.05) | v.1.0.0 | [io.catenax.material_demand](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.material_demand) | -| Planned Production Output (Release 24.05) | v.2.0.0 | [io.catenax.planned_production_output](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.planned_production_output) | -| Delivery Information (Release 24.05) | v.2.0.0 | [io.catenax.delivery_information](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.delivery_information) | +Overall, adapting PURIS helps businesses achieve operational excellence, strategic resilience, data-driven decision making, collaborative innovation, and sustainability, all while reducing costs and improving market responsiveness. -### Item Stock +**Benefits for Large Enterprises, Small and Medium-sized Enterprises, and Solution Provider**: -The Item Stock is the amount of material allocated to a partner that hasn't been shipped from the supplier and sits in the outbound warehouse or that has reached the customer but hasn't been used yet and sits in the inbound warehouse. By standardizing the Item Stock's definition and provisioning data via digital twins, all participants in the supply chain can share details about their material and product inventory quickly. This improves coordination and increases the options available to address any supply shortages. +- **For OEMs and large suppliers:** + - **Increased overall supply chain efficiency:** When a critical mass of participants is reached, the PURIS standard can increase efficiency of the entire supply chain, ultimately benefiting OEMs and large Tier-1s at the end of the chain. + - **Lower operating and maintenance costs:** Consolidating and standardizing data flow through the PUris standard can reduce operating and maintenance costs for proprietary systems. + - **Avoid vendor lock-in:** With the PURIS standard, there is no need to depend on a dominant solutions provider that can result in vendor lock-in. +- **For Small and Medium-sized Enterprises \(SMEs\):** + - **Single integration point:** With PURIS there is just a single integration point, reducing the complexity and costs of managing and serving multiple customer interfaces, systems and platforms. + - **Bi-directional data exchange:** One of the significant benefits of PURIS is that it enables small and medium companies to receive information in addition to providing it. This bi-directional data exchange on equal footing reduces blind decision-making and guesswork, allowing for more informed decision-making and collaboration + - **Competitive advantage:** Using the PURIS standard can give a competitive advantage when bidding for contracts, as compliance with the PURIS standard can be favored in some procurement processes. By adopting the PURIS standard, it can be demonstrated to potential partners that a SME ist committed to data exchange best practices, making it a more attractive partner for collaboration and contract opportunities. +- **For Solution Providers:** + - **Scaling solutions:** Solution providers can scale their PURIS solutions in the market and thereby access new customer groups. + - **Versatile business models:** Offerings in the areas of consulting, integration, and operation allow for various business models, providing solution providers with the flexibility to tailor their services to specific customer needs. -**Benefits for LEs, SMEs, and Solution Providers**: +## Example Use Case -- **LEs**: They gain daily visibility into material availability, reducing the risk of production delays and enabling more efficient inventory management. -- **SMEs**: SMEs can enhance their responsiveness to market changes and improve supply chain collaboration, leading to better resource utilization and cost savings. -- **Solution Providers**: They can offer more valuable services by providing insights into inventory levels, helping users optimize their supply chain and reduce wastage. +In the following example, a Supply Chain Manager uses a tool similar to the PURIS reference application to monitor goods and parts. If problems arise, I can immediately check the status of my parts and respond appropriately. -### Short-Term Material Demand +**The results in detail:** -This exchange refers to the amount of material a customer's production line needs from an item from a supplier within the next four weeks. It's meant to add context to regular orders, not replace them. Customers can also clarify which demands are essential for their upcoming production and which are extra, perhaps for creating safety stocks. This extra detail helps suppliers plan their production and suggest proactive solutions for potential shortages. -**Benefits for LEs, SMEs, and Solution Providers**: +- I have a perfect view of my material pipeline towards my customer at any time. +- I can rely on updates immediately if necessary. +- This gives me confidence in my supply situation as result of my work. -- **LEs**: Enables better production planning of the supplier by providing the actual material demand, which results in reduced risk of production halts and less shortages. -- **SMEs**: Enhanced ability to communicate urgent needs, helping them maintain steady production and build safety stocks efficiently. -- **Solution Providers**: Better insight into client needs allows for tailored solutions and proactive management of supply challenges. +**Decisions about replenishment, additional transportation or other measures can be made immediately if necessary:** -### Planned Production Output +- I always have a clear perspective on the most economical booking methods, such as with agents. +- I receive immediate updates if necessary. This provides my organization with cost savings, even in critical situations, as a result of these practices. -The exchange illustrates the quantity of material a supplier intends to produce for a specific customer, as agreed upon with the partners, yet remains unmanufactured. By standardizing this exchange through digital platforms, it enables clear communication of forthcoming production volumes, allowing supply chain participants to align their expectations and planning, enhancing responsiveness to market needs and production adjustments. -**Benefits for LEs, SMEs, and Solution Providers**: +**Stressful phone calls & meetings with my customer can be reduced to exceptional situations.** -- **LEs**: They can better anticipate the availability of necessary materials, allowing for more accurate scheduling and efficient use of production resources. -- **SMEs**: SMEs gain insights into their suppliers' production plans, enabling them to adjust their strategies and operations accordingly for better resource allocation. -- **Solution Providers**: They can offer enhanced forecasting and planning services, helping clients optimize their supply chain and production processes based on upcoming production outputs. +- I no longer need to circulate Excel spreadsheets and fill them in manually. +- This means for me less stress and work load. -### Delivery Information +![Example Use Case](assets/example-use-case.svg) +_Figure 2: Use case for standardized information exchange via PURIS_ -Delivery Information includes logistics details and delivery metrics. Logistics details specify the shipment's timing, location, and quantity. Delivery metrics focus on the planned versus actual departure and arrival times, such as shipments leaving a supplier's factory or arriving at a customer's factory. The model provides data on departure and arrival dates and times, locations, quantities shipped, tracking numbers, and other essential logistics information to help coordinate and streamline the delivery process. +## Semantic Models -**Benefits for LEs, SMEs, and Solution Providers**: +The information about the provided PURIS standardization objects is detailed in this section. It's used in ongoing business relationships and build-to-order \(BTO\) contexts, not for build-to-stock \(BTS\) situations without existing business ties. -- **LEs**: Enhanced tracking and coordination of incoming and outgoing shipments, enabling better production planning and inventory management. -- **SMEs**: Improved visibility into delivery timings and quantities helps in adjusting operations, reducing storage costs, and enhancing customer satisfaction. -- **Solution Providers**: Ability to offer more accurate and timely logistics services, enhancing value to clients through better supply chain transparency and efficiency. +| Semantic Model | Semantic Model Version | Standard name | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------: | :-----------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Item Stock](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.item_stock/2.0.0) | v.2.0.0 | CX-0122 | Item Stock includes materials in the outbound warehouse or inbound at the customer's site. Standardizing its definition and using digital twins for data sharing allows quick inventory updates across the supply chain, improving coordination and addressing supply shortages. | +| [Short-Term Material Demand](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.short_term_material_demand/1.0.0) | v.1.0.0 | CX-0120 | This exchange specifies the material a customer's production line needs from a supplier in the next four weeks. It adds context to regular orders, highlighting essential demands and extra requests for safety stocks. This detail helps suppliers plan and address potential shortages proactively. | +| [Planned Production Output](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.planned_production_output/2.0.0) | v.2.0.0 | CX-0121 | This exchange shows the agreed but unmanufactured material quantity a supplier plans to produce for a customer. Standardizing this via digital platforms ensures clear communication of future production volumes, aligning supply chain expectations and improving responsiveness to market needs. | +| [Delivery Information](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.delivery_information/2.0.0) | v.2.0.0 | CX-0118 | Delivery Information includes logistics details and metrics. It specifies shipment timing, location, quantity, and compares planned vs. actual departure and arrival times. This data, including tracking numbers and essential logistics info, helps coordinate and streamline deliveries. | +| [Days of Supply](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.days_of_supply/2.0.0) | v2.0.0 | CX-0145 | The Days of Supply \(DoS\) standard measures how long inventory can sustain operations without replenishment. This metric helps manage inventory efficiently. The standard supports proactive decisions and ensures data accuracy across the supply chain. | ## Business Process PURIS orchestrates a set of business processes within the Catena-X network, enhancing supply chain visibility and operational coordination. These processes, characterized by their adaptability to multi-sourcing strategies, are described as follows: -**Actors and Roles**: - -- **Data Senders**: Act as data consumers needing information on customers' production output and material demand. -- **Data Receivers**: Act as data providers, offering detailed information about their material demand and production plans to suppliers. - -**Data Exchange and Allocation**: +### Actors and Roles -- **Delivery Information**: Unidirectional and direct exchange of information that maintains the confidentiality of delivery data, tailored according to INCOTERMS. -- **Item Stock**: Bidirectional exchange of actual allocated inventory data, not forecasts, considering specific warehouse locations and integrating into consignment processes. -- **Planned Production Output**: Suppliers planned production output to meet customer specific requirements. -- **Short-Term Material Demand**: Complements regular orders with detailed insights into customers' immediate production material requirements, with demand data specifically broken down for each supplier. +- **Data Consumer:** Act as data consumers needing information on customers' production output and material demand. +- **Data Provider:** Act as data providers, offering detailed information about their material demand and production plans to suppliers. -**Key Processes**: +### Key Processes -- **Single Sourcing**: Direct allocation of orders and material demand in a one-to-one relationship between customer and supplier. -- **Multi-Sourcing**: One item is supplied from more than one supplier. The exchanged data must be allocated to each supplier. -- **Multi-Customer**: One item is provided to more than one customer. The exchanged data must be allocated to each customer. -- **Demand Categories**: Differentiation between regular and extraordinary demand to assist suppliers in prioritization and planning. -- **Production Planning**: Daily versus non-daily planning, with a recommendation for daily planning to enhance accuracy and responsiveness. +- **Single Sourcing:** Direct allocation of orders and material demand in a one-to-one relationship between customer and supplier. +- **Multi-Sourcing:** One item is supplied from more than one supplier. The exchanged data must be allocated to each supplier. +- **Multi-Customer:** One item is provided to more than one customer. The exchanged data must be allocated to each customer. +- **Demand Categories:** Differentiation between regular and extraordinary demand to assist suppliers in prioritization and planning. +- **Production Planning:** Daily versus non-daily planning, with a recommendation for daily planning to enhance accuracy and responsiveness. +- **Inventory Management:** Balances inventory to prevent excess and shortages, optimizing costs and enhancing supply chain responsiveness. +- **Shortage Management:** Early detection and rapid response to supply disruptions via standardized data exchange. The business process facilitated by PURIS enables partners in the Catena-X network to swiftly act on up-to-date information, adapt to the fluidity of market conditions, and develop a well-rounded view of supply chain operations. This comprehensive approach not only encourages collaborative partnerships but also advances risk mitigation strategies and bolsters the overall resilience of the supply chain ecosystem. -### Business Architecture - -#### Introduction - -PURIS enables exchange of data with suppliers and customers via standardized interfaces (see Digital Twin KIT, Industry Core KIT). The PURIS KIT delivers: - -- Operative capabilities to exchange information with direct upstream / downstream supply chain partners in a strict 1-up / 1-down manner. -- Data models that MUST be applied for the interoperable data exchange -- Process help on how to provision data correctly, especially in regard to multi-sourcing and multi-customer scenarios. -- Ideas on value-adding usage of these concepts (see use case example above). - -To allow all partners to benefit in the best way from PURIS, each involved party needs to provide their data on the basis of the latest information from the shop floor and its internal systems. - -#### Components - -From conceptual point of view a PURIS system consists of different building blocks. These building blocks in the following diagram show which participant deploys which components. Identification and Access Management is omitted for simplicity reasons. - -![PURIS KIT Architecture](resources/purisKitArchitecture.png) - -The PURIS App is a software application that allows to exchange relevant data with partners. It's meant to - -- Provide data following the shared asset approach (see Digital Twin KIT). It manages the Digital Twin Registry (AAS Registry and AAS Discovery API) and provides the data in the correct format via Submodel API. -- Manage the apis and assets in the Connector (see Connector KIT). - -The following components are needed for the communication based on the PURIS standard: - -- PURIS App = Component orchestrating the Data Exchange following this KIT (as explained above) while providing business value. -- Connector = Component that manages data and API as assets to enable the sovereign data exchange (see Connector KIT) -- Digital Twin Registry = Component that provides AAS Registry and AAS Discovery API implementations (see Digital Twin KIT) -- Data Provisioning & Transformation = Proprietary component allowing to use OWN data or to use PURIS data in internal systems. -- Identity and Access Management (IAM) = Identity Provider spanning authentication and authorization within Catena-X and / or your company. Includes the Credential Service to proof e.g. that a participant signed the Framework Agreement. - -## Logic & Schema - -PURIS enables data exchange between partners (one-up/one-down) within Catena-X using the Connector, focusing on a short-term horizon, such as 4 weeks, without imposing a strict time limit. - -- PURIS allows organizations to exchange material flow-related data with contractual partners (one-up, one-down) -- PURIS respects the data sovereignty of each participant with regard to its own data or data owner - -![PURIS communicates and exchanges data within Catena-X using the EDC.](resources/PURIS_logic.png) - ## Standards -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): +The relevant standards can be found in the [Catena-X Association Standard Library](https://catenax-ev.github.io/docs/next/standards/overview)\: -| Standard | Standard Name | Version | -| -------------------------- | ------------- | :-----: | -| Delivery Information | CX-0118 | v2.0.0 | -| Short-Term Material Demand | CX-0120 | v2.0.0 | -| Planned Production Output | CX-0121 | v2.0.0 | -| Item Stock | CX-0122 | v2.0.0 | +- [CX-0118 Delivery Information Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0118-ActualDeliveryInformationExchange) +- [CX-0120 Short-Term Material Demand Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0120-ShortTermMaterialDemandExchange) +- [CX-0121 Planned Production Output Exchange](https://catenax-ev.github.io/docs/next/standards/CX-0121-PlannedProductionOutputExchange) +- [CX-0122 Item Stock Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0122-ItemStockExchange) +- [CX-0145 Days of Supply Exchange 1.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0145-DaysofsupplyExchange) ## Notice This work is licensed under the CC-BY-4.0 - SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2024,Contributors of the Eclipse Foundation -- SPDX-FileCopyrightText: 2024,ISTOS GmbH (a member of the DMG Mori Group) -- SPDX-FileCopyrightText: 2024,Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) -- SPDX-FileCopyrightText: 2024,TRUMPF Werkzeugmaschinen SE + Co. KG -- SPDX-FileCopyrightText: 2024,Volkswagen AG +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/PURIS Kit/page_changelog.md b/docs-kits/kits/PURIS Kit/page_changelog.md index 1cb68dcc7dc..554a0d76b2d 100644 --- a/docs-kits/kits/PURIS Kit/page_changelog.md +++ b/docs-kits/kits/PURIS Kit/page_changelog.md @@ -9,6 +9,36 @@ sidebar_position: 1 All notable changes to this Kit will be documented in this file. +## [0.3.1] - 2024-08-08 + +### Changed + +- Adoption View + - Made "Customer" white font in overview graphic + - Corrected confusion of Data Consumer and Data Provider in section "Actors and Roles" + +## [0.3.0] - 2024-08-01 + +### Added + +- Development View + - Added page logo on the top + - Added "Sample Data > 5. Days of Supply v2.0.0" chapter + - Added section "Component Architecture (Conceptual Whitebox View)" with figure 2: Whitebox View on a PURIS System. + +- Operation View + - Added initial Operation View + - Moved reference implementation from the Development View to Operation View + +### Changed + +- Development View + - Updated architecture chapter: added link to the umbrella helm chart + - Updated figure 1: replaced Keycloak with SIP, CIP and BPN-DID + - Updated figure 3 (previously 2): extended with Days of Supply model + - Updated policies chapter: removed membership policy example, moved framework agreement example into the JSON example in the usage policies, add PURIS purpose explanation. + - Updated reference implementation chapter: extended the PURIS FOSS description to include all other PURIS models + ## [0.2.0] - 2024-05-29 ### Added​ diff --git a/docs-kits/kits/PURIS Kit/page_operations-view.md b/docs-kits/kits/PURIS Kit/page_operations-view.md new file mode 100644 index 00000000000..59e8e3362b1 --- /dev/null +++ b/docs-kits/kits/PURIS Kit/page_operations-view.md @@ -0,0 +1,24 @@ +--- +id: Operations View PURIS Kit +title: Operations View +description: 'PURIS Kit Operations View' +sidebar_position: 4 +--- + +![PURIS kit banner](/img/kit-icons/puris-kit-icon.svg) + +## Reference Implementation + +The [PURIS FOSS reference implementation](https://github.com/eclipse-tractusx/puris/tree/main/docs) serves as an application allowing to request and provide all information mentioned in sample data chapter. + +It also allows exchanging the Demand and Capacity Notifications which are described in the Supply Chain Disruption Notifications KIT. + +Arc42 of the implementation is found [here](https://github.com/eclipse-tractusx/puris/blob/main/docs/architecture/Index.md). + +## Setup + +The PURIS FOSS reference implementation can be deployed by following the [project Installation](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/INSTALL.md) guide. + +To run a test scenario locally, follow the [local testing and development guide](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/INSTALL.md). + +A guide to run the integration tests is found [here](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/postman/README.md). diff --git a/docs-kits/kits/PURIS Kit/resources/PURIS_logic.png b/docs-kits/kits/PURIS Kit/resources/PURIS_logic.png deleted file mode 100644 index 559b0c86f51..00000000000 Binary files a/docs-kits/kits/PURIS Kit/resources/PURIS_logic.png and /dev/null differ diff --git a/docs-kits/kits/PURIS Kit/resources/purisKitArchitecture.png b/docs-kits/kits/PURIS Kit/resources/purisKitArchitecture.png deleted file mode 100644 index e4e8c900c34..00000000000 Binary files a/docs-kits/kits/PURIS Kit/resources/purisKitArchitecture.png and /dev/null differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md new file mode 100644 index 00000000000..afac4ae97da --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md @@ -0,0 +1,240 @@ +--- +id: Adoption View PURIS-DCM Supply Chain Disruption Notifications +title: Adoption View +description: "PURIS-DCM Supply Chain Disruption Notifications" +sidebar_position: 2 +--- + +![Supply Chain Disruption Notifications kit banner](@site/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg) + +## Vision + +**_Elevating Robustness and Flexibility in the Supply Chains through Disruption Notifications_** + +The Supply Chain Disruption Notifications within the Catena-X framework embodies a transformative approach to fortify supply chains. This notification holds significant relevance beyond the automotive supply chain and can be effectively applied to other industries characterized by an n-tier supplier structure. By establishing a standardized, rapid communication for supply chain disruption notifications, this notification empowers stakeholders across the value chain to act swiftly and effectively in the face of challenges. Enhanced transparency and timely information exchange enable members to anticipate disruptions, streamline decision-making processes, and mitigate potential impacts. This proactive and collaborative framework not only elevates operational resilience but also drives cost efficiencies, reduces production downtime, and promotes a more sustainable and responsive supply chain ecosystem. By fostering rapid information flow, the Supply Chain Disruption Notifications is a significant step toward a more interconnected and resilient automotive industry. + +## Mission + +**_Enhancing Proactive Resilience in Supply Chains through Effective Disruption Notifications_** + +The Supply Chain Disruption Notification marks an important step in advancing industries' capability to preemptively manage supply chain risks. By instituting a standardized, efficient communication for disruption notifications, this standard is transforming how stakeholders anticipate, communicate, and respond to supply chain disruptions. It's not merely about relaying information; it's about redefining the essence of collaborative supply chain management to be anticipatory and strategic rather than merely responsive. + +Central to this mission is equipping stakeholders with a mechanism that delivers timely, actionable information, enabling them to make strategic decisions swiftly and effectively. Through the seamless integration of quick disruption notifications and information exchange, stakeholders gain a dynamic view of the supply chain, facilitating rapid adaptation to both imminent and potential disruptions. + +**Key facets of this mission include:** + +- Establishing a standardized framework for Supply Chain Disruption Notifications, ensuring consistency, accuracy, and speed in communication. +- Enhancing the industry's collective ability to respond to disruptions, thereby minimizing operational impact and maintaining continuity. +- Ensuring that all supply chain participants, no matter their size or role, have access to essential information, thereby promoting fairness across the industry. +- Promoting a culture of transparency and collaboration, enabling stakeholders to work together more effectively in the face of disruptions, thereby enhancing the overall resilience and agility of the automotive supply chain. + +Through these principles, the Supply Chain Disruption Notifications is not only addressing the immediate needs for better disruption management but also laying the groundwork for a more resilient, adaptive, and interconnected supply chain ecosystems. + +### Example Use Case + +#### Streamlining Disruption Management in Automotive Manufacturing + +The automotive industry, particularly in the context of increasing complexity and interconnectivity in supply chains, faces significant challenges in managing disruptions. + +Consider a scenario where an unexpected disruption occurs in the supply of aluminum, a critical material for vehicle manufacturing. This disruption could arise from various factors such as natural disasters, geopolitical tensions, or logistical challenges, impacting multiple manufacturers and their production lines. The aluminum producer (sender) must evaluate the impact and identify which products and stakeholders are affected. If the impact is significant, the sender will communicate the current situation upstream in a notification, potentially informing its supplier as well. Another scenario would be that an OEM notifies their suppliers about a significant demand increase which then potentially goes down the supply chain. + +For both scenarios, the recipient of this notification reviews the content and assesses the impact on their operations. Based on this assessment, the recipient determines whether further stakeholders need to be informed (either one level up or down the supply chain). If additional notifications are necessary, the recipient, now acting as the sender, drafts a new message (including a UID for the original message) to inform subsequent recipients. These recipients then evaluate the impact on their own operations and decide if further notifications are required. + +In this context, the "Supply Chain Disruption Notifications" plays a significant role in addressing these challenges by facilitating swift and standardized communication of supply chain disruptions. + +![Process](res/Process2SCDN.jpg) +_Figure 1: Visualisation of example use case_ + +#### Implementation Example + +1. **Disruption Notification Initiation:** When a primary supplier of aluminum faces a disruption, it utilizes the "Supply Chain Disruption Notification" to send out an alert. This notification includes detailed information about the nature of the disruption, expected impact, and the estimated duration of the disruption. +1. **Proactive Response Activation:** Based on the received notification, automotive manufacturers can quickly assess the impact on their production schedules. They can determine whether the disruption affects specific models or production lines and initiate contingency plans, such as activating alternative suppliers or adjusting production schedules to minimize the impact. The mentioned consequences and measures are not part of the "Supply Chain Disruption Notification" feature, but can be initiated significantly faster than without the feature. +1. **Collaborative Problem-Solving:** The standardized notification format allows for quick understanding and response from all impacted stakeholders (i.e. notification recipients). For instance, if a particular model is heavily affected, manufacturers can collaborate with suppliers to explore rapid procurement alternatives or adjust orders based on the real-time data provided in the notification. +1. **Feedback Loop:** As the situation evolves, the supplier continues to provide updates through the notification system, ensuring all impacted stakeholders have the latest information to make informed decisions. This ongoing communication fosters a collaborative environment where manufacturers and suppliers work together to mitigate the disruption's effects. +1. **Resolution**: As soon as the situation is finalized (e.g. solution found, crisis over, measures effective), the sender updates all impacted stakeholders through the notification system. This ensures, that all stakeholders have the latest status and can take corresponding decisions. + +#### Impact & Benefits + +This use case demonstrates the vital role of the "Supply Chain Disruption Notifications" standard in enhancing the agility and resilience of the automotive supply chain. By providing a structured and efficient way to communicate disruptions, the notification enables all involved stakeholders of the supply chain (both 1-up and 1-down) to: + +- Quickly adapt to supply chain disruptions, reducing production downtime and maintaining production continuity. +- Enhance collaboration between customers and suppliers, fostering a more responsive and flexible supply chain network. +- Make informed decisions rapidly, minimizing the financial and operational impacts of disruptions. +- Maintain transparency with stakeholders, including customers, about potential delays or changes in production. + +Ultimately, the adoption of this standard contributes to a more robust and adaptable automotive industry, capable of navigating the complexities of modern supply chains with enhanced efficiency and resilience. + +## Business Value + +Traditional supply chain management often struggles with rigidity and manual interventions, leading to inefficiencies and a reactive stance towards disruptions. The "Supply Chain Disruption Notifications" standard improves this by facilitating an integrated, real-time communication network within the Catena-X ecosystem, enabling stakeholders to swiftly respond to and manage supply chain disruptions. + +The adoption of this standard brings several advantages to all stakeholders within the supply chain: + +- **Enhanced Proactive Management:** The standard provides a mechanism for immediate notification and detailed insights into disruptions, allowing stakeholders to transition from a reactive to a proactive management approach. This enables faster decision-making and implementation of contingency plans, minimizing downtime and operational disruptions. +- **Improved Supply Chain Visibility:** By standardizing the disruption notification process, all parties gain a clearer understanding of the supply chain's current state. This visibility helps in identifying potential bottlenecks and vulnerabilities, facilitating a more robust supply chain design and operational strategy. +- **Increased Collaboration and Trust:** The standardized communication fosters a culture of transparency and collaboration among supply chain partners. Enhanced trust leads to more effective joint problem-solving and innovation, driving collective resilience against future disruptions. +- **Strategic Decision Support:** Access to real-time, actionable data allows organizations to make informed strategic decisions. This capability supports better resource allocation, investment in mitigation strategies, and overall supply chain optimization. +- **Market Competitiveness:** Organizations that rapidly adapt to disruptions can maintain or even improve their market position. The ability to sustain operations during adverse events translates to reliable service delivery, maintaining customer satisfaction and loyalty. +- **Sustainability:** Effective disruption management contributes to sustainability by reducing waste associated with overproduction or expedited shipping to compensate for delays. + +In sum, integrating the "Supply Chain Disruption Notifications" standard into the Catena-X data space equips stakeholders with advanced tools to navigate the complexities of modern supply chains. This adoption underscores a commitment to operational excellence, resilience, and strategic foresight, paving the way for a more interconnected and resilient automotive industry. + +## Use Case / Domain explanation + +In the context of the automotive industry's evolving needs, particularly with the integration of the "Supply Chain Disruption Notifications" within the Catena-X network, we explore a pertinent domain: Enhancing Disruption Management in Automotive Supply Chains. This domain aims to tackle the challenges posed by disruptions in the automotive supply chain, focusing on improving resilience and response strategies. + +### Today's Challenge + +The automotive supply chain is characterized by a high degree of complexity and interdependence, where disruptions can ripple through the network, impacting production, lead times, and market competitiveness. Key challenges include: + +- **Disruption Readiness:** The ability to rapidly identify, communicate, and respond to disruptions is often hampered by a lack of current data and standardized communication. +- **Interconnectedness:** The intricate web of suppliers, manufacturers, and logistic partners in the automotive industry necessitates a cohesive approach to manage and mitigate disruptions effectively. +- **Response Agility:** The speed at which an organization can adapt to and recover from supply chain disruptions directly affects its operational continuity and market position. + +**Opportunities**: + +1. **Enhanced Communication:** Establishing a standardized communication for disruption notifications enables swift and accurate information sharing, fostering a proactive response mechanism. +1. **Operational Resilience:** Empowering stakeholders with real-time data and insights into supply chain disruptions strengthens the industry's ability to maintain continuity amidst volatility. +1. **Strategic Collaboration:** Facilitating a collaborative environment where stakeholders can coordinate responses to disruptions enhances the supply chain's overall robustness. + +### Benefits for involved n-tier suppliers and OEMs + +Within the n-tier value chain there are customer-supplier relationships. As a participant in the value chain, a company commonly acts as a customer and a supplier: + +- **Customers (incl. OEM):** Immediate access to Disruption Notifications allows for quicker adjustment of production plans, inventory management, and customer communications, reducing the impact on operations. +- **Supplier:** Enhanced visibility into potential disruptions enables suppliers to adjust their production and delivery schedules proactively, maintaining service levels and customer relationships. + +### Use case conclusion + +Addressing the challenges of disruption management in the automotive supply chain through the "Supply Chain Disruption Notifications" within the Catena-X network offers significant advantages. By enhancing the flow of critical information and fostering a collaborative response to disruptions, stakeholders can achieve greater operational resilience, maintain supply chain continuity, and uphold competitive advantage. This collaborative framework not only mitigates the immediate effects of disruptions but also paves the way for a more agile and responsive automotive industry. + +## Semantic Models + +Currently the standard _Supply Chain Disruption Notifications_ provides one semantic model _Demand and Capacity Notification._ + +| Semantic Model | Version | Link to GitHub Repository | +| ------------------------------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------- | +| Demand and Capacity Notification (Release 24.05) | v2.0.0 | | + +## Business Process + +The Supply Chain Disruption Notifications standard orchestrates significant business processes within the Catena-X network, aiming to enhance the industries' resilience to supply chain disruptions. These processes facilitate timely and efficient communication among stakeholders, ensuring a coordinated response to disruptions. Here's an overview of the roles and processes involved: + +**Actors and Roles:** + +- **Notification Senders:** Entities that detect and report disruptions within the supply chain, acting as the primary source of real-time disruption information. +- **Notification Recipient:** Stakeholders who receive the disruption notifications, needing to adjust their operations or decision-making in response to the reported disruptions. + +**Potential Triggers:** + +Supply Chain Disruption Notifications are recommended for exceptional circumstances and are not intended for routine communication regarding changes in demands or capacities. For the latter the usage of the DCM and the PURIS KIT/Apps is recommended. As outlined, these notifications are specifically deployed in response to extraordinary events that significantly impact the supply chain. The determination of what constitutes an "extraordinary" event is at the discretion of the sender. Below is a list of potential triggers for issuing a Supply Chain Disruption Notification: + +- **Affected Period:** An assessment indicating that the issue or situation will have a long-term impact that cannot be resolved within a defined period of weeks or persists over an extended duration. +- **Duration:** Duration of capacity reduction or change in demand, such as whether capacity is diminished over a specified period. +- **Degree of Deviation:** The degree of capacity loss or demand change is typically addressed in the normal failure batch by setting user capacity to zero. However, if significant changes occur, an alert may be triggered. +- **Affected number of business partners:** Assessment indicates that the problem or situation will impact additional business partners beyond the direct 1:1 business relationship and cannot be resolved solely within that relationship. + +**Data Exchange and Notification Transmission:** + +- **Disruption Information:** Detailed notifications about the nature, scope, and expected impact of the disruption, including estimated duration and affected materials or components if already known/identified. +- **Impact Assessment:** Recipients evaluate the potential impact of the disruption on their operations, considering factors like inventory levels, production schedules, and delivery commitments. Further, they evaluate if they need to inform their partners via a new notification. +- **Response Coordination:** Facilitates a collaborative approach among impacted stakeholders to develop and implement mitigation strategies, ensuring a unified response to the disruption. + +**Key Processes:** + +- **Direct Notification:** Immediate dissemination of disruption information from the sender to all relevant recipients (limited to 1-up/1-down) within the network. +- **Collaborative Resolution:** Stakeholders work together to address the disruption, sharing insights and potential solutions to mitigate the impact across the supply chain. +- **Update and Feedback Loop:** Continuous updates on the evolving status of the disruption and its resolution, enabling stakeholders to adapt their strategies in real-time. + +**Operational Adaptation:** + +- **Proactive Adjustment:** Stakeholders use the received information to proactively adjust production plans, inventory management, and logistical arrangements. +- **Strategic Planning:** Incorporation of disruption data into strategic planning, enhancing the supply chain's agility and preparedness for future disruptions. + +**Notification Identifiers:** + +To differentiate messages and maintain chronological and dependance tracking, distinct IDs are included in the notifications sent: + +- **Notification ID:** Unique ID identifying the notification. +- **Related Notification ID:** Unique ID identifying a previously received notification triggering the exchange of the current notification. +- **Source Notification ID:** Unique ID identifying a source notification related to the current one. + +The business process underpinned by the "Supply Chain Disruption Notifications" standard empowers partners within the Catena-X network to respond effectively to unexpected disruptions. This system enhances the industry's ability to maintain operational continuity, mitigate risks, and uphold service levels, contributing to a more resilient and responsive automotive supply chain. + +## Business Architecture + +### Introduction + +The "Supply Chain Disruption Notifications" standard within the Catena-X framework facilitates a structured and efficient communication process for disruption notifications across the automotive supply chain. This system is integral for enabling rapid dissemination and reception of critical disruption information among stakeholders. The architecture of this system is designed to: + +- Provide operative capabilities for stakeholders to exchange supply chain disruption notifications with immediate upstream and downstream partners, ensuring a direct and efficient communication pathway. +- Define data models that are essential for the interoperable and standardized exchange of supply chain disruption information. +- Offer guidance on how stakeholders should disseminate and react to supply chain disruption notifications, supporting scenarios that involve complex supply chain structures such as multi-sourcing or multi-customer frameworks. +- Propose methodologies for leveraging supply chain disruption data to enhance decision-making and supply chain resilience (referencing the provided use case example). + +### Components + +The "Supply Chain Disruption Notifications" framework consists of several components that work in unison to ensure a robust and responsive system: + +- **Notification Exchange Application:** A software component that enables stakeholders to send and receive supply chain disruption notifications. It integrates with existing systems to extract and input relevant data, ensuring the timeliness and accuracy of the information exchanged. +- **Connector:** This component manages the secure and compliant exchange of data, acting as a bridge between business partners within the Catena-X network. It ensures that data flow adheres to standardized communication and security measures. +- **Data Provisioning & Transformation:** This aspect involves transforming internal data into the standardized format required for the notification system and vice versa, allowing seamless integration with internal systems and processes. +- **Identity and Access Management (IAM):** Ensures secure access to the system, managing authentication and authorization across the Catena-X network. It includes mechanisms to verify the identity and credentials of participating entities, ensuring that data exchange occurs within a trusted environment. + +By adopting this business architecture, stakeholders in the automotive supply chain can significantly enhance their ability to manage and mitigate the impacts of disruptions, fostering a more resilient and agile supply chain ecosystem within the Catena-X framework. + +## Logic & Schema + +To send and receive Supply Chain Disruption Notifications, an internal process for evaluating incoming notifications as well as sending new notifications needs to be implemented. The following figure visualises the process in the supply chain, in which a tier 2 company sends a notification to its customers and a supplier. + +![Logic & Schema](res/image-2024-3-5_15-22-27-1.png) +_Figure 2: Visualisation of the notifications process_ + +## Standards + +The relevant standards can be found in the [Catena-X Association Standard Library](https://catenax-ev.github.io/docs/next/standards/overview): + +- [CX-0146 Supply Chain Disruption Notifications 1.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0146-SupplyChainDisruptionNotifications) + +### Normative References + +| Standard | Standard Name | +| -------- | ----------------------------------- | +| CX-0001 | EDC Discovery API | +| CX-0003 | SAMM Aspect Meta Model | +| CX-0006 | Registration and initial onboarding | +| CX-0010 | Business Partner Number (BPN) | +| CX-0015 | IAM & Access Control Paradigm | +| CX-0018 | Dataspace Connectivity | +| CX-0126 | Industry Core: Part Type | +| CX-0149 | Verified Company Identity | + +### Non-Normative References + +| Context | Link | +| --------- | -------------------------------------------- | +| CX - 0118 | Delivery Information | +| CX - 0120 | Short-Term Material Demand | +| CX - 0121 | Planned Production Output | +| CX - 0122 | Item Stock | +| CX - 0128 | Demand and Capacity Management Data Exchange | +| CX - 0145 | Days of Supply | + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_changelog.md b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_changelog.md new file mode 100644 index 00000000000..1b18ba49c04 --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_changelog.md @@ -0,0 +1,59 @@ +--- +id: Supply Chain Disruption Notifications Changelog +title: Changelog +description: 'Supply Chain Disruption Notifications' +sidebar_position: 1 +--- + +![Supply Chain Disruption Notifications kit banner](@site/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg) + +### Supply Chain Disruption Notifications + +All notable changes to this Kit will be documented in this file. + +## [1.0.1] - 2024-11-18 + +### Added + +- ./. + +### Changed + +- New kit-icon and gallery banner + +### Removed + +- ./. + +## [1.0.0] - 2024-08-01 + +### Added + +- Initial version of the Kit including adoption, development and operations view + +### Changed + +- ./. + +### Removed + +- ./. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md new file mode 100644 index 00000000000..6beb44b1390 --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md @@ -0,0 +1,22 @@ +--- +id: Operations View PURIS-DCM Supply Chain Disruption Notifications +title: Operations View +description: 'PURIS-DCM Supply Chain Disruption Notifications' +sidebar_position: 4 +--- + +![Supply Chain Disruption Notifications kit banner](@site/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg) + +## Reference Implementation + +The [PURIS FOSS reference implementation](https://github.com/eclipse-tractusx/puris/tree/main/docs) serves as an application allowing to send and receive [Demand and Capacity Notifications](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.demand_and_capacity_notification/2.0.0/DemandAndCapacityNotification.ttl) among other data objects that are described in the [PURIS KIT](https://eclipse-tractusx.github.io/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/Software%20Development%20PURIS%20Kit). + +Arc42 of the implementation is found [here](https://github.com/eclipse-tractusx/puris/blob/main/docs/architecture/Index.md). + +## Setup + +The PURIS FOSS reference implementation can be deployed by following the [project Installation](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/INSTALL.md) guide. + +To run a test scenario locally, follow the [local testing and development guide](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/INSTALL.md). + +A guide to run the integration tests is found [here](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/postman/README.md). diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md new file mode 100644 index 00000000000..b98455109f5 --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md @@ -0,0 +1,277 @@ +--- +id: Software Development View PURIS-DCM Supply Chain Disruption Notifications +title: Software Development View +description: "PURIS-DCM Supply Chain Disruption Notifications" +sidebar_position: 3 +--- + +![Supply Chain Disruption Notifications kit banner](@site/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg) + +## Introduction + +The Development View provides information and resources for implementing Supply Chain Disruption Notifications (further: notifications) standards. The architecture chapter describes the interactions of all components in the notifications context. The policies chapter describes the access policies, usage policies and contract definitions. The protocol chapter gives examples how the data asset is registered in the connector. In the chapter sample data the semantic data model of the Supply Chain Disruption Notifications are defined with a reference to the turtle file and an example JSON payload. For quick installation guides and reference to a ready implementation of notifications, please see Operation View. + +## Architecture + +Figure 1 shows the high-level architecture of the notification exchange in the Catena-X dataspace and the services that +are involved. Both the notification sender and the notification recipient must be members of the Catena-X network in +order to communicate with each other. With the help of the Identity Access Management (IAM) each participant can +authenticate itself, verify the identity of the requesting party and decide whether to authorize the request. + +![Architecture Sketch](res/PURIS-R2408-architecture-sketch.png) +_Figure 1: High-level architecture of the notification exchange in the Catena-X dataspace_ + +From conceptual point of view the system consists of different building blocks. These building blocks in the following +diagram show which participant deploys which components. Identification and Access Management is omitted for simplicity +reasons. + +![System Architecture](res/PURIS-R2408-system-architecture%20sketch.png) +_Figure 2: Whitebox view on a PURIS system_ + +## Policies + +This chapter describes the access & usage policies as well as the contract definitions. For more information on the +access & usage policies, please refer to +the [policies documentation in the tractusx-edc repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md).[​](https://github.com/eclipse-tractusx/tractusx-edc/tree/main "Direct link to heading") + +### Access Policies[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#access-policies "Direct link to heading") + +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the +connector, as described in +the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit). + +To decide which company has access to the data assets, access policy should be used. Note that without protecting data +assets with access policies, they become publicly available in the Catena-X network which is not recommended. + +Therefore, every asset should be protected and only be made available through specified BPNL policy groups or specific +BPNL policies. For a detailed description, +see [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +#### BPNL Access Policy[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#bpn-access-policy "Direct link to heading") + +This policy allows limiting access to a data offer based on a list of specific BPNLs. This translates to the following +functionality: + +- The data offer creator will be able to create a policy listing all the BPN that can access the data offer. +- This means that only the connectors registered in the Catena-X network with the BPNL listed in the policy can see the + data offer and accept it (for the creation of data contracts and subsequent data exchange). + +#### Implementation Hint + +Examples including a JSON payload for a BPNL group access policy are described in +the [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +The reference implementation (see Operation View) also provides an extension to add the BPNL of the requesting party to +the header of a proxied request. As a result, during implementation one can use this BPNL to design the internal +submodel API. + +### Usage Policies[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#usage-policies "Direct link to heading") + +To decide which company can use the data asset under specific conditions, usage policies (also referred to as contract +policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. +Currently, the usage policies aren't technically enforced but based on a legal framework agreements. Signing of +framework agreements can be enforced during negotiation depending on the connector implementation. + +Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way +of formulating policy payloads. It further allows to stack different constraints with the `odrl:and` operator. +Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the +network. It is recommended to restrict the data usage for all exchanged data standards. An example of one usage policy +containing three different constraints is shown and described in the following: + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "", + // Important for the contract definition + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "@type": "LogicalConstraint", + "and": [ + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:ContractReference", + "operator": "eq", + "rightOperand": "x12345" + } + ] + } + } + ] + } +} +``` + +It is recommended to use the following values for rightOperand of FrameworkAgreement and UsagePurpose depending on the +use case: + +| Use case | cx-policy:FrameworkAgreement | cx-policy:UsagePurpose | +| -------- | ---------------------------- | ---------------------- | +| DCM | `DemandCapacity:1.0` | `cx.dcm.base:1` | +| PURIS | `Puris:1.0` | `cx.puris.base:1` | + +More information can be found in +the [Policies in Catena-X of the Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view_policies_cx/). + +### Contract Definitions[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#contract-definitions "Direct link to heading") + +In the connector, every policy is associated with a contract. Thus, a contract definition is needed, detailing what +policies are required when contracting assets. + +When using an above mentioned Access Policy, their `ACCESS_POLICY_ID` needs to be included as a value of +the `accessPolicyId` key in the contract definition. + +When using an above mentioned Usage Policy, their `CONTRACT_POLICY_ID` needs to be included as a value of +the `contractPolicyId` key in the contract definition. + +```json +{ + "id": "{{CONTRACT_DEFINITION_ID}}", + "criteria": [ + { + "operandLeft": "asset:prop:id", + "operator": "=", + "operandRight": "{{ASSET_ID}}" + } + ], + "accessPolicyId": "{{ACCESS_POLICY_ID}}", + "contractPolicyId": "{{CONTRACT_POLICY_ID}}" +} +``` + +For a more detailed tutorial on creating contracts for assets, see +in [Chapter 3 of the End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/boost/provideData). + +## Protocol + +This chapter contains data structures that are designed for providing data for notifications. + +### Connector Data Asset Structure for "Notification API" + +To enable notifications, the recipient has to register its notification API as a data asset as follows: + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "dct": "http://purl.org/dc/terms/" + }, + "@id": "{{DEMAND_AND_CAPACITY_NOTIFICATIONS_REQUEST_API_ASSET_ID}}", + "properties": { + "dct:type": { + "@id": "cx-taxo:DemandAndCapacityNotificationApi" + }, + "cx-common:version": "1.0", + "description": "Demand and Capacity Notification API Endpoint" + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "proxyBody": "true", + "proxyMethod": "true", + "baseUrl": "{{DEMAND_AND_CAPACITY_NOTIFICATION_API_ENDPOINT}}", + "contentType": "application/json" + } +} +``` + +This asset can then be contracted by senders of notifications. + +## Sample Data + +The semantic models in the business context are defined in the Adoption View of this KIT. This chapter gives additional +information for each aspect model by providing the example data objects in JSON format, link to the RDF turtle file on +GitHub and unique semantic id of the aspect model. Currently the standard _Supply Chain Disruption Notifications_ +provides one semantic model _Demand and Capacity Notification_. + +### 1. Demand and Capacity Notification + +GitHub link to semantic data model in RDF turtle +format: + +This aspect model has the following semantic id: + +`urn:samm:io.catenax.demand_and_capacity_notification:2.0.0#DemandAndCapacityNotification` + +The following JSON provides an example of the value-only serialization of the _Supply Chain Disruption Notification_ +aspect model for a sample notification. The notification informs the supplier about a strike at the customer's site +resulting in a demand reduction between 12.12.2023 and 17.12.2023. + +```json +{ + "affectedSitesSender": ["BPNS7588787849VQ"], + "affectedSitesRecipient": ["BPNS6666787765VQ"], + "materialNumberSupplier": ["MNR-8101-ID146955.001"], + "contentChangedAt": "2023-12-13T15:00:00+01:00", + "startDateOfEffect": "2023-12-13T15:00:00+01:00", + "materialNumberCustomer": ["MNR-7307-AU340474.002"], + "leadingRootCause": "strike", + "effect": "demand-reduction", + "notificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "relatedNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "sourceNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "text": "Capacity reduction due to ongoing strike.", + "expectedEndDateOfEffect": "2023-12-17T08:00:00+01:00", + "status": "open" +} +``` + +The following JSON provides an example with the same payload and additionally with a message header. For more +information on the message header, see +the [RDF turtle file of the message header](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/3.0.0/MessageHeaderAspect.ttl). + +```json +{ + "header": { + "senderBpn": "BPNL7588787849VQ", + "context": "CX-DemandAndCapacityNotification:1.0", + "messageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn": "BPNL6666787765VQ", + "sentDateTime": "2023-12-01T21:24:00+07:00", + "version": "3.0.0" + }, + "content": { + "demandAndCapacityNotification": { + "affectedSitesSender": ["BPNS7588787849VQ"], + "affectedSitesRecipient": ["BPNS6666787765VQ"], + "materialNumberSupplier": ["MNR-8101-ID146955.001"], + "contentChangedAt": "2023-12-13T15:00:00+01:00", + "startDateOfEffect": "2023-12-13T15:00:00+01:00", + "materialNumberCustomer": ["MNR-7307-AU340474.002"], + "leadingRootCause": "strike", + "effect": "demand-reduction", + "notificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "relatedNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "sourceNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "text": "Capacity reduction due to ongoing strike.", + "expectedEndDateOfEffect": "2023-12-17T08:00:00+01:00", + "status": "open" + } + } +} +``` diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx new file mode 100644 index 00000000000..9badcfefcbf Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg new file mode 100644 index 00000000000..29a46958d32 --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
          Notification Recipient
          Notification Recipient
          (4) Receive Notitification
          (4) Receive Notitification
          Connector
          Connector
          Business Application
          Business Ap...
          Notification Endpoint
          Notificatio...
          (1) Register Notification Endpoint
          (1) Register Notification Endpoint
          Notification Sender
          Notification Sender
          Connector
          Connector
          Business Application
          Business Ap...
          (3) POST Notification
          (3) POST Notification
          (2) Connector Communication
            (Catalog/Contracting/Transfer)  
          (2) Connector Communication...
          Catena-X Core Service Provider
          Catena-X Core Service Provider
          IAM
          IAM
          Shared Identity Provider
          Shared Ident...
          Central Identity Provider
          Central Iden...
          Credential Service
          Credential S...
          BPN-DID Resolution Service
          BPN-DID Reso...
            Authentication / Authorization  
            Authentication / Authorization  
            Authentication / Authorization  
            Authentication / Authorization  
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png new file mode 100644 index 00000000000..63127e10a42 Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg new file mode 100644 index 00000000000..a869a090cde --- /dev/null +++ b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
          «data ecosystem»
          Catena-X
          «data ecosystem»...
          «system»
          Notification Recipient
          «system»...
          «system»
          Notification Sender
          «system»...
          Update OWN data
          Update OWN data
          «subsystem»
          Data Provisioning
          & Transformation
          «subsystem»...
          Notification API
          Notification API
          Register Notification API
          Query Partner Data,
          Negotiate Contract,
          Initialize Data Transfer
          Register Notification API...
          Lookup partners' EDC address
          Lookup partners' EDC address
          «subsystem»
          Notification Source

          «subsystem»...
          View Catalog (Data Offers),
          Negotiate Contracts,
          Provide Notification API,
          Receive Notification
          View Catalog (Data Offers),...
          «subsystem»
          Connector
          «subsystem»...
          Receive OWN Data
          Receive OWN Data
          «Service»
          Discovery Service
          «Service»...
          «subsystem»
          Connector
          «subsystem»...
          «subsystem»
          Notification Sink
          «subsystem»...
          Internal Systems
          I...
          Other interfaces
          O...
          Notification API
          Notification API
          Text is not SVG - cannot display
          \ No newline at end of file diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png new file mode 100644 index 00000000000..eb73363ca8d Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg new file mode 100644 index 00000000000..80f5b5cfa44 Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx new file mode 100644 index 00000000000..9fcc38c4dc8 Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx differ diff --git a/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png new file mode 100644 index 00000000000..9365d9450d5 Binary files /dev/null and b/docs-kits/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png differ diff --git a/docs-kits/kits/Traceability Kit/Software Development View/part_aspect-models.mdx b/docs-kits/kits/Traceability Kit/Software Development View/part_aspect-models.mdx index b4938f70672..8f2074c6f0f 100644 --- a/docs-kits/kits/Traceability Kit/Software Development View/part_aspect-models.mdx +++ b/docs-kits/kits/Traceability Kit/Software Development View/part_aspect-models.mdx @@ -99,3 +99,58 @@ Aspect model in GitHub: ] } ``` + +### SoftwareInformation +The software information aspect model contains the essential information of all software components that have been implemented or flashed in an instantiated part (e.g. serialized part). + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.software_information/1.0.0 + +##### Example: Submodel `SoftwareInformation` +```json +{ + "catenaXId": "urn:uuid:454ffa8e-f88d-4ad1-be45-06981756aeb1", + "softwareInformation": [ + { + "name": "ECU Software XY12345", + "softwareId": "SW123456789", + "version": "1.2.0", + "lastModifiedOn": "2023-03-21T08:17:29.187+01:00" + }, + { + "name": "Controller-SW", +   "softwareId": "SW987654321", + "version": "3.0.0", + "lastModifiedOn": "2024-04-30T08:17:29.187+01:00" + } + ] +} +``` + +### CertificateSigningRequests +The Certificate Signing Requests aspect model contains the essential information needed to request specific certificates for a unique ECU component via a Certificate Signing Request (CSR) and to validate and certificate the ECU against this data. + +A CSR (Certificate Signing Request) is a 64-based PEM formatted and encrypted message to request a (digital) certificate. The CSR validates the information required by a specific certification authority (CA) to issue the associated certificate. + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.certificate_signing_requests/1.0.0 + +##### Example: Submodel `CertificateSigningRequests` +```json +{ + "certificateSigningRequestList": [ + { + "certificateSigningRequest": "MIIC2TCCAToCAQAwgZwxEzARBgNVBAgTClByb2R1Y3Rpb24xDDAKBgNVBAcMA0FUTTESMBAGA1UEChMJQk1XIEdyb3VwMRcwFQYDVQQLEw5WZWhpY2xlUEtJLUVDVTEXMBUGA1UEAxMOSVBzZWMtaW50ZXJuYWwxMTAvBgNVBAUTKEVDVS1VSUQ6QzAwMDgyNDI3MUREQTYwMDAwMDAwMDAwMjdBQTg0MjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAShNm4y5Mdzu4b9xDW3TfBZr", + "subjectLocality": "ATM--02", + "subjectCommonName": "ID", + "subjectSerialNumber": "SN12345678" + }, + { + "certificateSigningRequest": "MII3tbCCAToCAQAwgZwxEzARBgNVBAgTClByb2R1Y3Rpb24xDDAKBgNVBAcMA0FUTTESMBAGA1UEChMJQk1XIEdyb3VwMRcwFQYDVQQLEw5WZWhpY2xlUEtJLUVDVTEXMBUGA1UEAxMOSVBzZWMtaW50ZXJuYWwxMTAvBgNVBAUTKEVDVS1VSUQ6QzAwMDgyNDI3MUREQTYwMDAwMDAwMDAwMjdBQTg0MjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAShNm4y5Mdzu4b9xDW3TfBZr", + "subjectLocality": "ATM--02", + "subjectCommonName": "IPsec-Internal", + "subjectSerialNumber": "SN12345678" + } + ] +} +``` diff --git a/docs-kits/kits/Traceability Kit/page_changelog.mdx b/docs-kits/kits/Traceability Kit/page_changelog.mdx index b0c6283ef9b..c3a03bd5080 100644 --- a/docs-kits/kits/Traceability Kit/page_changelog.mdx +++ b/docs-kits/kits/Traceability Kit/page_changelog.mdx @@ -30,7 +30,24 @@ import Notice from './part_notice.mdx' All notable changes to this Kit will be documented in this file. -## [X.X.X] - 2024-XX-XX +## [5.1.1] - 2024-08-18 + +### Changed + +- **Operation View:** + - Correct link to INSTALL.md + +## [5.1.0] - 2024-07-24 + +Compatible for **release 24.08**. + +### Added + +- **Development View:** + - **Data Provider:** + - Added new section for the aspect model [SoftwareInformation](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#softwareinformation) + - Added new section for the aspect model [CertificateSigningRequests](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#certificatesigningrequests) + - Added aspect models SoftwareInformation and CertificateSigningRequests into the aspect model overview ### Changed diff --git a/docs-kits/kits/Traceability Kit/page_software-operation-view.mdx b/docs-kits/kits/Traceability Kit/page_software-operation-view.mdx index 0ade8e3de42..5fbc7cc7767 100644 --- a/docs-kits/kits/Traceability Kit/page_software-operation-view.mdx +++ b/docs-kits/kits/Traceability Kit/page_software-operation-view.mdx @@ -34,6 +34,6 @@ Traceability app. One open-source example is the **Trace-X app**. For further in their usage, configuration and deployment, follow these resources: - [Trace-X GitHub Repository](https://github.com/eclipse-tractusx/traceability-foss) -- [Trace-X Installation Guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/INSTALL.md) +- [Trace-X Installation Guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/INSTALL.md) diff --git a/docs-kits/kits/knowledge-agents/development-view/modules.md b/docs-kits/kits/knowledge-agents/development-view/modules.md index 0cfe1af1d3c..c4bc887bc92 100644 --- a/docs-kits/kits/knowledge-agents/development-view/modules.md +++ b/docs-kits/kits/knowledge-agents/development-view/modules.md @@ -245,7 +245,7 @@ standard. Actually, this KIT is caring about two bridges, one which bridges AAS information that is described in Catena-X aspect schemas into the Catena-X domain ontologies (the AAS-KA Bridge). And one bridge which is able to emulate -shells and submodels out of a given (federated) virtual graph. +shells and submodels out of a given (federated) virtual graph (the SPARQL-AAS Bridge). [![AAS Bridge(s)](/img/knowledge-agents/aas_bridge_small.png)](/img/knowledge-agents/aas_bridge.png) @@ -268,20 +268,20 @@ There are two main components whose interplay implements the AAS-KA bridge: * A flexible SQL/JSON engine, such as Dremio or in parts also Postgresql which is able to mount raw data in various formats from remote filesystems and APIs. This engine is used to build flat relational views onto a hierarchical json structure that may originate in the value-only-serialization of the AAS. Typically there will be one table/view -per json-schema/submodel template. As an example, see these [scripts](https://github.com/catenax-ng/product-knowledge/tree/main/infrastructure/resources/dremio) -* A graph engine (such as [ontop](https://ontop-vkg.org/guide/) ) that is able to bind/translate SPARQL queries into SQL. As an example, see these [bindings](https://github.com/catenax-ng/product-knowledge/tree/main/infrastructure/oem/resources/trace.obda) +per json-schema/submodel template. As an example, see these [scripts](https://github.com/big-data-spaces/knowledge-agent-deployment/tree/main/infrastructure/resources/dremio) +* A graph engine (such as [ontop](https://ontop-vkg.org/guide/) ) that is able to bind/translate SPARQL queries into SQL. As an example, see these [bindings](https://github.com/big-data-spaces/knowledge-agent-deployment/tree/main/infrastructure/oem/resources/trace.obda) Of course, if the data is available in a native SQL-schema, the SQL/JSON-engine can be omitted. Likewise, even the graph engine can be left out if a sparql-capable database holds its data in conformance to the CX-ontologies. -#### KA->AAS Bridge +#### SPARQL->AAS Bridge In order to form a twin-based, highly-standarized access to any graphTo allow for a more strict In order to form a graph-based, flexible access to AAS backend components, we employ a bridge virtualization module which denormalizes/caches the information inside Shells and Submodels. -Exposing substructures of the distributed knowledge graph via the AAS APIs is possible by deploying the [KA-AAS-Bridge](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge). This generic tool can be used to expose the graphs structures as AAS by configuring a set of mappings. Each consists of two components +Exposing substructures of the distributed knowledge graph via the AAS APIs is possible by deploying the [KA-AAS-Bridge](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge) and its [KA-AAS Deployment](../operation-view/bridge). This generic tool can be used to expose the graphs structures as AAS by configuring a set of mappings. Each consists of two components * a SPARQL query extracting "flat" information out of the virtual graph * a mapping configuration providing the basic structure of the target AAS diff --git a/docs-kits/kits/knowledge-agents/development-view/reference.md b/docs-kits/kits/knowledge-agents/development-view/reference.md index 17c80d5cfb9..8791a07d99b 100644 --- a/docs-kits/kits/knowledge-agents/development-view/reference.md +++ b/docs-kits/kits/knowledge-agents/development-view/reference.md @@ -43,14 +43,11 @@ For more information see * Provider-Side Programming Language: Java > 12 * Eclipse Dataspace Connector - * Provider Agent: OnTop - * Inference Agent: Fuseki - * Function Agent: RDF4J + * Provider Agent: OnTop VKP + * Matchmaking Agent: Apache Fuseki + * Remoting Agent: RDF4J + * Conforming Agent: JAX-RS (Jersey) & Glassfish * SPARQL-AAS Bridge: FAAAST -* Consumer-Side Programming Language: Typescript - * Skill Framework: React/Redux - * Knowledge Explorer: React/Redux & Catena-X Portal - * Skill Development Environment: React/Redux & Catena-X Portal ## Sources And Artifacts diff --git a/docs-kits/kits/knowledge-agents/operation-view/agent_edc.md b/docs-kits/kits/knowledge-agents/operation-view/agent_edc.md index f2e61aef3b0..496754cc12a 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/agent_edc.md +++ b/docs-kits/kits/knowledge-agents/operation-view/agent_edc.md @@ -45,11 +45,11 @@ Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example u - name: tractusx-connector alias: my-connector repository: https://eclipse-tractusx.github.io/charts/dev - version: 0.7.0 + version: 0.7.3 - name: agent-plane alias: my-agent-plane repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.12.19 + version: 1.13.22 ``` Then configure the connector in the values.yaml diff --git a/docs-kits/kits/knowledge-agents/operation-view/bridge.md b/docs-kits/kits/knowledge-agents/operation-view/bridge.md index 1faa8b1695e..2923b3f2d78 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/bridge.md +++ b/docs-kits/kits/knowledge-agents/operation-view/bridge.md @@ -28,4 +28,1115 @@ title: Bridging For Bridging between Knowledge Agents API and AAS, this KIT recommends deploying the [Tractus-X Knowledge Agents AAS Bridge (KA-AAS)](https://github.com/eclipse-tractusx/knowledge-agents-aas-api) +## Quick Setup Guide for AAS Bridge + +### 1. Add Helm Dependency to the AAS Bridge + +Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses a Traveability graph, see [here](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge/blob/main/sparql-aas/README.md) for more options and full details). + +```yaml + - name: aas-bridge + repository: https://eclipse-tractusx.github.io/charts/dev + version: 1.13.7 + alias: my-aas-bridge +``` + +### 2. Configure the AAS Bridge with Mappings + +Then configure the aas bridge in the values.yaml - especially you introduce so-called mapping domains ("traceability") which are pairs of XSLT stylesheets and SPARQL commands. +Using these mappings, the aas bridge know how to describe digital twins and submodels out of a background graph. + +Each domain will have a mandatory mapping `aas` which describes the digital twins and the existance of submodels. And it will have a dynamic set of submodel mappings for the individual submodels. +Domains will also be representeded as a component of the resulting keys (asset and submodel id's). + +In the following example, we map digital twins with one submodel (`PartAsPlanned`) out of an existing graph following to the [Bill-Of-Material Ontology](https://w3id.org/catenax/ontology/bill-of-material), the [Vehicle Ontology](https://w3id.org/catenax/ontology/vehicle), the [Common (Dataspace) Ontology](https://w3id.org/catenax/ontology/common) and the [Core (Meta) Ontology](https://w3id.org/catenax/ontology/core) - all being part of the [Complete (Merged) Ontology](https://w3id.org/catenax/ontology). + +Since the AAS Bridge internally speaks https, you need to enable your ingress to relay the ssl-layer (see the `annotations` section). + +```yaml +my-aas-bridge: + nameOverride: my-aas-bridge + fullnameOverride: my-aas-bridge + aas: + persistence: + # -- The default sparql server is embedded + sparql: http://sparql.local + endpoints: + default: + path: "/" + ingresses: + - enabled: true + hostname: "aas-bridge.domain" + annotations: + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + endpoints: + - default + tls: + enabled: true +domains: + traceability: + aas: + mapping.xslt: |- + + + + + + + / + + + + + + + + + + Instance + + + + + en + + + + + + + ExternalReference + + + Submodel + // + + + + + + + + + + + + select-all.rq: |- + PREFIX cx-common: + PREFIX cx-core: + PREFIX cx-vehicle: + PREFIX cx-bom: + PREFIX rdf: + PREFIX rdfs: + + # + # A request for obtaining all asset administration shells for serialized parts + # + + SELECT DISTINCT ?id ?name ?pasp ?psasp ?hasRecycling ?slbomap ?slusap ?mfr WHERE { + + # all parts are twins + ?id rdf:type cx-vehicle:Part; + cx-core:name ?name. + + # Part + OPTIONAL{ + ?id cx-core:id ?manufacturerPartId. + BIND( as ?pasp). + } + } + ORDER BY DESC(?id) + select-some.rq: |- + PREFIX cx-common: + PREFIX cx-core: + PREFIX cx-vehicle: + PREFIX cx-bom: + PREFIX rdf: + PREFIX rdfs: + + # + # A request for obtaining specific asset administration shells for serialized parts + # + + SELECT DISTINCT ?id ?name ?pasp ?psasp ?hasRecycling ?slbomap ?slusap ?mfr WHERE { + + VALUES(?id) { + (%s) + } + + # all parts are twins + ?id rdf:type cx-vehicle:Part; + cx-core:name ?name. + + # Part + OPTIONAL{ + ?id cx-core:id ?manufacturerPartId. + BIND( as ?pasp). + } + } + ORDER BY DESC(?id) + partAsPlanned: + mapping.xslt: |- + + + + + + + / + + + // + + + + + + + + + + + Instance + + + + + + ExternalReference + + + Submodel + + + + + + + + + + + + + Instance + + ModelReference + + + ConceptDescription + + + + + + PartAsPlanned + + + en + A Part AsPlanned represents an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status. + + + + + Key + catenaXId + + + en + The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace. + + + + + en + Catena-X Identifier + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#catenaXId + + + + xs:string + + + + partTypeInformation + + + en + Encapsulation for data related to the part type + + + + + en + Part Type Information Entity + + + + + Key + manufacturerPartId + + + en + Part ID as assigned by the manufacturer of the part. The Part ID identifies the part (as designed) in the manufacturer`s dataspace. The Part ID does not reference a specific instance of a part and thus should not be confused with the serial number. + + + + + en + Manufacturer Part ID + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#manufacturerPartId + + + + xs:string + + + + Value + nameAtManufacturer + + + en + Name of the part as assigned by the manufacturer. + + + + + en + Name at Manufacturer + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#nameAtManufacturer + + + + xs:string + + + + Enum + classification + + + en + Classification of the part as assigned by the manufacturer. + + + + + en + Product Classification + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#classification + + + + xs:string + + + + + + validityPeriod + + + en + Temporal validity period of the part. + + + + + en + validityPeriod + + + + + Time + validFrom + + + en + Start date of validity period. + + + + + en + Valid From + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#validFrom + + + + xs:dateTime + + + + Time + validFrom + + + en + End date of validity period. + + + + + en + Valid To + + + + ModelReference + + + ConceptDescription + urn:bamm:io.catenax.part_as_planned:1.0.1#validTo + + + + xs:dateTime + + + + + + + + + + + + + + select-all.rq: |- + PREFIX cx-common: + PREFIX cx-core: + PREFIX cx-vehicle: + PREFIX rdf: + PREFIX rdfs: + + # Select all part information + + SELECT ?catenaXId ?validFrom ?validTo ?classification ?manufacturerPartId ?nameAtManufacturer + WHERE { + ?catenaXId rdf:type cx-vehicle:Part; + cx-core:id ?manufacturerPartId; + cx-core:name ?nameAtManufacturer; + cx-vehicle:productionPeriodStart ?validFrom; + cx-vehicle:productionPeriodEnd ?validTo. + BIND('product' AS ?classification). + } + ORDER BY DESC(?catenaXId) + select-some.rq: |- + PREFIX cx-common: + PREFIX cx-core: + PREFIX cx-vehicle: + PREFIX rdf: + PREFIX rdfs: + + # Select some part information + + SELECT ?catenaXId ?validFrom ?validTo ?classification ?manufacturerPartId ?nameAtManufacturer + WHERE { + + VALUES(?catenaXId) { + (%s) + } + + ?catenaXId rdf:type cx-vehicle:Part; + cx-core:id ?manufacturerPartId; + cx-core:name ?nameAtManufacturer; + cx-vehicle:productionPeriodStart ?validFrom; + cx-vehicle:productionPeriodEnd ?validTo. + + BIND('product' AS ?classification). + } + ORDER BY DESC(?catenaXId) +``` + +### 3. Testdrive the AAS Bridge + +After the aas bridge has been setup, you may invoke AAS Api calls against it + +```console +curl --location 'https://aas-bridge.domain/api/v3.0/description' +``` + +and you should receive an answer, such as + +```json +{ + "profiles": [ + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/ConceptDescriptionServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001" + ] +} +``` + +To get the list of shells, you may invoke + +```console +curl --location 'http://aas-bridge.domain/api/v3.0/shells' +``` + +and you should receive an answer, such as + +```json +{ + "result": [ + { + "modelType": "AssetAdministrationShell", + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + } + ], + "type": "ExternalReference" + } + ], + "id": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b", + "description": [ + { + "language": "en", + "text": "Tier C Piston Rod" + } + ], + "idShort": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + }, + ... + { + "modelType": "AssetAdministrationShell", + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": "traceability/urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e" + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e" + } + ], + "type": "ExternalReference" + } + ], + "id": "traceability/urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "description": [ + { + "language": "en", + "text": "Vehicle Model A" + } + ], + "idShort": "traceability/urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e" + } + ], + "paging_metadata": { + "cursor": null + } +} +``` + +To get the list of shells, you may invoke + +```console +curl --location 'http://oem-aas-bridge.knowledge.int.catena-x.net/api/v3.0/submodels?content=value&level=deep' +``` + +and you should receive an answer, such as + +```json +{ + "result": [ + { + "modelType": "Submodel", + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned" + } + ], + "type": "ModelReference" + }, + "id": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b", + "description": [ + { + "language": "en", + "text": "A Part AsPlanned represents an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status. " + } + ], + "idShort": "PartAsPlanned", + "submodelElements": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#catenaXId" + } + ], + "type": "ModelReference" + }, + "value": "urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b", + "valueType": "xs:string", + "category": "Key", + "description": [ + { + "language": "en", + "text": "The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace." + } + ], + "displayName": [ + { + "language": "en", + "text": "Catena-X Identifier" + } + ], + "idShort": "catenaXId" + }, + { + "modelType": "SubmodelElementCollection", + "description": [ + { + "language": "en", + "text": "Encapsulation for data related to the part type" + } + ], + "displayName": [ + { + "language": "en", + "text": "Part Type Information Entity" + } + ], + "idShort": "partTypeInformation", + "value": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#manufacturerPartId" + } + ], + "type": "ModelReference" + }, + "value": "5760234-23", + "valueType": "xs:string", + "category": "Key", + "description": [ + { + "language": "en", + "text": "Part ID as assigned by the manufacturer of the part. The Part ID identifies the part (as designed) in the manufacturer`s dataspace. The Part ID does not reference a specific instance of a part and thus should not be confused with the serial number." + } + ], + "displayName": [ + { + "language": "en", + "text": "Manufacturer Part ID" + } + ], + "idShort": "manufacturerPartId" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#nameAtManufacturer" + } + ], + "type": "ModelReference" + }, + "value": "Tier C Piston Rod", + "valueType": "xs:string", + "category": "Value", + "description": [ + { + "language": "en", + "text": "Name of the part as assigned by the manufacturer." + } + ], + "displayName": [ + { + "language": "en", + "text": "Name at Manufacturer" + } + ], + "idShort": "nameAtManufacturer" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#classification" + } + ], + "type": "ModelReference" + }, + "value": "product", + "valueType": "xs:string", + "category": "Enum", + "description": [ + { + "language": "en", + "text": "Classification of the part as assigned by the manufacturer." + } + ], + "displayName": [ + { + "language": "en", + "text": "Product Classification" + } + ], + "idShort": "classification" + } + ] + }, + { + "modelType": "SubmodelElementCollection", + "description": [ + { + "language": "en", + "text": "Temporal validity period of the part." + } + ], + "displayName": [ + { + "language": "en", + "text": "validityPeriod" + } + ], + "idShort": "validityPeriod", + "value": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#validFrom" + } + ], + "type": "ModelReference" + }, + "value": "2014-02-24", + "valueType": "xs:dateTime", + "category": "Time", + "description": [ + { + "language": "en", + "text": "Start date of validity period." + } + ], + "displayName": [ + { + "language": "en", + "text": "Valid From" + } + ], + "idShort": "validFrom" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#validTo" + } + ], + "type": "ModelReference" + }, + "value": "2027-11-04", + "valueType": "xs:dateTime", + "category": "Time", + "description": [ + { + "language": "en", + "text": "End date of validity period." + } + ], + "displayName": [ + { + "language": "en", + "text": "Valid To" + } + ], + "idShort": "validFrom" + } + ] + } + ] + }, + --- + { + "modelType": "Submodel", + "kind": "Instance", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned" + } + ], + "type": "ModelReference" + }, + "id": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "description": [ + { + "language": "en", + "text": "A Part AsPlanned represents an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status. " + } + ], + "idShort": "PartAsPlanned", + "submodelElements": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#catenaXId" + } + ], + "type": "ModelReference" + }, + "value": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", + "valueType": "xs:string", + "category": "Key", + "description": [ + { + "language": "en", + "text": "The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace." + } + ], + "displayName": [ + { + "language": "en", + "text": "Catena-X Identifier" + } + ], + "idShort": "catenaXId" + }, + { + "modelType": "SubmodelElementCollection", + "description": [ + { + "language": "en", + "text": "Encapsulation for data related to the part type" + } + ], + "displayName": [ + { + "language": "en", + "text": "Part Type Information Entity" + } + ], + "idShort": "partTypeInformation", + "value": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#manufacturerPartId" + } + ], + "type": "ModelReference" + }, + "value": "ZX-55", + "valueType": "xs:string", + "category": "Key", + "description": [ + { + "language": "en", + "text": "Part ID as assigned by the manufacturer of the part. The Part ID identifies the part (as designed) in the manufacturer`s dataspace. The Part ID does not reference a specific instance of a part and thus should not be confused with the serial number." + } + ], + "displayName": [ + { + "language": "en", + "text": "Manufacturer Part ID" + } + ], + "idShort": "manufacturerPartId" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#nameAtManufacturer" + } + ], + "type": "ModelReference" + }, + "value": "Vehicle Model A", + "valueType": "xs:string", + "category": "Value", + "description": [ + { + "language": "en", + "text": "Name of the part as assigned by the manufacturer." + } + ], + "displayName": [ + { + "language": "en", + "text": "Name at Manufacturer" + } + ], + "idShort": "nameAtManufacturer" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#classification" + } + ], + "type": "ModelReference" + }, + "value": "product", + "valueType": "xs:string", + "category": "Enum", + "description": [ + { + "language": "en", + "text": "Classification of the part as assigned by the manufacturer." + } + ], + "displayName": [ + { + "language": "en", + "text": "Product Classification" + } + ], + "idShort": "classification" + } + ] + }, + { + "modelType": "SubmodelElementCollection", + "description": [ + { + "language": "en", + "text": "Temporal validity period of the part." + } + ], + "displayName": [ + { + "language": "en", + "text": "validityPeriod" + } + ], + "idShort": "validityPeriod", + "value": [ + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#validFrom" + } + ], + "type": "ModelReference" + }, + "value": "2017-01-03", + "valueType": "xs:dateTime", + "category": "Time", + "description": [ + { + "language": "en", + "text": "Start date of validity period." + } + ], + "displayName": [ + { + "language": "en", + "text": "Valid From" + } + ], + "idShort": "validFrom" + }, + { + "modelType": "Property", + "semanticId": { + "keys": [ + { + "type": "ConceptDescription", + "value": "urn:bamm:io.catenax.part_as_planned:1.0.1#validTo" + } + ], + "type": "ModelReference" + }, + "value": "2029-11-15", + "valueType": "xs:dateTime", + "category": "Time", + "description": [ + { + "language": "en", + "text": "End date of validity period." + } + ], + "displayName": [ + { + "language": "en", + "text": "Valid To" + } + ], + "idShort": "validFrom" + } + ] + } + ] + } + ], + "paging_metadata": { + "cursor": null + } +} +``` + +To access a particular shell, you may + +```console +curl --location 'http://oem-aas-bridge.knowledge.int.catena-x.net/api/v3.0/shells/dHJhY2VhYmlsaXR5L3Vybjp1dWlkOmY1ZWZiZjQ1LTdkODQtNDQ0Mi1iM2I4LTA1Y2YxYzVjNWEwYg==' +``` + +which would return + +```json +{ + "modelType": "AssetAdministrationShell", + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + } + ], + "type": "ExternalReference" + } + ], + "id": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b", + "description": [ + { + "language": "en", + "text": "Tier C Piston Rod" + } + ], + "idShort": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" +} +``` + +A particular submodel can be selected as follows + +```console +curl --location 'http://oem-aas-bridge.knowledge.int.catena-x.net/api/v3.0/shells/dHJhY2VhYmlsaXR5L3Vybjp1dWlkOmY1ZWZiZjQ1LTdkODQtNDQ0Mi1iM2I4LTA1Y2YxYzVjNWEwYg==' +``` + +which would produce a result like + +```json +{ + "modelType": "AssetAdministrationShell", + "assetInformation": { + "assetKind": "Instance", + "globalAssetId": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + }, + "submodels": [ + { + "keys": [ + { + "type": "Submodel", + "value": "traceability/urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" + } + ], + "type": "ExternalReference" + } + ], + "id": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b", + "description": [ + { + "language": "en", + "text": "Tier C Piston Rod" + } + ], + "idShort": "traceability/urn:uuid:f5efbf45-7d84-4442-b3b8-05cf1c5c5a0b" +} +``` + (C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits/kits/knowledge-agents/operation-view/deployment.md b/docs-kits/kits/knowledge-agents/operation-view/deployment.md index 83b01cf7326..9920eee0eaa 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/deployment.md +++ b/docs-kits/kits/knowledge-agents/operation-view/deployment.md @@ -54,7 +54,8 @@ role that the business partner takes. The roles are described in more detail in As a consumer, you just need to: * enable your [dataspace connector](agent_edc) to initiate/delegate the required Agent protocols (here: SparQL-over-Http). -* (optionally) mount your connector/matchmaking agent as a remote repository into your enterprise graph infrastructure. +* (optionally) use a separate matchmaking agent to securely host your own business and meta data in the graph storage behind the connector layer +* (optionally) mount your matchmaking agent as a remote repository into your enterprise graph infrastructure. ## Role: As A Skill Provider @@ -69,6 +70,7 @@ and which require computational resources at the provider side) instead of distr As a provider, you need to * enable your [dataspace connector](agent_edc) to receive/internalize the required Agent protocols. +* (optionally) use a separate matchmaking agent to securely publish your own business and meta data from the graph storage behind the connector layer Depending on the kind of provisioning, you will setup additional internal "agents" (endpoints). @@ -98,13 +100,15 @@ The Stable Environment is a minimal example environment exhibiting all roles and Knowledge Agents on Stable is deployed on the following two tenants * App Provider 1 (BPNL000000000001) - * Dataspace Connector (Postgresl, Hashicorp-Vault) - * Agent-Plane (Postgresql, Hashicorp-Vault) - * Provisioning Agent incl. Local Database - * Remoting Agent (against a Public WebService) + * Dataspace Connector (Postgresl, Hashicorp-Vault) "provider-connector" see [manifest](#app-provider-1-dataspace-connector-manifest) + * Agent-Plane (Postgresql, Hashicorp-Vault) "provider-agent-plane" see [manifest](#app-provider-1-agent-plane-manifest) + * Provisioning Agent incl. Local Database "sql-agent" see [manifest](#4-deploy-app-provider-1-provisioning-agent) + * Remoting Agent (against a Public WebService) "api-agent" see [manifest](#5-deploy-app-provider-1-remoting-agent) + * AAS Bridge (against a prerecorded )"aas-bridge" see [manifest](#6-deploy-app-provider-1-aas-bridge) * App Consumer 4 (BPNL0000000005VV) - * Dataspace Connector (Postgresl, Hashicorp-Vault) - * Agent-Plane (Postgresql, Hashicorp-Vault) + * Dataspace Connector (Postgresl, Hashicorp-Vault) "consumer-connector" see [manifest](#app-consumer-4-datspace-connector-manifest) + * Agent-Plane (Postgresql, Hashicorp-Vault) "consumer-agent-plane" see [manifest](#app-consumer-4-agent-plane-manifest) + * Matchmaking-Agent "consumer-agent" see [manifest](#app-consumer-4-matchmaking-agent-manifest) ### 1. Prepare the Two Tenants @@ -137,11 +141,13 @@ We give the complete manifests but hide the secrets. #### App Provider 1 Dataspace Connector Manifest +Deployed as "provider-connector" + ```yaml project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 0.7.0 + targetRevision: 0.7.3 plugin: env: - name: HELM_VALUES @@ -190,7 +196,16 @@ source: pullPolicy: Always endpoints: management: - authKey: **** + control: + port: 8083 + path: "/control" + protocol: + port: 8084 + path: "/api/v1/dsp" + management: + port: 8081 + path: "/management" + authKey: *** bdrs: server: url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory @@ -206,21 +221,12 @@ source: # -- Enables TLS on the ingress resource tls: enabled: true - env: - EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http://agent-plane-provider:8087/api/signaling/v1/dataflows - EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL - EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL - EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy - EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://provider-agent.stable.demo.catena-x.net/api/public/" }' - EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp dataplane: token: signer: privatekey_alias: consumer-key verifier: publickey_alias: consumer-cert - env: - EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp chart: tractusx-connector destination: server: 'https://kubernetes.default.svc' @@ -229,11 +235,13 @@ destination: #### App Provider 1 Agent Plane Manifest +Deployed as "provider-agent-plane" + ```yaml project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.12.19 + targetRevision: 1.13.22 plugin: env: - name: HELM_VALUES @@ -261,13 +269,13 @@ source: trustedIssuers: - did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp sts: - dim: - url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal - oauth: - token_url: https://bpnl000000000001-authentication.eu10.hana.ondemand.com/oauth/token - client: - id: sa4 - secret_alias: stable-provider-dim + dim: + url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal + oauth: + token_url: https://bpnl000000000001-authentication.eu10.hana.ondemand.com/oauth/token + client: + id: sa4 + secret_alias: stable-provider-dim postgresql: name: agent-postgresql jdbcUrl: jdbc:postgresql://agent-postgresql:5432/provider @@ -275,10 +283,19 @@ source: database: provider username: provider_user password: **** + connector: provider-connector controlplane: endpoints: + control: + port: 8083 + path: "/control" + protocol: + port: 8084 + path: "/api/v1/dsp" management: - authKey: **** + port: 8081 + path: "/management" + authKey: *** bdrs: server: url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory @@ -310,24 +327,26 @@ source: enabled: true configs: dataspace.ttl: |- - ################################################ - # Catena-X Agent Bootstrap - ################################################ + ################################################################# + # Catena-X Agent Bootstrap Graph in TTL/RDF/OWL FORMAT + ################################################################# @prefix : . - @prefix cx: . @prefix cx-common: . + @prefix owl: . @prefix rdf: . + @prefix xml: . + @prefix json: . @prefix xsd: . + @prefix rdfs: . @prefix bpnl: . + @prefix bpns: . @base . + + bpnl:BPNL000000000001 cx-common:id "BPNL000000000001"^^xsd:string; + cx-common:hasConnector . - bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - - bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . + bpnl:BPNL0000000005VV cx-common:id "BPNL0000000005VV"^^xsd:string; + cx-common:hasConnector . agent: synchronization: 360000 connectors: @@ -340,11 +359,13 @@ destination: #### App Consumer 4 Datspace Connector Manifest +Deployed as "consumer-connector" + ```yaml project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 0.7.0 + targetRevision: 0.7.3 plugin: env: - name: HELM_VALUES @@ -392,8 +413,16 @@ source: image: pullPolicy: Always endpoints: + control: + port: 8083 + path: "/control" + protocol: + port: 8084 + path: "/api/v1/dsp" management: - authKey: **** + port: 8081 + path: "/management" + authKey: *** bdrs: server: url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory @@ -409,21 +438,12 @@ source: # -- Enables TLS on the ingress resource tls: enabled: true - env: - EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http://agent-plane-consumer:8087/api/signaling/v1/dataflows - EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL - EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL - EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy - EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://consumer-agent.stable.demo.catena-x.net/api/public/" }' - EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp dataplane: token: signer: privatekey_alias: consumer-key verifier: publickey_alias: consumer-cert - env: - EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp chart: tractusx-connector destination: server: 'https://kubernetes.default.svc' @@ -432,11 +452,13 @@ destination: #### App Consumer 4 Agent Plane Manifest +Deployed as "consumer-agent-plane" + ```yaml project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.12.19 + targetRevision: 1.13.22 plugin: env: - name: HELM_VALUES @@ -478,10 +500,20 @@ source: database: consumer username: consumer_user password: **** + connector: consumer-connector controlplane: endpoints: management: - authKey: **** + control: + port: 8083 + path: "/control" + protocol: + port: 8084 + path: "/api/v1/dsp" + management: + port: 8081 + path: "/management" + authKey: *** bdrs: server: url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory @@ -505,7 +537,7 @@ source: auth: {} ingresses: - enabled: true - hostname: "consumer-agent.stable.demo.catena-x.net" + hostname: "agent-consumer-dp.stable.demo.catena-x.net" endpoints: - public - default @@ -513,36 +545,130 @@ source: enabled: true configs: dataspace.ttl: |- - ################################################ - # Catena-X Agent Bootstrap - ################################################ + ################################################################# + # Catena-X Agent Bootstrap Graph in TTL/RDF/OWL FORMAT + ################################################################# @prefix : . - @prefix cx: . @prefix cx-common: . + @prefix owl: . @prefix rdf: . + @prefix xml: . + @prefix json: . @prefix xsd: . + @prefix rdfs: . @prefix bpnl: . + @prefix bpns: . @base . + + bpnl:BPNL000000000001 cx-common:id "BPNL000000000001"^^xsd:string; + cx-common:hasConnector . - bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - - bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . + bpnl:BPNL0000000005VV cx-common:id "BPNL0000000005VV"^^xsd:string; + cx-common:hasConnector . agent: synchronization: 360000 connectors: BPNL000000000001: https://agent-provider-cp.stable.demo-catena-x.net BPNL0000000005VV: https://agent-consumer-cp.stable.demo-catena-x.net + matchmaking: https://consumer-agent.stable.demo-catena-x.net chart: agent-plane destination: server: 'https://kubernetes.default.svc' namespace: product-knowledge ``` -### 3. Deploy App Provider 1 Provisioning Agent +### 3. Deploy Matchmaking Agent + +#### App Consumer 4 Matchmaking Agent Manifest + +Deployed as "consumer-agent" + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.13.22 + plugin: + env: + - name: HELM_VALUES + value: | + participant: + id: BPNL0000000005VV + nameOverride: agent-plane-consumer + fullnameOverride: agent-plane-consumer + connector: consumer-connector + controlplane: + endpoints: + management: + control: + port: 8083 + path: "/control" + protocol: + port: 8084 + path: "/api/v1/dsp" + management: + port: 8081 + path: "/management" + authKey: *** + bdrs: + server: + url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "agent-consumer-cp.stable.demo.catena-x.net" + # -- EDC endpoints exposed by this ingress resource + endpoints: + - protocol + - management + - api + # -- Enables TLS on the ingress resource + tls: + enabled: true + ingresses: + - enabled: true + hostname: "consumer-agent.stable.demo.catena-x.net" + endpoints: + - default + tls: + enabled: true + certManager: + clusterIssuer: *clusterIssuer + configs: + # -- An example of an empty graph in ttl syntax + dataspace.ttl: | + ################################################################# + # Catena-X Agent Bootstrap Graph in TTL/RDF/OWL FORMAT + ################################################################# + @prefix : . + @prefix cx-common: . + @prefix owl: . + @prefix rdf: . + @prefix xml: . + @prefix json: . + @prefix xsd: . + @prefix rdfs: . + @prefix bpnl: . + @prefix bpns: . + @base . + + bpnl:BPNL000000000001 cx-common:id "BPNL000000000001"^^xsd:string; + cx-common:hasConnector . + + bpnl:BPNL0000000005VV cx-common:id "BPNL0000000005VV"^^xsd:string; + cx-common:hasConnector . + agent: + synchronization: 360000 + connectors: + BPNL000000000001: https://agent-provider-cp.stable.demo-catena-x.net + BPNL0000000005VV: https://agent-consumer-cp.stable.demo-catena-x.net + chart: matchmaking-agent +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +### 4. Deploy App Provider 1 Provisioning Agent Using the following application has been installed. @@ -553,7 +679,7 @@ Therefore, some of the following settings are specific to stable and will not be project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.12.19 + targetRevision: 1.13.22 plugin: env: - name: HELM_VALUES @@ -618,7 +744,7 @@ destination: namespace: product-knowledge ``` -### 4. Deploy App Provider 1 Remoting Agent +### 5. Deploy App Provider 1 Remoting Agent Using the following application has been installed. @@ -628,7 +754,7 @@ For simplicity, the remoting agent exposes a simply public API as a graph. project: project-knowledge source: repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.12.19 + targetRevision: 1.13.22 plugin: env: - name: HELM_VALUES @@ -699,9 +825,48 @@ destination: namespace: product-knowledge ``` +### 6. Deploy App Provider 1 AAS Bridge + +Using the following application has been installed. + +For simplicity, the aas bridge uses builtin-persistence. + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.13.7 + plugin: + env: + - name: HELM_VALUES + value: | + image: + pullPolicy: Always + aas: + persistence: + # -- The default sparql server is embedded + sparql: http://sparql.local + endpoints: + default: + path: "/" + ingresses: + - enabled: true + hostname: "aas-bridge.stable.demo.catena-x.net" + annotations: + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + endpoints: + - default + tls: + enabled: true + chart: aas-bridge +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + ### 5. Perform Smoke Tests -This KIT provides a [Postman collection](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/folder/2757771-04658655-9019-4f1c-9de0-eeaf6245b9b6?action=share&source=copy-link&creator=2757771&ctx=documentation) and a corresponding [environment](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/environment/2757771-31115ff3-61d7-4ad6-8310-1e50290a1c3a?action=share&creator=2757771&active-environment=2757771-3a7489c5-7540-470b-8e44-04610511d9a9) +This KIT provides a [Postman collection/folder](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/folder/2757771-3534e62a-e7c3-4f0b-9aad-75afc650d92e?action=share&source=copy-link&creator=2757771&ctx=documentation) and a corresponding [environment](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/environment/2757771-31115ff3-61d7-4ad6-8310-1e50290a1c3a?action=share&creator=2757771&active-environment=2757771-3a7489c5-7540-470b-8e44-04610511d9a9) It consists of the following steps: @@ -714,6 +879,7 @@ It consists of the following steps: * Create Data Graph Asset (Provider) * Create Function Graph Asset (Provider) * Show Own Catalogue (Provider) +* Query AAS Bridge (Provider) * Show Remote Catalogue (Consumer) * Query Data Graph Asset (Consumer) * Query Function Graph Asset (Consumer) diff --git a/docs-kits/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json b/docs-kits/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json index f0767796987..4b7210b2f36 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json +++ b/docs-kits/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json @@ -1,7 +1,7 @@ { "info": { "_postman_id": "0ad1b7a6-734c-4289-9221-667fc56a21da", - "name": "KA Conformity Assessment Scripts (R24.05)", + "name": "KA Conformity Assessment Scripts (R24.08)", "description": "(C) 2021,2023 Contributors to the Eclipse Foundation\n\nSPDX-LICENSE-IDENTIFIER: CC-BY-4.0", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "2757771", @@ -232,7 +232,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -281,7 +281,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -330,7 +330,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"properties\": {\n \"cx-common:name\": \"Unfederated Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Graph&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"properties\": {\n \"cx-common:name\": \"Unfederated Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Graph&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -453,7 +453,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -577,7 +577,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -701,7 +701,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"properties\": {\n \"cx-common:name\": \"Provider-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=provider\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"properties\": {\n \"cx-common:name\": \"Provider-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=provider\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -825,7 +825,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"properties\": {\n \"cx-common:name\": \"Consumer-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=consumer\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"properties\": {\n \"cx-common:name\": \"Consumer-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.13.22\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=consumer\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -3304,6 +3304,402 @@ ] } ] + }, + { + "name": "0303_PROVIDER_AAS", + "item": [ + { + "name": "030301_PROVIDER_AAS_BRIDGE", + "item": [ + { + "name": "030301_AAS_DESCRIPTION", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 description was successful\", function () {", + " pm.expect(pm.response.code).oneOf([200]);", + " res = pm.response.json();", + "\t\tpm.expect(res).to.have.property('profiles');", + "\t\tpm.expect(res.profiles).to.have.length.gte(1);", + "\t\taasProfiles=res.profiles.filter(function(profile) {", + "\t\t\treturn profile.includes(\"AssetAdministrationShellRepository\");", + "\t\t});", + "\t\tpm.expect(aasProfiles.length).to.be.eq(1);", + "\t\tsubmodelProfiles=res.profiles.filter(function(profile) {", + "\t\t\treturn profile.includes(\"SubmodelRepository\");", + "\t\t});", + " pm.expect(submodelProfiles.length).to.be.eq(1);", + "});", + "" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "protocolProfileBehavior": { + "disabledSystemHeaders": { + "accept": true, + "user-agent": true, + "accept-encoding": true, + "connection": true + } + }, + "request": { + "auth": { + "type": "noauth" + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/description", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "description" + ] + } + }, + "response": [] + }, + { + "name": "030302_AAS_ALL_SHELLS", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 shells was successful\", function () {", + " pm.expect(pm.response.code).oneOf([200]);", + " res = pm.response.json();", + "\tpm.expect(res).to.have.property('result');", + "\tpm.expect(res.result).to.have.length.gte(1);", + "\tres.result.forEach(function(shell) {", + " pm.expect(shell).to.have.property(\"id\");", + " pm.expect(shell).to.have.property(\"idShort\");", + " pm.expect(shell).to.have.property(\"assetInformation\");", + " pm.expect(shell.assetInformation).to.have.property(\"globalAssetId\");", + " pm.expect(shell).to.have.property(\"submodels\");", + " pm.expect(shell.submodels).to.have.length.gte(1);", + " shell.submodels.forEach(function(submodel) {", + " pm.expect(submodel).to.have.property(\"keys\");", + " pm.expect(submodel.keys).to.have.length.gte(1);", + " });", + " });", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/shells", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "shells" + ] + } + }, + "response": [] + }, + { + "name": "030303_AAS_ALL_SUBMODELS", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 submodels was successful\", function () {", + " pm.expect(pm.response.code).oneOf([200]);", + " res = pm.response.json();", + "\tpm.expect(res).to.have.property('result');", + "\tpm.expect(res.result).to.have.length.gte(1);", + "\tres.result.forEach(function(submodel) {", + " pm.expect(submodel).to.have.property(\"id\");", + " pm.expect(submodel).to.have.property(\"idShort\");", + " pm.expect(submodel).to.have.property(\"semanticId\");", + " pm.expect(submodel.semanticId).to.have.property(\"keys\");", + " pm.expect(submodel.semanticId.keys).to.have.length.gte(1);", + " pm.expect(submodel).to.have.property(\"submodelElements\");", + " pm.expect(submodel.submodelElements).to.have.length.gte(1);", + " submodel.submodelElements.forEach(function(submodelElement) {", + " pm.expect(submodelElement).to.have.property(\"idShort\");", + " pm.expect(submodelElement).to.have.property(\"value\");", + " });", + " });", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/submodels?content=value&level=deep", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "submodels" + ], + "query": [ + { + "key": "content", + "value": "value" + }, + { + "key": "level", + "value": "deep" + } + ] + } + }, + "response": [] + }, + { + "name": "030304_ONE_SHELL", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 specific shell was successful\", function () {", + " pm.expect(pm.response.code).oneOf([200]);", + " shell = pm.response.json();", + " pm.expect(shell).to.have.property(\"id\");", + " pm.expect(shell).to.have.property(\"idShort\");", + " pm.expect(shell).to.have.property(\"assetInformation\");", + " pm.expect(shell.assetInformation).to.have.property(\"globalAssetId\");", + " pm.expect(shell).to.have.property(\"submodels\");", + " pm.expect(shell.submodels).to.have.length.gte(1);", + " shell.submodels.forEach(function(submodel) {", + " pm.expect(submodel).to.have.property(\"keys\");", + " pm.expect(submodel.keys).to.have.length.gte(1);", + " });", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/shells/:shellid", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "shells", + ":shellid" + ], + "variable": [ + { + "key": "shellid", + "value": "dHJhY2VhYmlsaXR5L3Vybjp1dWlkOmY1ZWZiZjQ1LTdkODQtNDQ0Mi1iM2I4LTA1Y2YxYzVjNWEwYg==" + } + ] + } + }, + "response": [] + }, + { + "name": "030305_NOTEXISTS_SHELL", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 not existant shell wasfailure\", function () {", + " pm.expect(pm.response.code).oneOf([400,500]);", + " message = pm.response.json();", + "\tpm.expect(message).to.have.property(\"messages\");", + "\tpm.expect(message.messages).to.have.length.gte(1);", + "\tmessage.messages.forEach(function(message) {", + "\t\t\tpm.expect(message).to.have.property(\"messageType\");", + "\t\t\tpm.expect(message).to.have.property(\"text\");", + "\t\t\tpm.expect(message).to.have.property(\"code\");", + "\t\t\tpm.expect(message).to.have.property(\"timestamp\");", + "\t});", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/shells/:shellid", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "shells", + ":shellid" + ], + "variable": [ + { + "key": "shellid", + "value": "dHJhY2VhYmlsaXR5L3Vybjp1dWlkOmY1ZWZiZjQ1LTdkODQtNDQ0Mi1iM2I4LTA1Y2YxYzVjNWEwYw==" + } + ] + } + }, + "response": [] + }, + { + "name": "030306_ONE_SUBMODEL", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 specific submodel was successful\", function () {", + " pm.expect(pm.response.code).oneOf([200]);", + " submodel = pm.response.json();", + "\tpm.expect(submodel).to.have.property(\"id\");", + "\tpm.expect(submodel).to.have.property(\"idShort\");", + "\tpm.expect(submodel).to.have.property(\"semanticId\");", + "\tpm.expect(submodel.semanticId).to.have.property(\"keys\");", + "\tpm.expect(submodel.semanticId.keys).to.have.length.gte(1);", + "\tpm.expect(submodel).to.have.property(\"submodelElements\");", + "\tpm.expect(submodel.submodelElements).to.have.length.gte(1);", + "\tsubmodel.submodelElements.forEach(function(submodelElement) {", + "\t\t\tpm.expect(submodelElement).to.have.property(\"idShort\");", + "\t\t\tpm.expect(submodelElement).to.have.property(\"value\");", + "\t});", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/submodels/:submodelIdentifier?level=deep", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "submodels", + ":submodelIdentifier" + ], + "query": [ + { + "key": "level", + "value": "deep" + }, + { + "key": "content", + "value": "value", + "disabled": true + } + ], + "variable": [ + { + "key": "submodelIdentifier", + "value": "dHJhY2VhYmlsaXR5L3VybjpiYW1tOmlvLmNhdGVuYXgucGFydF9hc19wbGFubmVkOjEuMC4xI1BhcnRBc1BsYW5uZWQvdXJuOnV1aWQ6ZjVlZmJmNDUtN2Q4NC00NDQyLWIzYjgtMDVjZjFjNWM1YTBi" + } + ] + } + }, + "response": [] + }, + { + "name": "030307_NOTEXISTS_SUBMODEL", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"AAS 3.0 not existant submodel wasfailure\", function () {", + " pm.expect(pm.response.code).oneOf([400,500]);", + " message = pm.response.json();", + "\tpm.expect(message).to.have.property(\"messages\");", + "\tpm.expect(message.messages).to.have.length.gte(1);", + "\tmessage.messages.forEach(function(message) {", + "\t\t\tpm.expect(message).to.have.property(\"messageType\");", + "\t\t\tpm.expect(message).to.have.property(\"text\");", + "\t\t\tpm.expect(message).to.have.property(\"code\");", + "\t\t\tpm.expect(message).to.have.property(\"timestamp\");", + "\t});", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{providerAasBridge}}/api/v3.0/submodels/:submodelIdentifier?level=deep", + "host": [ + "{{providerAasBridge}}" + ], + "path": [ + "api", + "v3.0", + "submodels", + ":submodelIdentifier" + ], + "query": [ + { + "key": "level", + "value": "deep" + }, + { + "key": "content", + "value": "value", + "disabled": true + } + ], + "variable": [ + { + "key": "submodelIdentifier", + "value": "dHJhY2VhYmlsaXR5L3VybjpiYW1tOmlvLmNhdGVuYXgucGFydF9zaXRlX2luZm9ybWF0aW9uX2FzX3BsYW5uZWQ6MS4wLjAjUGFydFNpdGVJbmZvcm1hdGlvbkFzUGxhbm5lZC91cm46dXVpZDplNWM5NmFiNS04OTZhLTQ4MmMtODc2MS1lZmQ3NDc3N2NhOTc=" + } + ] + } + }, + "response": [] + } + ] + } + ] } ] }, diff --git a/docs-kits/kits/knowledge-agents/operation-view/policy.md b/docs-kits/kits/knowledge-agents/operation-view/policy.md index 8ed4e9a827f..b6ae6e3c0c1 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/policy.md +++ b/docs-kits/kits/knowledge-agents/operation-view/policy.md @@ -117,7 +117,7 @@ A result from would look like this }, "version": { "type": "literal", - "value": "1.12.19" + "value": "1.13.22" } }, { diff --git a/docs-kits/kits/knowledge-agents/operation-view/provider.md b/docs-kits/kits/knowledge-agents/operation-view/provider.md index 426e37fd9f9..e7d76772920 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/provider.md +++ b/docs-kits/kits/knowledge-agents/operation-view/provider.md @@ -50,7 +50,7 @@ Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example u ```yaml - name: provisioning-agent repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.12.19 + version: 1.13.22 alias: my-provider-agent ``` @@ -317,7 +317,7 @@ Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example u ```yaml - name: remoting-agent repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.12.19 + version: 1.13.22 alias: my-remoting-agent ``` @@ -1112,7 +1112,7 @@ curl --location --globoff 'https://my-connector-control.domain/management/v3/ass "cx-common:name": "Lifetime Prognosis Service for Gearboxes", "cx-common:description": "A sample graph asset/offering referring to a specific prognosis resource.", "cx-common:description@de": "Ein Beispielasset für eine Prognosefunktion.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?supplier=Graph", "dc:type": "cx-taxo:GraphAsset", @@ -1158,7 +1158,7 @@ curl --location --globoff 'https://my-connector-control.domain/management/v3/ass "cx-common:name": "Health Prognosis Service for Gearboxes", "cx-common:description": "A second sample graph asset/offering referring to a specific prognosis resource.", "cx-common:description@de": "Ein weiteres Beispielasset für eine Prognosefunktion.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?supplier=Graph", "dc:type": "cx-taxo:GraphAsset", diff --git a/docs-kits/kits/knowledge-agents/operation-view/testbed.md b/docs-kits/kits/knowledge-agents/operation-view/testbed.md index e42b179cd09..8c9030bd313 100644 --- a/docs-kits/kits/knowledge-agents/operation-view/testbed.md +++ b/docs-kits/kits/knowledge-agents/operation-view/testbed.md @@ -57,6 +57,8 @@ The scripts are organised as follows: * 030101_PROVIDER_DATA_SPARQL - scripts to be run against Data Provider Agents * 0302_PROVIDER_FUNCTION - scripts to be run at Function Provider CAPs * 030201_PROVIDER_FUNCTION_SPARQL - scripts to be run against Function Provider Agents + * 0303_PROVIDER_AAS - scripts to be run at AAS Provider CAPs + * 030301_PROVIDER_AAS_API - scripts to be run against AAS Provider Bridge * 04_CONSUMER - scripts to be run against Consumer CAPs * 0401_CONSUMER_APPLICATION - scripts to be run against a KA-enabled Application * 040101_CONSUMER_APPLICATION_SPARQL - scripts to be run against a SPARQL-speaking Application @@ -184,7 +186,7 @@ The CAB may use the following Graph Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Open Conforming Asset.", "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", "dct:type": "cx-taxo:GraphAsset", @@ -225,7 +227,7 @@ The CAB may use the following Graph Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Closed Conforming Asset.", "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", "dct:type": "cx-taxo:GraphAsset", @@ -266,7 +268,7 @@ The CAB may use the following Graph Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Unfederated Conforming Asset.", "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Graph&mode=open", "dct:type": "cx-taxo:GraphAsset", @@ -311,7 +313,7 @@ The CAB may use the following Skill Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Open Skill", "cx-common:description": "A conformity assessment skill.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", "dct:type": "cx-taxo:SkillAsset", @@ -353,7 +355,7 @@ The CAB may use the following Skill Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Closed Skill", "cx-common:description": "A conformity assessment skill.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", "dct:type": "cx-taxo:SkillAsset", @@ -395,7 +397,7 @@ The CAB may use the following Skill Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Provider-Forced Skill", "cx-common:description": "A conformity assessment skill.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", "dct:type": "cx-taxo:SkillAsset", @@ -437,7 +439,7 @@ The CAB may use the following Skill Asset Descriptions (referring to the contrac "properties": { "cx-common:name": "Consumer-Forced Skill", "cx-common:description": "A conformity assessment skill.", - "cx-common:version": "1.12.19", + "cx-common:version": "1.13.22", "cx-common:contenttype": "application/json, application/xml", "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", "dct:type": "cx-taxo:SkillAsset", diff --git a/docs-kits/kits/knowledge-agents/page_changelog.md b/docs-kits/kits/knowledge-agents/page_changelog.md index af23894514e..da556efa0ea 100644 --- a/docs-kits/kits/knowledge-agents/page_changelog.md +++ b/docs-kits/kits/knowledge-agents/page_changelog.md @@ -32,6 +32,16 @@ sidebar_position: 1 All notable changes to the (Knowledge) Agents KIT will be documented in this file. +## [1.2.0] - 2024-07-29 + +### Added + +- AAS Bridge Released + +### Changed + +- References to 24.08 (1.31.22/1.13.7) + ## [1.1.0] - 2024-05-13 ### Added diff --git a/docs-kits_versioned_docs/version-24.03/introduction.md b/docs-kits_versioned_docs/version-24.03/introduction.md deleted file mode 100644 index e10b99d0138..00000000000 --- a/docs-kits_versioned_docs/version-24.03/introduction.md +++ /dev/null @@ -1 +0,0 @@ -# Introduction diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Building_Block_Architecture_Overview_V1.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Building_Block_Architecture_Overview_V1.png deleted file mode 100644 index ece4bc98e02..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Building_Block_Architecture_Overview_V1.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Business_Process_Overview_V1.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Business_Process_Overview_V1.png deleted file mode 100644 index 185fc04e2bc..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/images/BT_HI_KIT_Business_Process_Overview_V1.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_adoption-view.md deleted file mode 100644 index a92097b713f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_adoption-view.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -id: Adoption View Health Indicator Kit -title: Adoption View -description: 'Health Indicator Kit' -sidebar_position: 2 ---- - -![Health Indicator kit banner](@site/static/img/doc-hi_header-minified.png) - -### Health Indicator Kit - - -## Vision & Mission - -### Vision - -Health monitoring of products and components is highly attractive. It offers significant added value for OEMs and suppliers and is already often part of the product range or product inquiry. - -The Behaviour *Health Indicator* Kit (BT HI Kit) efficiently supports the planning, design, construction, use and operation of product-related services for health monitoring as part of quality management. - -Based on the calculation of health indicators, the performance and condition of products and components in the field can be continuously monitored, recorded and transmitted along the supply chain. During the usage phase, abnormalities, possible defects or failures are reliably and identified early on, so that measures can be taken in good time. - -### Mission - -The Behaviour *Health Indicator* Kit (BT HI Kit) comes with the necessary Catena-X standards for health indicators and HI statements. Interoperable solutions are created on their basis. The Kit includes tools for easy implementation of component-specific health indicators and for their determination based on dynamic input data. All components are easily adaptable to specific applications and simplify the journey to the finished service. - -### Customer Journey - -With the *Health Indicator* Kit, we support the Catena-X customer journey for our adopters and solutions providers. - -## Business Value - -Through the standardized specifications described in the BT HI Kit – for example the semantic models and APIs – OEMs and TIER-X as data and service provider can reduce investment and implementation costs. Catena-X infrastructure and technology offers easy scalability regarding vehicle components and supply chain. - -## Use Case - -- OEM, TIER-X: During the usage phase, health indicators provide a continuous and comprehensive view of the condition of products in the field. Abnormalities, possible defects or failures can be detected reliably and early on. This provides the time advantage to initiate countermeasures in good time. -During development phase, health indicators can be used to bring more mature products into series production. - -- Tier-X: The overall product range becomes more attractive in the offer phase, when the definition of health indicators as a product-related service is included. - -- Workshops: In case of failure analysis and repair, workshops benefit from an extended range of data on vehicle condition and its components. In return, service providers can standardize and facilitate access to the OEM. - -### Status Quo - -Within company boundaries, the calculation of health indicators based on internally available data and models is already state of the art. However, across company boundaries, there are only individual, complex and not generally available options for component-specific transfer or monitoring of health indicators. - -### Today’s challenge - -For successful implementation, the following challenges must be addressed: - -- the correct allocation of health indicators to the respective component -- recording and providing the necessary input variables -- easy to interpret results -- secure data transfer along the supply chain -- easy scalability across company boundaries - -### Benefits - -**OEMs and big suppliers** benefit from an increase in quality and shorter response times to anomalies in the field. The decisive hub is created by the standardized provision of health indicators across company boundaries — always in compliance with IP and data protection. - -## Logic & Schema - -### Building Block View - -The architecture image describes the interaction between the HI Service and the Knowledge Agent components. - -![Building Block Architecture Overview](images/BT_HI_KIT_Building_Block_Architecture_Overview_V1.png) - -### HI Components - -|Subsystem| Description | -|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|HI Application| This component is the app that is hosted at the Consumer/Data Provider. The data provider can select multiple vehicle identifier numbers (VIN) and gets back calculated HI values. | -|Loading Data | A data source at the Data Provider that provides the loading data and other vehicle data that are needed for the HI calculation.
          It can be accessed by the knowledge agent via data bindings. | -|HI Service| A HI calculation service at the Service Provider. It accepts input data from the Data Provider, calculates the HI value and returns it. | - -### Knowledge Agent components - -|Subsystem| Description | -|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|Matchmaking Agent| This component supports SparQL to traverse the federated data space as a large data structure. It interacts with the EDC.
          • The provider's Matchmaking Agent will be activated by its EDC. Therefore, the EDC must offer a Graph Asset (variant of ordinary data assets in the Catena-X EDC standard).
          • The consumer's Matchmaking Agent interacts with its EDC to negotiate and perform the transfer of Sub-Skills to other dataspace participants.
          The Matchmaking Agents are matching the (sub)graphs and negotiate appropriated graph assets with the partner EDCs. | -|Binding Agent| The Binding Agent is a restricted version of the Matchmaking Agent (subset of OWL/SparQL, e.g., without federation) which is just focused on translating Sub-Skills of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls.
          Implementation details: For data bindings, OnTop is used. For service bindings, RDF4J is used. | -|Ontology| The ontology is a formal representation of knowledge that captures concepts, relationships, and properties. It allows a shared understanding and reasoning about the respective domain.
          It must be hosted in a way that all participants can access it. Currently, the ontology is hosted at GitHub. | -|Skill/Sub-Skill| The Skill describes, what to do (which data have to be connected, transferred and so on). | - -### Catena-X Core Services (except Knowledge Agent components) - -|Subsystem|Description| -|---------|-----------| -|Eclipse Dataspace Components (EDC)|The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems.| - -## Business Process - -![Business Process Overview](images/BT_HI_KIT_Business_Process_Overview_V1.png) - -|Role|Description| -|---------|-----------| -|User @ OEM|Wants to continuously monitor the status of several vehicle's component.| -|OEM|Needs to collect or generate load/input data for the HI calculation from vehicle or backend.| -|Supplier|Acts here as a service provider and uses the input data to estimate HI values and send it back to OEM.| - -## Access and Usage Policies - -To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the EDC, described in the following. - -### Access Policies - -To decide which company has access to the data assets, access policy should be used. It is maybe possible to skip access policies, but this will made all data assets public available in the Catena-X network and is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). In the near future, other access policies will be introduced like a company role and attribute based policy. Further details can be found in this page of the [EDC](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/business-partner-validation). - -### Usage policies - -Use case specific credentials exist and will be mandatory. Their documentation will be available after SSI release. -A Behaviour Twin "Use Case Rahmenbedingung" which covers the business process of the app will be available after SSI release. -This Rahmenbedingung document can be referenced in the usage policies, and therefore limit Data & Service access to Behaviour Twin participants. - - - -## Standards - -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library). - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2022,2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -- SPDX-FileCopyrightText: 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2022,2023 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2022,2023 Contributors to the Eclipse Foundation - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_changelog.md deleted file mode 100644 index bd9c32205b1..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin HI Kit/page_changelog.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: Changelog Health Indicator Kit -title: Changelog -description: 'Health Indicator Kit' -sidebar_position: 1 ---- - -![Health Indicator kit banner](@site/static/img/doc-hi_header-minified.png) - -### Health Indicator Kit - -All notable changes to this Kit will be documented in this file. - -## [0.1.1] - 2023-12-20 - -### Added - -- Kit logo. - -### Changed - -- ./. - -### Removed - -- ./. - -## [0.1.0] - 2023-12-08 - -### Added - -- Initial preview version of the Kit including adoption view. - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_adoption-view.md deleted file mode 100644 index 38febfcf032..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_adoption-view.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -id: Adoption View Model Based Development and Data Processing Kit -title: Adoption View -description: 'Model Based Development and Data Processing Kit' -sidebar_position: 2 ---- - -![Model Based Development and Data Processing Kit banner](@site/static/img/doc-mdp_header-minified.png) - -### Model Based Development and Data Processing Kit - - -## Vision & Mission - -### Vision - -Collaborative model based system development and massive engineering data analytics are both key to cope with challenges in the market of electric and autonomous vehicles. - -The aim of the Model Based Development and Data Processing Kit (MDP) is to create a framework for the exchange and collaborative use of simulation models and data services across different players in the automotive industry. -The exchange of models allows the generation of physically precise overall models during the design phase without compromising the intellectual property of the model owner. -The exchange of data services (like scripts as well as simulation models) allows the post-processing of data in the operational phase. - -### Mission - -The Model Based Development and Data Processing Kit comes with the necessary Catena-X standard for model exchange. In addition, suggestions are given on how to create models that have a high-level of interoperability. These suggestions will be part of a new standard in the next version of the MDP Kit. -The Kit includes examples code on how to register your models and data services in Catena-X, how to assign metadata to them and how to use the metadata to retrieve what you need from the catalogue of a Catena-X partner. The solution is based on the existing Connector Kit (EDC). -Information on how to combine and connect simulation models to create an overall model are also provided as well as an example of how to combine services and models for enhanced post-processing of operational data. - -### Customer Journey - -With the *Model Based Development and Data Processing* Kit, we support the Catena-X customer journey for our adopters and solutions providers. - -## Business Value - -The Model Based Development and Data Processing Kit allows application software providers access to information: - -- needed to build a Catena-X conform simulation model, -- to support simulation model integration, -- enable complex simulation studies, -- to support data processing exchange services, -- needed to combine basic data processing services to complex ones. - -In addition, model and data processing providers can enter potential new markets in which simulation models are provided alongside the product and offer the possibility to build data processing services by combining basic services. - -## Use Case - -Use cases based on the MDP Kit are basically not limited to certain partners in the supply pyramid, however for a better understanding the following describes the collaboration based on the example between an OEM and a Tier-1. - -- A Tier-1 shares a model of a component with an OEM. The OEM can perform a system simulation which includes both, its own components and the component from the Tier-1. Similarly, the OEM can use several models of components from several Tier-1s. Selected results from the integrated model can be sent from the OEM to the Tier-1s. (same with Tier-2 and Tier-1) -- An OEM shares a model and inputs for (virtually) testing of Tier-1s components under conditions of interests. The Tier-1 can build a system simulation with its own components and the models from the OEM and analyze the behaviour of the own component under the defined conditions. Selected results of the virtual test can be sent from the Tier-1 to the OEM. (same with Tier-1 and Tier-2) -- An OEM is starting the development of a follow-up vehicle model, including also new components from Tier-N suppliers. Virtual testing of new components in a new vehicle model will be realized based on real customer data from predecessor vehicles, which exists on OEM side and component digital twins (FMU) from Tier-N (if allowed by contract). The complex procedural integration of existing data and FMUs will be done by an engineering company, which then provides two result options: - - virtual testing results - - virtual testing workflow for OEM and Tier-N supplier - -### Status Quo - -Nowadays exchange of simulation models across company boundaries in the design phase is rare. Each player develops its components based on assumptions of how the partner components behave or builds approximate models of the partner components based on tables that describe their behaviour or other information from the producers. - -Virtual testing of components (based on digital twins, e.g. FMUs) is already state of the art. However, the representativeness is often limited due to the availability of real customer data. In addition cross company testing procedures are also limited to interoperability and processing complexity boundaries. - -### Today’s challenge - -Simulation models contain critical information about the intellectual properties of a company. This makes it difficult for companies to share their models with their suppliers or customers. In addition building simulation models compatible with those of suppliers or customers requires agreements on how the model should be built and the data format to use. - -Provide representative (behavioural) digital twins of components or even vehicles. This includes on the one hand the digital twin as a virtual model, but also the behaviour and usage, i.e. the data which drives the model. The challenge is the combination of both while intellectual properties of all companies are kep - -### Benefits - -The benefits for companies using models coming from suppliers or customers relies in the shortening of the development time. This is possible since the developed components are integrated with realistic models of the components they interact with or are (virtually) tested under realistic conditions. This setup provides the best scenarios for development and decreases the number of iterations needed to come to the final design. - -In addition, the generation of simulation models based on the Catena-X standardization and the guidelines in this Kit considerably increases the compatibility of the models among different companies. - -More realistic (in terms of representativeness) behavioural digital twins of vehicles and/or components can be provided. Data processing workflows are not limited by its complexity. - -## Logic & Schema - -### Building Block View - -The architecture image describes the interaction between the model/data provider and the model/data consumer. - -![Building Block Architecture Overview](images/RKIT_Building_Block_Architecture_Overview_V2.png) - -|Subsystem|Description| -|---------|-----------| -|Model/Data Processing App|This component is the App that is hosted at the Consumer and provides the framework to process the models (e.g. integrate and execute them) or the data (e.g. compose and execute workflows).| -|EDC interface| The EDC Interface is used for registering/retrieving assets using asset properties. Data Providers use metadata in the form of asset properties to classify their shared assets. Data Consumer filters the catalogue using the asset properties to retrieve the needed assets.| - -### Catena-X Core Services - -|Subsystem|Description| -|---------|-----------| -|Eclipse Dataspace Components (EDC)|The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems.| - -## Business Process - -### Collaborative model and data based system development - -A car manufacturer is starting the **development** of a follow-up car model. -Some parameters of the new car model are already fixed (mass, engine power) but no prototype yet exists. -A supplier is proposing to use the next generation of his component for the new car. -The manufacturer wants to make sure that the new component is performing well in the new vehicle. -So, a decision is made to use real **usage data** from the predecessor vehicle for the verification of the new component. -The usage of predecessor data is not straightforward and the car manufacturer decides to assign the task of setting up an appropriate process to a **modeling specialist**. The modeling specialist needs to **integrate** an **FMU** from the supplier to **simulate** the new **component** in the **process**. Finally, **both** the car manufacturer and the supplier want to be able to **execute** the **process** and do fine tuning on component parameters. - -How can Catena-X help the parties to come to an efficient solution? -![Business Process Partners](images/Pic_Proc_0.png) - -### The following sketches illustrate the Business Process - -![Business Process 1 Partners](images/Pic_Proc_1.png) - -A maximum of 4 participants is involved in this scenario. -But instead of being 3rd party the Modeling Specialist could be alternatively: - -- the OEM -- the Catena-X Service - Software Provider -- the Tier-1 - -![Business Process 2 Partners](images/Pic_Proc_2.png) - -The OEM publishes all required models and auxiliary information and some portion of predecessor data. -The Tier-1 publishes the model of his new component. -The Modeling specialist consumes all the information from the other parties. - -![Business Process 3 Partners](images/Pic_Proc_3.png) - -The Modeling specialist creates processes to convert the predecessor data to virtual data of the new car-model. -He then combines and adapts the different models. Finally all together is evaluated. -All this is done utilizing the software provided by the Catena-X Service (a software providing service). - -![Business Process 4 Partners](images/Pic_Proc_4.png) - -The Modeling Specialist publishes the combined model and the OEM consumes it. -Depending on the OEM’s instruction to the Modeling Specialist the Tier-1 may also consume the combined model or not. - -![Business Process 4 Partners](images/Pic_Proc_5.png) - -By utilizing the Software provided via the Catena-X Service the OEM can evaluate all available predecessor data. -Optionally he publishes predecessor data so that the Tier-1 can evaluate too and improve his component's -performance with the new car-model. - -### Access Policies - -To decide which company has access to the data assets, access policies should be used. It is maybe possible to skip access policies, but this would make all data assets publicly available in the Catena-X network and is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). This is possible using an existing extension for the EDC documented here. In the near future, other access policies will be introduced like a company role and attribute based policy. - -### Usage policies - -Use case specific credentials exist and will be mandatory. Their documentation will be available after SSI release. A Behavior Twin "Use Case Framework" which covers the business process of the app will be available after SSI release. This Framework document can be referenced in the usage policies, and therefore limit Data & Service access to Behavior Twin participants. - - - -## Standards - -The Standard CX-0102-Functional-Mock-Up has been submitted for standardization and will soon be linked here. - -The Standard aims at using the exisiting FMI industry standard as a Catena-X standard. - -The Functional Mock-up Interface (FMI) is a free standard that defines a container and an interface to exchange dynamic simulation models using a combination of XML files, binaries and C code, distributed as a ZIP file. It is supported by 170+ tools and maintained as a Modelica Association Project. The FMI implementation by a software modelling tool enables the creation of simulation models that can be interconnected. The file format of the FMI standard is called Functional Mock-up Unit (FMU)(source: ). - -### Guidelines for generating FMU - -The FMU/FMI format allows a high degree of flexibility in generating an FMU model. On the one hand, this allows the format to be used for a large variety of use cases and of tools. On the other hand, interoperability between FMUs is not always guaranteed. - -The list of guidelines below have the goal to guide the modeling expert in the creation of an FMU for the Model and Data Processing use cases. - -**Guidelines**: - -- generate a license-free FMU so that it can be imported in any software, -- generate a co-simulation FMU so that solver is included in the FMU and can be directly executed, -- assign units of measure to each port as far as physically meaningful. Depending on the software, the connection of two ports is only allowed if the unit of measure is the same or if the unit of measure is empty. The second case can lead to mismatching, -- embedd all needed tables and files while creating the FMU, -- expose only numerical parameters to the user for changing. - -### Guidelines for assigning asset properties to FMU and services - -To ensure an unity and to keep assets like FMU and/or services retrievable, a certain set of properties as FMU/service description is recommended. - -The following list of potential properties along with some examples shall be seen as a guideline: - -- Type (FMU, AMESIM model, Testlab process,...) -- Name/Title (NF_7B5_07.fmu, ...) -- Keywords (Leistungselektronik, ...) -- Description (...) -- Input data (Temperature of component XYZ,...) -- Output data (Pseudo damage of component XYZ,...) -- GenerationTool (Simulink 9.1, AMESIM,...) -- Producer/Publisher (ZF, Siemens,...) -- Version (1.4,...) -- Release date (2023-09-18,...) -Some properties could be selected from a pre-defined list (and not be free text) in order to ensure a certain standardization during asset registration - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2023 Siemens AG -- SPDX-FileCopyrightText: 2023,2023 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2023 Contributors to the Eclipse Foundation - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_changelog.md deleted file mode 100644 index 28bd9395a42..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/page_changelog.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: Changelog Model Based Development and Data Processing Kit -title: Changelog -description: 'Model Based Development and Data Processing Kit' -sidebar_position: 1 ---- - -![Model Based Development and Data Processing Kit banner](@site/static/img/doc-mdp_header-minified.png) - -### Model Based Development and Data Processing Kit - -All notable changes to this Kit will be documented in this file. - -## [0.1.1] - 2023-12-20 - -### Added - -- Kit logo. - -### Changed - -- ./. - -### Removed - -- ./. - -## [0.1.0] - 2023-12-08 - -### Added - -- Initial preview version of the Kit including adoption view. - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index 7b63524fb4d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,1127 +0,0 @@ ---- -id: Specification Remaining Useful Life Kit -title: Specification -description: 'Remaining Useful Life Kit' -sidebar_position: 4 ---- - -![Remaining Useful Life kit banner](@site/static/img/doc-rul_header-minified.png) - - -### Remaining Useful Life Kit - -**This is only a preview KIT.** - -There will be changes in the following releases. -We plan to provide a more general RuL skill and more generalized interfaces for service -input data. With these improvements, it will be much easier and more flexible for you to -participate in the RuL use case. - -## Overview - -The RuL use case takes advantage of knowledge graphs. Therefore, every participant must support the Knowledge Agent (see Knowledge Agent KIT). - -### Roles - -As a developer in the Remaining Useful Life use case, you may apply to one or more -of the following roles: - -- RuL consumer (RuL result requester) -- skill provider (provider of the use case logic) -- RuL data provider (provider of usage data, likely an OEM) -- delegator (likely a supplier of a component that is assembled of subcomponents which are providing RuL calculation services) -- RuL calculation service provider (likely a supplier of a part or component) - -### Logic - -The central logic of the RuL use case is a **RuL skill**. -You can use a predefined RuL skill and use it or modify it to build up a similar use -case. It is written in SPARQL, a query language for federated knowledge graphs. -The current RuL skill takes vehicle identifier numbers (VINs) as parameters. -In general, a RuL skill will take one or more vehicle/component IDs as parameters. -It then collects the related usage data at the RuL data providers and calls the RuL -calculation services at the RuL service providers. The result is then collected and -transferred to the consumer. - -### Your interface - -You always need access to your **running EDC with knowledge agent components** and -the (extensible) **ontologies of Catena-X**. In most cases, you can use them as they are. - -Your interface to the use case depends on your role(s): -If you are only a consumer, you are fine with the previous mentioned components. -If you are a data provider or delegator, you may have your data organized in relational databases. In this case, you need to have a running **provisioning -agent** with **configured data bindings** (linking your data to the knowledge graph). -If you are a service provider, you need to have a running **remoting agent** with -**configured service bindings** (linking your service to the knowledge graph). - -For more information, see the operation view. - -### Mandatory components - -- ontologies (semantic models) -- usage data -- calculation services -- EDC + knowledge agent -- delegation data -- matchmaking agent: Mapping ontology to knowledge graph, integrated into KA-dataplane -- binding agents: - - provisioning agent: provide data - - remoting agent: bind service to graph - -| | calculation service provider | delegator | RuL data provider | RuL consumer | skill provider | -| --------------------- | :---: | :---: | :---: | :---: | :---: | -| EDC + knowledge agent
          + matchmaking agent | x | x | x | x | x | -| ontologies | x | x | x | x | x | -| skill-access | | | | x | x | -| delegation data | | x | x | x | | -| usage data | | | x | | | -| provisioning agent | | | x | | | -| calculation service | x | | | | | -| remoting agent | x | | | | | - -### Knowledge graph basics - -Knowledge graphs are buildup of semantic triplets (subject --predicate-> object), where subject and object are nodes, the predicate is a unidirectional edge. All nodes are object instances, and the edges between them are their relations. For more information, see [W3C Resource Description Framework (RDF)](https://www.w3.org/RDF/). -Object types and relations are formally defined within ontologies. - -### Basic Architecture - -For a detailed view of the architecture with the knowledge agent see the Knowledge Agent KIT. -Here you can see an overview over the used components and elements that must be developed: - -![Remaining Useful Life architecture overview](../assets/rul_architecture_overview.png) - -### Ontology - -For the Behaviour Twin (BT) RuL User Case, beside the [core](https://w3id.org/catenax/core_ontology.ttl) and [common](https://w3id.org/catenax/common_ontology.ttl) ontologies, a specific ontology was defined. For our use cases following sub-ontologies are needed: - -- [reliability ontology](https://w3id.org/catenax/reliability_ontology.ttl) -- [vehicle ontology](https://w3id.org/catenax/vehicle_ontology.ttl) and -- [behaviour ontology](https://w3id.org/catenax/behaviour_twin.ttl) - -All needed ontologies for the RuL use case are bundled in one named on our [Behaviour Twin Kit](https://w3id.org/catenax/usecase/behaviour_twin.ttl). - -General information about Knowledge-Agent Semantic Models refer to the [KA-KIT](https://catenax-ng.github.io/product-knowledge/docs/development-view/modules#semantic-models). -The specific (reliability and behaviour) ontologies are based respectively compatible with the standardized SAMM Models ([Load Spectrum](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.classified_load_spectrum) and [Remaining Useful Life](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.rul/1.0.0/RemainingUsefulLife.ttl)) release by Behaviour Twin team. - -For the calculation of the remaining useful life for a specific component, the service needs to get the Load Spectrum data to proceed with the calculation. Hence, in the reliability ontology all needed semantic models are defined. - -``` ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -### https://w3id.org/catenax/ontology/reliability#LoadSpectrum -cx-reliability:LoadSpectrum rdf:type owl:Class ; - rdfs:subClassOf cx-reliability:AnalysisResult ; - rdfs:seeAlso , - ; - skos:altLabel "load collective"@en ; - skos:definition "Load spectrum is a 2d histogram that contains the load history of a vehicle, i.e. how a vehicle was used, for a given time period."@en ; - skos:example "force"@en , - "tension"@en , - "torque"@en ; - skos:prefLabel "Lastkollektiv"@de , - "Load Spectrum"@en . -``` - -The RuL services were designed with interoperability in mind, thus the communication in both directions (input/input) fully supports the Catena-X Notification standard. These aspects are also covered by Catena-X ontologies. The RuL Calculation can return two values: - -- Remaining Running Distance and -- Remaining Operating Hours - -For this purpose, in the behaviour_ontology, a function is defined: - -``` ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function; - dc:description "Remaining Useful Life is a Prediction of the Estimated Mileage/Runtime until a Breakdown."@en ; - dc:title "Remaining Useful Life" ; - cx-fx:input cx-behaviour:notification; - cx-fx:input cx-behaviour:sender; - cx-fx:input cx-behaviour:senderConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:severity; - cx-fx:input cx-behaviour:status; - cx-fx:input cx-behaviour:targetDate; - cx-fx:input cx-behaviour:timeStamp; - cx-fx:input cx-behaviour:classification; - cx-fx:input cx-behaviour:component; - cx-fx:input cx-behaviour:metadata; - cx-fx:input cx-behaviour:statusDate; - cx-fx:input cx-behaviour:statusOperatingHours; - cx-fx:input cx-behaviour:statusMileage; - cx-fx:input cx-behaviour:countingMethod; - cx-fx:input cx-behaviour:countingValue; - cx-fx:input cx-behaviour:countingUnit; - cx-fx:input cx-behaviour:headerChannels; - cx-fx:input cx-behaviour:bodyClasses; - cx-fx:input cx-behaviour:bodyCountsList; - cx-fx:result cx-behaviour:response. -``` - -The result contains the expected values: - -``` ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -cx-behaviour:response rdf:type cx-fx:Result; -dc:description "The asynchronous notification response."@en ; -dc:title "Asynchronous notification response." ; -cx-fx:output cx-behaviour:remainingOperatingHours; -cx-fx:output cx-behaviour:remainingRunningDistance. - -cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue; - dc:description "Predicted Operating Hours of Remaining Useful Life Response"@en ; - dc:title "Remaining Useful Life Operating Hours" ; - cx-fx:dataType xsd:float. - -cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue; - dc:description "Predicted Distance of Remaining Useful Life Response"@en ; - dc:title "Remaining Useful Life Distance" ; - cx-fx:dataType xsd:int. -``` - -### Standards/SAMM - -- [Load Spectrum](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.classified_load_spectrum) -- [Remaining Useful Life](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.rul/1.0.0/RemainingUsefulLife.ttl) - -## RuL Skill - -Applies to: *RuL Skill provider* - -For the RuL calculation of a vehicle part, we have three different "roles" involved: - -- consumer: which request the RuL value by VIN. -- OEM: which has the vehicle Load Spectrum data and forwards them by calling the supplier of that specific part. -- Supplier: which provides the service for the RuL calculation for his parts. - -A reference (sample) Agent-Skill for a Gearbox is implemented, - -For more information regarding the RuL Skill see [Knowledge Agent KIT](https://bit.ly/tractusx-agents). - -``` sparql -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -PREFIX cx-common: -PREFIX cx-core: -PREFIX cx-vehicle: -PREFIX cx-reliability: -PREFIX cx-behaviour: -PREFIX rdf: -PREFIX rdfs: -PREFIX xsd: -PREFIX json: -PREFIX bpnl: -PREFIX oem: -PREFIX supplier: - -################################################################ -# Sample for a Federated (Consumer-Deployed) SparQL Skill which -# - Jumps into an OEM-owned reliability asset given a set of candidate VANs -# - Feeds the gathered data back into the respective supplier connector/agent -#. to perform a health indication -# Author: cgjung -# (c) 2023 Catena-X assocation -################################################################ - -SELECT DISTINCT ?vehicle ?van ?aggregate ?assembly ?supplier ?distanceKm ?timeHours WHERE { - - VALUES (?van ?aggregate) { - ("@van"^^xsd:string "Differential Gear"^^xsd:string) - } - - VALUES (?ls_type) { - ("GearOil"^^xsd:string) ("GearSet"^^xsd:string) - } - - bpnl:{{oemBPNL}} cx-common:hasConnector ?oemEDC. - ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?reliabilityAssetId]. - - SERVICE ?oemEDC { - GRAPH ?reliabilityAssetId { - ?vehicle rdf:type cx-vehicle:Vehicle; - cx-vehicle:vehicleIdentificationNumber ?van. - - ?assembly rdf:type cx-vehicle:Part; - cx-vehicle:name ?aggregate; - cx-vehicle:isPartOf ?vehicle; - cx-vehicle:supplier ?supplier. - - ?teleAnalysis rdf:type cx-reliability:Analysis; - cx-reliability:analysedObject ?assembly; - cx-reliability:operatingHoursOfVehicle ?operatingTime; - cx-reliability:mileageOfVehicle ?mileage; - cx-core:startDateTime ?recordDate; - cx-reliability:result [ - cx-core:id ?ls_type; - cx-core:name ?ls_name; - cx-reliability:countingValue ?ls_value; - cx-reliability:countingUnit ?ls_unit; - cx-reliability:countingMethod ?ls_method; - cx-reliability:channels ?ls_channels; - cx-reliability:classes ?ls_classes; - cx-reliability:values ?ls_values - ]. - } # OEM#GRAPH - - ?supplier cx-common:hasConnector ?supplierEDC. - ?supplierEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?prognosisAssetId]. - - SERVICE ?supplierEDC { - GRAPH ?prognosisAssetId { - SELECT ?distanceKm ?timeHours WHERE { - ?invocation a cx-behaviour:RemainingUsefulLife; - cx-behaviour:sender bpnl:{{oemBPNL}}; - cx-behaviour:senderConnector ?oemEDC; - cx-behaviour:recipient ?supplier; - cx-behaviour:recipientConnector ?supplierEDC; - cx-behaviour:targetDate ?recordDate; - cx-behaviour:timeStamp ?recordDate; - cx-behaviour:component ?assembly; - cx-behaviour:observationType ?ls_type; - cx-behaviour:statusDate ?recordDate; - cx-behaviour:statusOperatingHours ?operatingTime; - cx-behaviour:statusMileage ?mileage; - cx-behaviour:countingValue ?ls_value; - cx-behaviour:countingUnit ?ls_unit; - cx-behaviour:countingMethod ?ls_method; - cx-behaviour:headerChannels ?ls_channels; - cx-behaviour:bodyClasses ?ls_classes; - cx-behaviour:bodyCountsList ?ls_values; - cx-behaviour:remainingOperatingHours ?timeHours; - cx-behaviour:remainingRunningDistance ?distanceKm. - } - } # SUPPLIER#GRAPH - } # SUPPLIER#CATALOG - - } # OEM#CATALOG - -} # SELECT -``` - -### Skill usage - -The registered skill is available over Agent Plane API and can be called also for a list of input variables: - -```curl -curl --location 'agentPlaneEdcUrl/api/agent?asset=SkillAsset%3Fconsumer%3DRemainingUsefulLife' \ ---header 'Content-Type: application/sparql-results+json' \ ---data '{ - "head": { "vars": [ "van" ]}, - "results": { "bindings": [ - { "van": { "type": "literal", "value": "FNLQNRVCOFLHAQ"}} - ] - } -}' -``` - -The RuL results for the given VAN's is provided are provided as bindings for the requested variables in the Skill itself and looks like: - -```json -{ - "head": { - "vars": [ - "vehicle", - "van", - "aggregate", - "assembly", - "supplier", - "distanceKm", - "timeHours" - ] - }, - "results": { - "bindings": [ - { - "vehicle": { - "type": "uri", - "value": "urn:uuid:4cf8b668-0f27-4f39-b986-36423d81d222" - }, - "van": { - "type": "literal", - "value": "FNLQNRVCOFLHAQ" - }, - "aggregate": { - "type": "literal", - "value": "Some vehicle name" - }, - "assembly": { - "type": "", - "value": "urn:uuid:4cf8b668-0f27-4f39-b986-36423d81d111" - }, - "supplier": { - "type": "uri", - "value": "bpn:legal:BPNL0000SUPPLIER" - }, - "distanceKm": { - "type": "", - "datatype": "http://w3.org/2001/XMLSchema#int", - "value": "123000" - }, - "timeHours": { - "type": "", - "datatype": "http://w3.org/2001/XMLSchema#float", - "value": "12345.0" - } - } - ] - } -} -``` - -If the given VAN is not found on OEM side, then we get an empty binding result: - -```json -{ - "head": { - "vars": [ - "vehicle", - "van", - "aggregate", - "assembly", - "supplier", - "distanceKm", - "timeHours" - ] - }, - "results": { - "bindings": [] - } -} -``` - -## Data bindings for relational data - -Applies to: *RuL data provider* and *delegator* - -### Overview - -In this context, data are usage data as well as delegation data (where the sill/data have to go next). - -In most cases, data are provided in relational form (relational databases, data lakes, ...). -To provide such data as part of the knowledge graph, you have to bind/map them to the underlying ontologies. - -### Data mapping tool - -To bind the relational data to the knowledge graph, you can use a **provisioning agent**, also called the **data binding agent**. The software **Ontop** (see the Ontop webpage [https://ontop-vkg.org/](https://ontop-vkg.org/)), which is under the Apache 2.0 license, is our tool of choice in this case. - -### Data mapping configuration - -To configure the bindings, a config file for the Ontop software has to be created. The file is written in the Ontop mapping language and has the extension **.obda**. For more information, see the Knowledge Agent KIT. - -### Construction of a single data binding - -Each data binding consists of 3 lines in the config file. -The first line defines a unique mapping id (arbitrarily selectable). -The second line lists one or more RDF triplets (target). -The third line is a SQL statement on the relational data source. - -A simple example from: - -``` obda - mappingId partsvehicle - target <{gearbox_id}> cx-vehicle:isPartOf <{vehicle_id}> . - source SELECT vehicle_id, gearbox_id FROM vehicles -``` - -The target is described as a triple with two variables: gearbox_id and vehicle_id. The exact same variables must occur in the result of the source SQL statement. The SQL result is then mapped to the variables in the target triplets. -For each row in the SQL result, a triplet instance is created. If the SQL result is empty, no triplet instances are created. -The result of this example is a triplet that represents the relation between a specific vehicle its gearbox. - -A little more complex example: - -``` obda - mappingId vehicles - target <{vehicle_id}> rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {van}^^xsd:string; cx-vehicle:worldManufaturerId bpnl:{oem_bpnl}; cx-vehicle:productionDate {production_date}^^xsd:date. - source SELECT vehicle_id, van, oem_bpnl, production_date FROM vehicles -``` - -The target now consists of 4 triplets, all with the same subject (<{vehicle_id}>) and separated by a semicolon. The semicolon means, the following triplet only defines the predicate and the object while the subject from the previous triplet is reused. -In the example above, there are the following triplets: - -- *<{vehicle_id}> rdf:type cx-vehicle:Vehicle*: All objects in the database table/view "vehicles" are mapped to the type cx-vehicle:Vehicle. -- *<{vehicle_id}> cx-vehicle:vehicleIdentificationNumber {van}^^xsd:string*: Relation between a vehicle and the related VAN. The type of VAN must be string. -- *<{vehicle_id}> cx-vehicle:worldManufaturerId bpnl:{oem_bpnl}*: Relation between a vehicle and its manufacturer's BPN. -- *<{vehicle_id}> cx-vehicle:productionDate {production_date}^^xsd:date*: Relation between a vehicle and it's date of production. The type of production_date must be date. - -Complex types like the load spectra are composed of many triplets. If you have stored those load spectra as SAMM specified JSON strings, you may decompose them with specific JSON functions of your database system. - -#### Full example - -The following example shows mappings at an OEM that can be used to determine the vehicle object by a given VIN, find the related gearbox and the associated gearbox load spectra: - -```obda -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ -```` - -```obda - [PrefixDeclaration] - cx-common: https://w3id.org/catenax/ontology/common# - cx-core: https://w3id.org/catenax/ontology/core# - cx-vehicle: https://w3id.org/catenax/ontology/vehicle# - cx-reliability: https://w3id.org/catenax/ontology/reliability# - uuid: urn:uuid: - bpnl: bpn:legal: - owl: http://www.w3.org/2002/07/owl# - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# - xml: http://www.w3.org/XML/1998/namespace - xsd: http://www.w3.org/2001/XMLSchema# - json: https://json-schema.org/draft/2020-12/schema# - obda: https://w3id.org/obda/vocabulary# - rdfs: http://www.w3.org/2000/01/rdf-schema# - oem: urn:oem: - - [MappingDeclaration] @collection [[ - mappingId vehicles - target <{vehicle_id}> rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {van}^^xsd:string; cx-vehicle:worldManufaturerId bpnl:{oem_bpnl}; cx-vehicle:productionDate {production_date}^^xsd:date. - source SELECT vehicle_id, van, oem_bpnl, production_date FROM vehicles - - mappingId partsvehicle - target <{gearbox_id}> cx-vehicle:isPartOf <{vehicle_id}> . - source SELECT vehicle_id, gearbox_id FROM vehicles - - mappingId vehicleparts - target <{vehicle_id}> cx-vehicle:hasPart <{gearbox_id}> . - source SELECT vehicle_id, gearbox_id FROM vehicles - - mappingId parts - target <{gearbox_id}> rdf:type cx-vehicle:Part ; cx-vehicle:id {gearbox_id}^^xsd:string; cx-vehicle:name {partTypeInformation_nameAtManufacturer}^^xsd:string; cx-vehicle:number {partTypeInformation_manufacturerPartId}^^xsd:string; cx-vehicle:supplier bpnl:{gearbox_manufacturer_bpnl}; cx-vehicle:productionDate {production_date}^^xsd:date . - source SELECT gearbox_id, production_date, 'Differential Gear' as partTypeInformation_nameAtManufacturer, gearbox_manufacturer_bpnl, 'Dummy Gearbox' as partTypeInformation_manufacturerPartId FROM vehicles - - mappingId partAnalysis - target oem:{newest_telematics_id} cx-reliability:analysedObject <{gearbox_id}>. - source SELECT gearbox_id, newest_telematics_id FROM vehicles - - mappingId analysisInformation - target oem:{id} rdf:type cx-reliability:Analysis; cx-reliability:operatingHoursOfVehicle {metadata_status_operatingHours}^^xsd:float; cx-core:startDateTime {metadata_status_date}^^xsd:dateTime; cx-core:endDateTime {metadata_status_date}^^xsd:dateTime; cx-reliability:mileageOfVehicle {metadata_status_mileage}^^xsd:int. - source SELECT id, metadata_status_operatingHours, metadata_status_date, metadata_status_mileage FROM reading - - mappingId analysisResult - target oem:{id} cx-reliability:result oem:{id}/{index}. - source SELECT id, index FROM loadspectra - - mappingId loadspectrum - target oem:{id}/{index} rdf:type cx-reliability:LoadSpectrum; cx-core:id {metadata_componentDescription}^^xsd:string; cx-core:name {metadata_projectDescription}^^xsd:string; cx-reliability:description {metadata_routeDescription}^^xsd:string; cx-reliability:countingValue {body_counts_countsName}^^xsd:string; cx-reliability:countingUnit {header_countingUnit}^^xsd:string; cx-reliability:countingMethod {header_countingMethod}^^xsd:string; cx-reliability:channels {header_channels}^^json:Object; cx-reliability:classes {body_classes}^^json:Object; cx-reliability:values {body_counts_countsList}^^json:Object . - source SELECT id, index, metadata_componentDescription, metadata_projectDescription, metadata_routeDescription, header_countingUnit, header_countingMethod, header_channels, body_classes, body_counts_countsName, body_counts_countsList FROM loadspectra - - ]] -``` - -### Graph asset for the data binding - -To enable the knowledge agent's matchmaking agent to find the data bindings, a graph asset has to be registered at the EDC. This asset must have a property "rdfs:isDefinedBy" that defines the shape of the provided graph. - -```shacl -",,,", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix cx-common: . \n@prefix : .\n@prefix cx-tele: .\n@prefix owl: .\n@prefix rdf: .\n@prefix xsd: .\n@prefix sh: .@prefix : .\n\n:OemLoadSpectrum rdf:type sh:NodeShape ;\n sh:targetClass cx-tele:LoadSpectrum ;\n sh:property [\n sh:path cx-tele:provisionedBy ;\n sh:hasValue \n ] ;\n sh:property [\n sh:path cx-tele:Version ;\n sh:hasValue \"0\"^^xsd:long \n ] ;\n sh:property [\n sh:path cx-tele:component ;\n sh:class :SupplierParts \n ] .\n\n:SupplierParts rdf:type sh:NodeShape ;\n sh:targetClass cx-tele:VehicleComponent ;\n sh:property [\n sh:path cx-tele:isProducedBy ;\n sh:hasValue \n ] .\n" -``` - -For more information see the Knowledge Agent KIT. - -## Service Bindings - -Applies to: *RuL calculation service provider* - -### Overview - -In most cases, services are provided via REST APIs and are using JSON as input and output format. For the RuL use case, the output format is specified by a SAMM model. -To include those services into the knowledge graph, you have to bind/map them to the underlying ontologies. - -### Service mapping tool - -To bind a service to the knowledge graph, you must use a **remoting agent**, also called the **service binding agent**. The software **RDF4J** (see the RDF4J webpage [https://rdf4j.org/](https://rdf4j.org/)), which is under the Eclipse Distribution License (EDL), v1.0, is our tool of choice in this case. - -### Service mapping configuration - -For RDF4J, a configuration must be provided that formally describes the service binding. -The configuration is written in Turtle (Terse RDF Triple Language) and has the extension **.ttl**. For more information, see the Knowledge Agent KIT. - -#### RDF4J repository - -The RDF4J repository is the basic configuration that refers to the service object and defines the callback endpoint for an asynchronous response of this service. - -```ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -[] rdf:type rep:Repository ; - rep:repositoryID "rul" ; - rdfs:label "Remainig Useful Life Functions Repository" ; - rep:repositoryImpl [ - rep:repositoryType "openrdf:SailRepository" ; - sr:sailImpl [ - sail:sailType "org.eclipse.tractusx.agents:Remoting" ; - cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife; - cx-fx:callbackAddress ; - ] - ]. -``` - -The callback address in this example is the callback address of the own RDF4J server. - -#### Types to be bound - -##### cx-fx:Function - -Definition of the function. It defines the endpoint and describes the input and output elements (analogous to the ontology). - -```ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function; - dcterms:description "Remaining Useful Life is an asynchronous batch invocation."@en ; - dcterms:title "Remaining Useful Life" ; - cx-fx:targetUri "https://rul.supplier.com/api/v1/routine/notification"; - cx-fx:invocationMethod "POST-JSON"; - # cx-common:authenticationKey "Authorization"; - # cx-common:authenticationCode "Basic Zdm7vsdgasfghcg=="; - cx-fx:invocationMethod "POST-JSON"; - cx-fx:invocationIdProperty "header.notificationID,content.requestRefId"; - cx-fx:callbackProperty "header.respondAssetId"; - cx-fx:input cx-behaviour:notification; - cx-fx:input cx-behaviour:sender; - cx-fx:input cx-behaviour:senderConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:severity; - cx-fx:input cx-behaviour:status; - cx-fx:input cx-behaviour:targetDate; - cx-fx:input cx-behaviour:timeStamp; - cx-fx:input cx-behaviour:classification; - cx-fx:input cx-behaviour:component; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:statusDate; - cx-fx:input cx-behaviour:statusOperatingHours; - cx-fx:input cx-behaviour:statusMileage; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:metadata; - cx-fx:input cx-behaviour:countingMethod; - cx-fx:input cx-behaviour:countingValue; - cx-fx:input cx-behaviour:countingUnit; - cx-fx:input cx-behaviour:headerChannels; - cx-fx:input cx-behaviour:bodyClasses; - cx-fx:input cx-behaviour:bodyCountsList; - cx-fx:result cx-behaviour:response. -``` - -##### cx-fx:Argument - -The input data that are received from the knowledge graph are converted to the desired JSON format that is requested by the service. Therefore, each value (input parameter) that is represented in the ontology as a separate object must be described as an argument which is related to the corresponding JSON path. The argument name represents the JSON path. Default values can be specified in case some values are not present in the knowledge graph. - -```ttl -cx-behaviour:recipient rdf:type cx-fx:Argument; - dcterms:description "Recipient of the notification as a BPN."@en ; - dcterms:title "Notification Recipient"; - cx-fx:argumentName "header.recipientBPN"; - cx-fx:default "anonymous". -``` - -##### cx-fx:Result - -The result of the service is also a JSON string. It consists of properties and output values. -The mapping must provide all data that are defined in the ontology. -The properties are of predefined types and are mapped directly (without further descriptions and attributes). -The output values are specified each separate. - -```ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -cx-behaviour:response rdf:type cx-fx:Result; - dcterms:description "The asynchronous notification response."@en ; - dcterms:title "Asynchronous notification response." ; - cx-fx:callbackProperty "header.referencedNotificationID"; - cx-fx:outputProperty "content.endurancePredictorOutputs"; - cx-fx:output cx-behaviour:remainingOperatingHours; - cx-fx:output cx-behaviour:remainingRunningDistance. -``` - -##### cx-fx:ReturnValue - -The output values (return values) are specified with their path in the output JSON structure and their data type. - -```ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue; - dcterms:description "Predicted Operating Hours of Remaining Useful Life Response"@en ; - dcterms:title "Remaining Useful Life Operating Hours" ; - cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours"; - cx-fx:dataType xsd:float. -``` - -#### Full Example - -In this example, an asynchronous calculation service for gearbox RuL values is bound. It uses the Catena-X notification format as a container for the input data. The content of the notification is a JSON structure with a list of load spectra in it. The input format provides more than one Element (batch processing), but the RuL logic always requires exact one input per calculation. Therefore, always the first (and only the first) item of the input list is bound. - -```ttl -################################################################ -# Copyright (c) 2022,2023 T-Systems International GmbH -# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2022,2023 ZF Friedrichshafen AG -# Copyright (c) 2023 Allgemeine Deutsche Automobil-Club (ADAC) e.V -# Copyright (c) 2022,2023 Mercedes-Benz AG -# Copyright (c) 2022,2023 Contributors to the Catena-X Association -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 -################################################################ - -# -# Rdf4j configuration for a rul-specific remoting -# -@prefix rdf: . -@prefix rdfs: . -@prefix rep: . -@prefix sr: . -@prefix sail: . -@prefix sp: . -@prefix xsd: . -@prefix json: . -@prefix dcterms: . -@prefix cx-fx: . -@prefix cx-common: . -@prefix cx-core: . -@prefix cx-vehicle: . -@prefix cx-reliability: . -@prefix cx-behaviour: . - -[] rdf:type rep:Repository ; - rep:repositoryID "rul" ; - rdfs:label "Remainig Useful Life Functions Repository" ; - rep:repositoryImpl [ - rep:repositoryType "openrdf:SailRepository" ; - sr:sailImpl [ - sail:sailType "org.eclipse.tractusx.agents:Remoting" ; - cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife; - cx-fx:callbackAddress ; - ] - ]. - -cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function; - dcterms:description "Remaining Useful Life is an asynchronous batch invocation."@en ; - dcterms:title "Remaining Useful Life" ; - cx-fx:targetUri "https://rul.supplier.com/api/v1/routine/notification"; - cx-fx:invocationMethod "POST-JSON"; -# cx-common:authenticationKey "Authorization"; -# cx-common:authenticationCode "Basic AAAAAAAAAAAAA=="; - cx-fx:invocationMethod "POST-JSON"; - cx-fx:invocationIdProperty "header.notificationID,content.requestRefId"; - cx-fx:callbackProperty "header.respondAssetId"; - cx-fx:input cx-behaviour:notification; - cx-fx:input cx-behaviour:sender; - cx-fx:input cx-behaviour:senderConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:severity; - cx-fx:input cx-behaviour:status; - cx-fx:input cx-behaviour:targetDate; - cx-fx:input cx-behaviour:timeStamp; - cx-fx:input cx-behaviour:classification; - cx-fx:input cx-behaviour:component; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:statusDate; - cx-fx:input cx-behaviour:statusOperatingHours; - cx-fx:input cx-behaviour:statusMileage; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:metadata; - cx-fx:input cx-behaviour:countingMethod; - cx-fx:input cx-behaviour:countingValue; - cx-fx:input cx-behaviour:countingUnit; - cx-fx:input cx-behaviour:headerChannels; - cx-fx:input cx-behaviour:bodyClasses; - cx-fx:input cx-behaviour:bodyCountsList; - cx-fx:result cx-behaviour:response. - -cx-behaviour:notification rdf:type cx-fx:Argument; - dcterms:description "A default notification output template."@en ; - dcterms:title "Notification Template"; - cx-fx:argumentName "."; - cx-fx:dataType json:Object; - cx-fx:priority "-1"^^xsd:integer; - #cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": [ { } ]}}"^^json:Object. - cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": [ ]}}"^^json:Object. - -cx-behaviour:sender rdf:type cx-fx:Argument; - dcterms:description "Sender of the notification as a BPN."@en ; - dcterms:title "Notification Sender"; - cx-fx:argumentName "header.senderBPN"; - cx-fx:default "anonymous". - -cx-behaviour:senderConnector rdf:type cx-fx:Argument; - dcterms:description "Sender Address of the notification as a URL."@en ; - dcterms:title "Notification Sender Address"; - cx-fx:argumentName "header.senderAddress"; - cx-fx:default "unknown". - -cx-behaviour:recipient rdf:type cx-fx:Argument; - dcterms:description "Recipient of the notification as a BPN."@en ; - dcterms:title "Notification Recipient"; - cx-fx:argumentName "header.recipientBPN"; - cx-fx:default "anonymous". - -cx-behaviour:recipientConnector rdf:type cx-fx:Argument; - dcterms:description "Recipient Address of the notification as a URL."@en ; - dcterms:title "Notification Recipient Address"; - cx-fx:argumentName "header.recipientAddress"; - cx-fx:default "unknown". - -cx-behaviour:severity rdf:type cx-fx:Argument; - dcterms:description "Severity of the notification."@en ; - dcterms:title "Notification Severity"; - cx-fx:argumentName "header.severity"; - cx-fx:dataType xsd:string; - cx-fx:default "MINOR". - -cx-behaviour:status rdf:type cx-fx:Argument; - dcterms:description "Status of the notification."@en ; - dcterms:title "Notification Status"; - cx-fx:argumentName "header.status"; - cx-fx:dataType xsd:string; - cx-fx:default "SENT". - -cx-behaviour:targetDate rdf:type cx-fx:Argument; - dcterms:description "Target Date of the notification."@en ; - dcterms:title "Notification Target Date"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "header.targetDate". - -cx-behaviour:timeStamp rdf:type cx-fx:Argument; - dcterms:description "Timestamp of the notification."@en ; - dcterms:title "Notification Timestamp"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "header.timeStamp". - -cx-behaviour:classification rdf:type cx-fx:Argument; - dcterms:description "Classification of the notification."@en ; - dcterms:title "Notification Classification"; - cx-fx:argumentName "header.classification"; - cx-fx:dataType xsd:string; - cx-fx:default "RemainingUsefulLifePredictor". - -cx-behaviour:component rdf:type cx-fx:Argument; - dcterms:description "Component of the Predicition."@en ; - dcterms:title "Predicted Component"; - cx-fx:formsBatchGroup "true"^^xsd:boolean; - cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId". - -cx-behaviour:observationType rdf:type cx-fx:Argument; - dcterms:description "The type of observation made."@en ; - dcterms:title "Observation Type"; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription"; - cx-fx:dataType xsd:string. - -cx-behaviour:metadata rdf:type cx-fx:Argument; - dcterms:description "Metadata of the Loadspectrum."@en ; - dcterms:title "Loadspectrum Metadata"; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}"; - cx-fx:dataType json:Object; - cx-fx:priority "0"^^xsd:integer; - cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object. - -cx-behaviour:statusDate rdf:type cx-fx:Argument; - dcterms:description "Time of Recording."@en ; - dcterms:title "Loadspectrum Recording Time"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date". - -cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument; - dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; - dcterms:title "Loadspectrum Operating Hours"; - cx-fx:dataType xsd:float; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours". - -cx-behaviour:statusMileage rdf:type cx-fx:Argument; - dcterms:description "Mileage of Component at Time of Recording."@en ; - dcterms:title "Loadspectrum Mileage"; - cx-fx:dataType xsd:int; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage". - -cx-behaviour:countingUnit rdf:type cx-fx:Argument; - dcterms:description "Counting Unit of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Unit"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit". - -cx-behaviour:countingValue rdf:type cx-fx:Argument; - dcterms:description "Counting Value Name of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Value"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName". - -cx-behaviour:countingMethod rdf:type cx-fx:Argument; - dcterms:description "Counting Method of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Method"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod". - -cx-behaviour:headerChannels rdf:type cx-fx:Argument; - dcterms:description "Channels of Load Spectrum."@en ; - dcterms:title "Loadspectrum Channels"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels". - -cx-behaviour:bodyClasses rdf:type cx-fx:Argument; - dcterms:description "Classes of Load Spectrum."@en ; - dcterms:title "Loadspectrum Classes"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes". - -cx-behaviour:bodyCountsList rdf:type cx-fx:Argument; - dcterms:description "Counts List of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counts List"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList". - -cx-behaviour:response rdf:type cx-fx:Result; - dcterms:description "The asynchronous notification response."@en ; - dcterms:title "Asynchronous notification response." ; - cx-fx:callbackProperty "header.referencedNotificationID"; - cx-fx:outputProperty "content.endurancePredictorOutputs"; - cx-fx:output cx-behaviour:remainingOperatingHours; - cx-fx:output cx-behaviour:remainingRunningDistance. - -cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue; - dcterms:description "Predicted Operating Hours of Remaining Useful Life Response"@en ; - dcterms:title "Remaining Useful Life Operating Hours" ; - cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours"; - cx-fx:dataType xsd:float. - -cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue; - dcterms:description "Predicted Distance of Remaining Useful Life Response"@en ; - dcterms:title "Remaining Useful Life Distance" ; - cx-fx:valuePath "0.remainingUsefulLife.remainingRunningDistance"; - cx-fx:dataType xsd:int. -``` - -### Graph asset for the service binding - -To enable the knowledge agent's matchmaking agent to find the service binding, a graph asset has to be registered at the EDC. This asset must have a property "rdfs:isDefinedBy" that defines the shape of the provided graph. - -```shacl -",,,", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix cx-common: . \n@prefix : .\n@prefix cx-prognosis: .\n@prefix cx-fx: .\n@prefix owl: .\n@prefix rdf: .\n@prefix xsd: .\n@prefix sh: .\n\n:Tier1LifetimePrognosis rdf:type sh:NodeShape ;\n sh:targetClass cx-prognosis:Function ;\n sh:property [\n sh:path cx-prognosis:provisionedBy ;\n sh:hasValue ]." -``` - -For more information see the [Knowledge Agent KIT](https://bit.ly/tractusx-agents). diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_Building_Block_Architecture_Overview_V1.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_Building_Block_Architecture_Overview_V1.png deleted file mode 100644 index a23a972e5a1..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_Building_Block_Architecture_Overview_V1.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_1.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_1.png deleted file mode 100644 index f93dbe77d10..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_1.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_2.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_2.png deleted file mode 100644 index a796f9c6537..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/RKIT_business_process_2.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/rul_architecture_overview.png b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/rul_architecture_overview.png deleted file mode 100644 index e40d7f88b3d..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/assets/rul_architecture_overview.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_adoption-view.md deleted file mode 100644 index 9dc0ef0d8c7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_adoption-view.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -id: Adoption View Remaining Useful Life Kit -title: Adoption View -description: 'Remaining Useful Life Kit' -sidebar_position: 2 ---- - -![Remaining Useful Life kit banner](@site/static/img/doc-rul_header-minified.png) - -### Remaining Useful Life Kit - - -## Vision & Mission - -### Vision - -Calculating Remaining Useful Life is a business. - -The *Remaining Useful Life* Kit aims at novel business models based on the calculation of *Remaining Useful Life*. The wide range of possible applications starts with product development and finally extends to recycling: the entire product life cycle offers potential. The *Remaining Useful Life* Kit provides efficient support in planning, designing, building, using and operating *Remaining Useful Life* Services and applications based on them. - -### Mission - -The *Remaining Useful Life* Kit comes with the necessary Catena-X standards for damage models and remaining useful life statements. On this basis, interoperable solutions are created. The KIT includes tools for the simple implementation of component-specific damage models and for linking the damage models with dynamic input data. All components are easily adaptable to specific applications and simplify the journey to the finished service. - -### Customer Journey - -With the *Remaining Useful Life* Kit, we support the Catena-X customer journey for our adopters and solutions providers. - - - -## Business Value - -Through the standardized specifications described in the *Remaining Useful Life* Kit – for example the semantic models and APIs – application and service providers can reduce investment and implementation costs to integrate new Catena-X services. Furthermore, application, data, model and service providers can enter potential new markets within the entire product life cycle. - -## Use Case - -- OEM, TIER-X: In the early development phase, components can be designed using digital prototypes based on component-specific damage calculation. The load data required for this comes from simulation or measurement in the digital twin. - -- Tier-X: The overall product range becomes more attractive in the offer phase when model-based damage calculation is included as a product-related service. - -- During the usage phase, OEMs, car dealers and automotive clubs can further interpret the *Remaining Useful Life* calculation for a vehicle evaluation and offer it as vehicle-related services for their end customers and fleet operators. - -- Even during the usage phase, but particularly during the recycling phase, OEMs, Tier-X, automotive clubs, car dealers, insurers, fleet operators and recyclers benefit from precise residual value analyses of the entire vehicle and its components on the basis of component-specific damage calculation. - -### Status Quo - -Within company limits, the calculation of component damage based on internally available data and models is already state of the art. However, across company boundaries, there are only individual, complex and not generally available options for calculating component-specific damage. - -### Today’s challenge - -For successful implementation, the following challenges must be addressed: - -- the correct allocation of the appropriate damage calculation to the respective component -- recording and providing the necessary input variables -- an easy-to-interpret preparation of results -- easy scalability across company boundaries - -### Benefits - -**OEMs and big suppliers** benefit from cost savings, improved quality and shorter development times through customer-data-based, precise design of individual components and the entire system. The decisive hub is created by using load data and damage models across company boundaries — always in compliance with IP and data protection. - -It will be easier for **SMEs** to use product-related *Remaining Useful Life* services, for example for design and recycling. - -Generating added value by providing *Remaining Useful Life* services offers new areas of business for **solution providers**. These can be the suppliers themselves, pure service providers or so-called value-added resellers (VAR). - -## Logic & Schema - -### Building Block View - -The architecture image describes the interaction between the RuL Service and the Knowledge Agent components. - -![Building Block Architecture Overview](assets/RKIT_Building_Block_Architecture_Overview_V1.png) - -The Consumer A is only allowed to communicate via the Data Provider B. -The indirect communication ensures data sovereignty for Data Provider B (as B might not want to advertise its providers). Thus, the communication of the RuL result is to Data Provider B and is not allowed to deliver the result directly to A. - -### RuL Components - -|Subsystem|Description| -|---------|-----------| -|Data Consuming App| This component is the app that is hosted at the Consumer and provides the end user interface. The end user can enter a vehicle identifier number (VIN) and gets back a calculated RuL value.
          The returned value from the calculation services is SAMM specified. The app can provide another representation.| -|Loading Data | A data source at the Data Provider that provides the loading data and other vehicle data that are needed for the RuL calculation.
          It can be accessed by the knowledge agent via data bindings.| -|RuL Service| A RuL calculation service at the Service Provider. It accepts input data from the Data Provider, calculates the RuL value and returns it.| - -### Knowledge Agent components - -|Subsystem|Description| -|---------|-----------| -|Matchmaking Agent|This component supports SparQL to traverse the federated data space as a large data structure. It interacts with the EDC.
          • The provider's Matchmaking Agent will be activated by its EDC. Therefore, the EDC must offer a Graph Asset (variant of ordinary data assets in the Catena-X EDC standard).
          • The consumer's Matchmaking Agent interacts with its EDC to negotiate and perform the transfer of Sub-Skills to other dataspace participants.
          The Matchmaking Agents are matching the (sub)graphs and negotiate appropriated graph assets with the partner EDCs.| -|Binding Agent| The Binding Agent is a restricted version of the Matchmaking Agent (subset of OWL/SparQL, e.g., without federation) which is just focused on translating Sub-Skills of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls.
          Implementation details: For data bindings, OnTop is used. For service bindings, RDF4J is used.| -|Ontology|The ontology is a formal representation of knowledge that captures concepts, relationships, and properties. It allows a shared understanding and reasoning about the respective domain.
          It must be hosted in a way that all participants can access it. Currently, the ontology is hosted at GitHub.| -|Skill/Sub-Skill| The Skill describes, what to do (which data have to be connected, transferred and so on).| - -### Catena-X Core Services (except Knowledge Agent components) - -|Subsystem|Description| -|---------|-----------| -|Eclipse Dataspace Components (EDC)|The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems.| - -## Business Process - -Two different cases need to be specified. - -### Service Consumer does not have input data for RuL Service available; RuL calculation based on vin - -![Business Process 3 Partners](assets/RKIT_business_process_1.png) - -- Service Consumer provides Vin to OEM - -- OEM procures vin specific service inputs from vehicle - -- OEM forwards input to service providers - -- Service providers calculate RuL values - -- RuL results are provided to the Service consumer via the OEM - -### Service Consumer has input data for RuL Service available - -![Business Process 3 Partners](assets/RKIT_business_process_2.png) - -- Service consumer needs to collect or generate load/input for RuL calculation, e.g. through driver questionnaire. -- Service provider uses the input to estimate RuL and send it back to Service Consumer - -### Access Policies - -To decide which company has access to the data assets, access policy should be used. It is maybe possible to skip access policies, but this will made all data assets public available in the Catena-X network and is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). In the near future, other access policies will be introduced like a company role and attribute based policy. Further details can be found in this page of the [EDC](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/business-partner-validation). - -### Usage policies - -Use case specific credentials exist and will be mandatory. Their documentation will be available after SSI release. -A Behaviour Twin "Use Case Rahmenbedingung" which covers the business process of the app will be available after SSI release. -This Rahmenbedingung document can be referenced in the usage policies, and therefore limit Data & Service access to Behaviour Twin participants. - - -## Semantic Models & Standards - -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library). - -- [CX - 0056 Semantic Model: ClassifiedLoadSpectrum:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0056-SemanticModelClassifiedLoadSpectrum.pdf) - - *The data model “ClassifiedLoadSpectrum” represents the load data of a vehicle component. The load spectrum is a data set that represents the aggregated loading of a component. Any kind of loading is covered: loading can be force or torque or revolutions or temperature or event or similar. The load data is classified and counted with specific counting methods. This standard defines the format for the counted load data, so that the exchange of load data between different partners is possible.* - -- [CX - 0057 Semantic Model: RemainingUsefulLife:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0057-SemanticModelRemainingUsefulLife.pdf) - - *The data model Remaining Useful Life contains the two relevant values to describe the expected remaining life of a vehicle, remaining running distance and remaining operating hours. The data model is used for vehicle parts and vehicle components which cannot be visually assessed but need the loading information combined with a damage model to estimate the health of the component.* - -- [CX - 0058 API: Endurance Predictor:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0058-APIEndurancePredictor.pdf) - - *This documentation describes the technical specification to enable the request of standardized "Remaining Useful Life (RUL)" data at component level of a concrete vehicle instance ("as built") and its integration into the Eclipse Dataspace connector (EDC). It sets the standards for the API for the usage of services which calculate a so-called "remaining useful life value" (RUL-value, see CX-0057). This standard covers exclusively the definition of the specific API endpoint.* - -- [CX - 0059 Triangle Behavioral Twin Endurance Predictor:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0059-TriangleBehavioralTwinEndurancePredictorService-v.1.1.0.pdf) - - *This triangle document acts as a bracket for single standards required to request "Remaining Useful Life (RUL)" data as well as providing a service for its calculation at a component level.Included are APIs to be provided by the service provider and the service requestor, as well as aspect models for the respective payloads being exchanged in an asynchronous pattern leveraging those APIs.* - -- [CX - 0088 Aspect Model User Estimated Loading:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0088-AspectModel_UserEstimatedLoading_v1.0.0.pdf) - - *The semantic model for "User Estimated Loading" is the structured input for the Endurance Estimator Service. This Service should be used by normal customer without special knowledge of technical details of the car or access to ECU data. The input is basic data about the vehicle and information about the usage, previous usage as well as future usage.* - -- [CX - 0089 Triangle BehaviourTwin EnduranceEstimator:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0089-TriangleBehavioralTwinEnduranceEstimator_v.1.0.0.pdf) - - *This triangle document acts as a bracket for single standards required to request "Remaining Useful Life (RUL)" data as well as providing a service for its estimation. Included are APIs to be provided by the service provider and the service requestor, as well as aspect models for the respective payloads being exchanged in an asynchronous pattern leveraging those APIs.* - -- [CX - 0090 API EnduranceEstimator:](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0090-APIEnduranceEstimator_v1.0.0.pdf) - - *This documentation describes the technical specification to enable the request of standardized "Remaining Useful Life (RUL)" data for "User Estimated Loading" and its integration into the Eclipse Dataspace connector (EDC). It sets the standards for the API for the usage of services which estimates a so-called "remaining useful life value" (RUL-value, see CX-0057) using estimated load data ("User Estimated Loading", see CX-0088). This standard covers exclusively the illustration of the specific API endpoints.* - - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_changelog.md deleted file mode 100644 index c2c00b3f5d5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_changelog.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: Changelog Remaining Useful Life Kit -title: Changelog -description: 'Remaining Useful Life Kit' -sidebar_position: 1 ---- - -![Remaining Useful Life kit banner](@site/static/img/doc-rul_header-minified.png) - -### Remaining Useful Life Kit - -All notable changes to this Kit will be documented in this file. - -## [0.1.1] - 2023-09-07 - -### Added - -- Adoption View: added license notice section. - -### Changed - -- Unified KIT name in menues/sidebars. - -### Removed - -- Removed unused page "Documentation". - -## [0.1.0] - 2023-09-07 - -### Added - -- Initial version of the KIT including adoption, operation and development view. - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_software-operation-view.md deleted file mode 100644 index d1eb1a988ae..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/page_software-operation-view.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -id: Operation View Remaining Useful Life Kit -title: Operation View -description: 'Remaining Useful Life Kit' -sidebar_position: 3 ---- - -![Remaining Useful Life kit banner](@site/static/img/doc-rul_header-minified.png) - -### Remaining Useful Life Kit - - - -Based on the information provided in this KIT, it is possible to provide and/or consume services defined as Agent Skills based on the Behaviour Twin standards (ontology, SAMM models). - -Depending on the role within the RuL Use Case, different Knowledge Agent components are needed. -The needed information regarding Agent Kit components, their deployment and configuration, refer to the *Agent Kit Operation View Section*. - -## Deployment of Graph Assets - -### Data Provider Graph Asset - -If you are engaged as a data provider within the RuL KIT, you can mount your data source to the federated knowledge graph as Graph Asset. -Beside the policy and contract definition, a Graph Asset registration is needed. It can like following example with a baseUrl set to the sparql endpoint of your provision agent: - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#", - "edc": "https://w3id.org/edc/v0.0.1/ns/" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?oem=BehaviourTwinReliability", - "properties": { - "name": "OEM portion of the Behaviour Twin Reliablity Testdataset.", - "name@de": "OEM Anteil an den Verhaltenszwilling ReliabilityTestdaten.", - "description": "A graph asset/offering mounting Carena-X Testdata for Behaviour Twin.", - "description@de": "Ein Graph Angebot welches Catena-X Testdaten beinhaltet.", - "version": "CX_RuL_Testdata_v1.0.0", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?oem=Graph", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": ",,,", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix cx-common: . \n@prefix : .\n@prefix cx-tele: .\n@prefix owl: .\n@prefix rdf: .\n@prefix xsd: .\n@prefix sh: .@prefix : .\n\n:OemLoadSpectrum rdf:type sh:NodeShape ;\n sh:targetClass cx-tele:LoadSpectrum ;\n sh:property [\n sh:path cx-tele:provisionedBy ;\n sh:hasValue \n ] ;\n sh:property [\n sh:path cx-tele:Version ;\n sh:hasValue \"0\"^^xsd:long \n ] ;\n sh:property [\n sh:path cx-tele:component ;\n sh:class :SupplierParts \n ] .\n\n:SupplierParts rdf:type sh:NodeShape ;\n sh:targetClass cx-tele:VehicleComponent ;\n sh:property [\n sh:path cx-tele:isProducedBy ;\n sh:hasValue \n ] .\n", - "cx-common:isFederated": "true^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?oem=BehaviourTwinReliability", - "@type": "DataAddress", - "baseUrl": "{{provisioningAgent}}/{{reliabilityPath}}/sparql", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true", - "authKey": "{{oemBackendAuthKey}}", - "authCode": "{{oemBackendAuthCode}}" - } -} -``` - -It also provides some META-Information's, which are for example, to find a specific based on isDefinedBy property. - -### Service Provider Graph Asset - -The same applies for the service/function supplier. To make the service available as part of the federated knowledge graph, a Grapth Asset pointing to your Remoting Agent endpoint is needed. - -Such a Graph Asset for a service provider can look like following example: - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?supplier=BehaviourTwinRUL", - "properties": { - "name": "Lifetime Prognosis Service for Gearboxes", - "description": "A sample graph asset/offering referring to a specific prognosis resource.", - "version": "1.9.4-SNAPSHOT", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?supplier=Graph", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": ",,,", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix cx-common: . \n@prefix : .\n@prefix cx-prognosis: .\n@prefix cx-fx: .\n@prefix owl: .\n@prefix rdf: .\n@prefix xsd: .\n@prefix sh: .\n\n:Tier1LifetimePrognosis rdf:type sh:NodeShape ;\n sh:targetClass cx-prognosis:Function ;\n sh:property [\n sh:path cx-prognosis:provisionedBy ;\n sh:hasValue ].", - "cx-common:isFederated": "true^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?supplier=BehaviourTwinRUL", - "@type": "DataAddress", - "baseUrl": "{{remotingAgent}}/repositories/rul", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true", - "authKey": "{{supplierBackendAuthKey}}", - "authCode": "{{supplierBackendAuthCode}}" - } - } -``` - -## Deployment of RuL Skill - -After the skill is defined, it has to be registered. -As described in th "KA-KIT", one have to define the Asset, Policy and Contractdefiniton as for other EDC assets. - -To bo able to invoke the sample Agent-Skill defined above, we have to deploy, or better said, to register it in our agent enabled EDC. For the registration we need, as for other EDC assets, the asset, a policy and a contract definition registration. - -### Policy Registration - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/", - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "Policy?consumer=Asset&mode=open", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action" : "USE", - "odrl:constraint" : [] - }] - } -} -``` - -### Contractdefiniton Registration - -```json -{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@id": "Contract?consumer=Asset&mode=open", - "@type": "ContractDefinition", - "accessPolicyId": "Policy?consumer=Asset&mode=open", - "contractPolicyId": "Policy?consumer=Asset&mode=open", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", - "operator": "=", - "operandRight": "Contract?consumer=Asset&mode=open" - } -} -``` - -### Skill Registration - -A Skill can be registered over the AgentPlane API: - -```curl -curl --location 'agentPlaneEdcUrl/api/agent/skill?asset=SkillAsset%3Fconsumer%3DRemainingUsefulLife&distributionMode=PROVIDER%26contract%3DContract%3Fconsumer%3DAsset%26mode%3Dopen' \ ---header 'Content-Type: application/sparql-query' \ ---data-raw ' - -' -``` diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx deleted file mode 100644 index 53b33323047..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-bridge-dummy -title: "Business Partner Data Management Bridge Dummy" -description: "Bridge between Gate and Pool as a simple replacement for a dedicated sharing service" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 5.0.1-SNAPSHOT - -# Business Partner Data Management Bridge Dummy - - - -Bridge between Gate and Pool as a simple replacement for a dedicated sharing service - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js deleted file mode 100644 index 26bad89f12c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy"},{"type":"category","label":"bridge-controller","link":{"type":"generated-index","title":"bridge-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/bridge-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync","label":"Start sync between Gate and Pool","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx deleted file mode 100644 index ec3d08ae1b0..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/trigger-sync.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: trigger-sync -title: "Start sync between Gate and Pool" -description: "Start sync between Gate and Pool" -sidebar_label: "Start sync between Gate and Pool" -hide_title: true -hide_table_of_contents: true -api: {"tags":["bridge-controller"],"operationId":"triggerSync","responses":{"200":{"description":"OK"}},"description":"Start sync between Gate and Pool","method":"post","path":"/api/bridge/sync","servers":[{"url":"http://localhost:8083","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Bridge Dummy","description":"Bridge between Gate and Pool as a simple replacement for a dedicated sharing service","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Start sync between Gate and Pool","description":{"type":"text/plain"},"url":{"path":["api","bridge","sync"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"method":"POST"}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/business-partner-data-management-bridge-dummy -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Start sync between Gate and Pool - - - -Start sync between Gate and Pool - -
          - -OK - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx deleted file mode 100644 index 5613220e45f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-cleaning-service-dummy -title: "Business Partner Data Management Cleaning Service Dummy" -description: "Place holder for the cleaning service provider" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 4.1.0-SNAPSHOT - -# Business Partner Data Management Cleaning Service Dummy - - - -Place holder for the cleaning service provider - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js deleted file mode 100644 index 84f6658d5b7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy"}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx deleted file mode 100644 index e44dea2ae52..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-gate -title: "Business Partner Data Management Gate" -description: "A gate for a member to share business partner data with CatenaX" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 5.0.1-SNAPSHOT - -# Business Partner Data Management Gate - - - -A gate for a member to share business partner data with CatenaX - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx deleted file mode 100644 index 45f419dbadc..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-address-types -title: "countAddressTypes" -description: "countAddressTypes" -sidebar_label: "countAddressTypes" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countAddressTypes","parameters":[{"name":"stage","in":"path","required":true,"schema":{"type":"string","enum":["Input","Output"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["additionalTotal","legalAndSiteTotal","legalTotal","siteTotal"],"type":"object","properties":{"legalAndSiteTotal":{"type":"integer","format":"int32"},"legalTotal":{"type":"integer","format":"int32"},"siteTotal":{"type":"integer","format":"int32"},"additionalTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countAddressTypes","method":"get","path":"/api/catena/stats/{stage}/address-types","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"count Address Types","description":{"type":"text/plain"},"url":{"path":["api","catena","stats",":stage","address-types"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"stage"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countAddressTypes - - - -countAddressTypes - -
          Path Parameters
          - -OK - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx deleted file mode 100644 index 98e2baf7d42..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-partners-by-sharing-state -title: "countPartnersBySharingState" -description: "countPartnersBySharingState" -sidebar_label: "countPartnersBySharingState" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countPartnersBySharingState","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["errorTotal","initialTotal","pendingTotal","readyTotal","successTotal"],"type":"object","properties":{"initialTotal":{"type":"integer","format":"int32"},"readyTotal":{"type":"integer","format":"int32"},"pendingTotal":{"type":"integer","format":"int32"},"successTotal":{"type":"integer","format":"int32"},"errorTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersBySharingState","method":"get","path":"/api/catena/stats/sharing-states","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"count Partners By Sharing State","description":{"type":"text/plain"},"url":{"path":["api","catena","stats","sharing-states"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countPartnersBySharingState - - - -countPartnersBySharingState - -
          - -OK - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx deleted file mode 100644 index c973f677ad5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: count-partners-per-stage -title: "countPartnersPerStage" -description: "countPartnersPerStage" -sidebar_label: "countPartnersPerStage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"countPartnersPerStage","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["inputTotal","outputTotal"],"type":"object","properties":{"inputTotal":{"type":"integer","format":"int32"},"outputTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersPerStage","method":"get","path":"/api/catena/stats/stages","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"count Partners Per Stage","description":{"type":"text/plain"},"url":{"path":["api","catena","stats","stages"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## countPartnersPerStage - - - -countPartnersPerStage - -
          - -OK - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-address-by-external-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-address-by-external-id.api.mdx deleted file mode 100644 index 60615724d3c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-address-by-external-id.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: get-address-by-external-id -title: "Returns address by external ID from the input stage" -description: "Returns address by external ID from the input stage." -sidebar_label: "Returns address by external ID from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Returns address by external ID from the input stage.","operationId":"getAddressByExternalId","parameters":[{"name":"externalId","in":"path","description":"External ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found address with external ID","content":{"application/json":{"schema":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."}}}},"404":{"description":"No address found under specified external ID"}},"deprecated":true,"method":"get","path":"/api/catena/input/addresses/{externalId}","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns address by external ID from the input stage","description":{"content":"Returns address by external ID from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","addresses",":externalId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) External ID","type":"text/plain"},"type":"any","value":"","key":"externalId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns address by external ID from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns address by external ID from the input stage. - -
          Path Parameters
          - -Found address with external ID - -
          Schema
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -No address found under specified external ID - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-by-external-ids.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-by-external-ids.api.mdx deleted file mode 100644 index 1cf50e6ad46..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-by-external-ids.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: get-addresses-by-external-ids -title: "Returns addresses by an array of external IDs from the input stage" -description: "Returns page of addresses from the input stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns addresses by an array of external IDs from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Returns page of addresses from the input stage. Can optionally be filtered by external IDs.","operationId":"getAddressesByExternalIds","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"}}}},"required":true},"responses":{"200":{"description":"The requested page of addresses","content":{"application/json":{"schema":{"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":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/input/addresses/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns addresses by an array of external IDs from the input stage","description":{"content":"Returns page of addresses from the input stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","input","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses by an array of external IDs from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of addresses from the input stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array required
          • string
          - -The requested page of addresses - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-output.api.mdx deleted file mode 100644 index c25bf8090a0..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-output.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: get-addresses-output -title: "Returns addresses by an array of external IDs from the output stage" -description: "Get page of addresses from the output stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns addresses by an array of external IDs from the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Get page of addresses from the output stage. Can optionally be filtered by external IDs.","operationId":"getAddressesOutput","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"}}}}},"responses":{"200":{"description":"The requested page of addresses","content":{"application/json":{"schema":{"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":{"required":["bpna","externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."},"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/output/addresses/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns addresses by an array of external IDs from the output stage","description":{"content":"Get page of addresses from the output stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","output","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses by an array of external IDs from the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Get page of addresses from the output stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array
          • string
          - -The requested page of addresses - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses.api.mdx deleted file mode 100644 index 13e7c540947..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-addresses.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: get-addresses -title: "Returns addresses from the input stage" -description: "Returns page of addresses from the input stage." -sidebar_label: "Returns addresses from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Returns page of addresses from the input stage.","operationId":"getAddresses","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"}}],"responses":{"200":{"description":"The requested page of addresses","content":{"application/json":{"schema":{"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":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"get","path":"/api/catena/input/addresses","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns addresses from the input stage","description":{"content":"Returns page of addresses from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of addresses from the input stage. - -
          Query Parameters
          - -The requested page of addresses - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx deleted file mode 100644 index f036f254eac..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: get-business-partners-input -title: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." -description: "Get page of business partners filtered by a collection of external IDs." -sidebar_label: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Get page of business partners filtered by a collection of external IDs.","operationId":"getBusinessPartnersInput","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"}}}}},"responses":{"200":{"description":"The requested page of busines partners","content":{"application/json":{"schema":{"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":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/api/catena/input/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","description":{"content":"Get page of business partners filtered by a collection of external IDs.","type":"text/plain"},"url":{"path":["api","catena","input","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search business partner by external ID. An empty external ID list returns a paginated list of all business partners. - - - -Get page of business partners filtered by a collection of external IDs. - -
          Query Parameters
          Request Body array
          • string
          - -The requested page of busines partners - -
          Schema
            content object[]
            - -Collection of results in the page - -
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            site object
            - -The site, on which the business partner provides a view. - -
            address object
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx deleted file mode 100644 index 85445983714..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: get-business-partners-output -title: "Search business partners by an array of external IDs from the output stage" -description: "Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners." -sidebar_label: "Search business partners by an array of external IDs from the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","operationId":"getBusinessPartnersOutput","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"}}}}},"responses":{"200":{"description":"The requested page of business partners","content":{"application/json":{"schema":{"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":{"required":["address","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["bpnL","classifications","confidenceCriteria","legalEntityBpn"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"Legal Entity properties of business partner output data"},"site":{"required":["confidenceCriteria","siteBpn"],"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"Site properties of business partner output data"},"address":{"required":["addressBpn","alternativePostalAddress","bpnA","confidenceCriteria","physicalPostalAddress"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"Address properties of business partner output data"},"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"}},"description":"Generic business partner output with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/api/catena/output/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Search business partners by an array of external IDs from the output stage","description":{"content":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","type":"text/plain"},"url":{"path":["api","catena","output","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search business partners by an array of external IDs from the output stage - - - -Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners. - -
          Query Parameters
          Request Body array
          • string
          - -The requested page of business partners - -
          Schema
            content object[]
            - -Collection of results in the page - -
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -Legal Entity properties of business partner output data - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object
            - -Site properties of business partner output data - -
            confidenceCriteria object
            address object
            - -Address properties of business partner output data - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx deleted file mode 100644 index ee044f9e875..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-confidence-criteria-stats -title: "getConfidenceCriteriaStats" -description: "getConfidenceCriteriaStats" -sidebar_label: "getConfidenceCriteriaStats" -hide_title: true -hide_table_of_contents: true -api: {"tags":["stats-controller"],"operationId":"getConfidenceCriteriaStats","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["checkedByExternalDataSourceTotal","confidenceLevelAverage","numberOfBusinessPartnersAverage","sharedByOwnerTotal","uniqueTotal"],"type":"object","properties":{"numberOfBusinessPartnersAverage":{"type":"number","format":"float"},"uniqueTotal":{"type":"integer","format":"int64"},"sharedByOwnerTotal":{"type":"integer","format":"int64"},"checkedByExternalDataSourceTotal":{"type":"integer","format":"int64"},"confidenceLevelAverage":{"type":"number","format":"float"}}}}}}},"description":"getConfidenceCriteriaStats","method":"get","path":"/api/catena/stats/confidence-criteria","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"get Confidence Criteria Stats","description":{"type":"text/plain"},"url":{"path":["api","catena","stats","confidence-criteria"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## getConfidenceCriteriaStats - - - -getConfidenceCriteriaStats - -
          - -OK - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx deleted file mode 100644 index fbc9aa50c36..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-input-changelog -title: "Returns changelog entries for changes to the business partner input stage" -description: "Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type." -sidebar_label: "Returns changelog entries for changes to the business partner input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getInputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","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"]}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/api/catena/input/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns changelog entries for changes to the business partner input stage","description":{"content":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["api","catena","input","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries for changes to the business partner input stage - - - -Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - -
          Query Parameters
          Request Body required
          - -The changelog entries for the specified parameters - -
          Schema
            content object[]
            - -Collection of results in the page - -
            errors object[]
            - -Infos about the entries with errors - -
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-by-external-ids.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-by-external-ids.api.mdx deleted file mode 100644 index 749434be3df..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-by-external-ids.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: get-legal-entities-by-external-ids -title: "Returns legal entities by an array of external IDs from the input stage" -description: "Returns page of legal entities from the input stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns legal entities by an array of external IDs from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Returns page of legal entities from the input stage. Can optionally be filtered by external IDs.","operationId":"getLegalEntitiesByExternalIds","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"}}}},"required":true},"responses":{"200":{"description":"The requested page of legal-entities","content":{"application/json":{"schema":{"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":{"required":["classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/input/legal-entities/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entities by an array of external IDs from the input stage","description":{"content":"Returns page of legal entities from the input stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","input","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities by an array of external IDs from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of legal entities from the input stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array required
          • string
          - -The requested page of legal-entities - -
          Schema
            content object[]
            - -Collection of results in the page - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-output.api.mdx deleted file mode 100644 index 15fddc701f8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-output.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: get-legal-entities-output -title: "Returns legal entities by an array of external IDs from the output stage" -description: "Get page of legal entities from the output stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns legal entities by an array of external IDs from the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Get page of legal entities from the output stage. Can optionally be filtered by external IDs.","operationId":"getLegalEntitiesOutput","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"}}}}},"responses":{"200":{"description":"The requested page of legal entities","content":{"application/json":{"schema":{"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":{"required":["bpnl","classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["bpna","externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."},"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/output/legal-entities/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entities by an array of external IDs from the output stage","description":{"content":"Get page of legal entities from the output stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","output","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities by an array of external IDs from the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Get page of legal entities from the output stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array
          • string
          - -The requested page of legal entities - -
          Schema
            content object[]
            - -Collection of results in the page - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities.api.mdx deleted file mode 100644 index 8d54a6f831e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: get-legal-entities -title: "Returns legal entities from the input stage" -description: "Returns page of legal entities from the input stage." -sidebar_label: "Returns legal entities from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Returns page of legal entities from the input stage.","operationId":"getLegalEntities","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"}}],"responses":{"200":{"description":"The requested page of legal entities","content":{"application/json":{"schema":{"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":{"required":["classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"get","path":"/api/catena/input/legal-entities","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entities from the input stage","description":{"content":"Returns page of legal entities from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","legal-entities"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of legal entities from the input stage. - -
          Query Parameters
          - -The requested page of legal entities - -
          Schema
            content object[]
            - -Collection of results in the page - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entity-by-external-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entity-by-external-id.api.mdx deleted file mode 100644 index be95fbcf320..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entity-by-external-id.api.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: get-legal-entity-by-external-id -title: "Returns legal entity by external ID from the input stage" -description: "Returns legal entity by external ID from the input stage." -sidebar_label: "Returns legal entity by external ID from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Returns legal entity by external ID from the input stage.","operationId":"getLegalEntityByExternalId","parameters":[{"name":"externalId","in":"path","description":"External ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found legal entity with external ID","content":{"application/json":{"schema":{"required":["classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."}},"description":"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."}}}},"404":{"description":"No legal entity found under specified external ID"}},"deprecated":true,"method":"get","path":"/api/catena/input/legal-entities/{externalId}","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entity by external ID from the input stage","description":{"content":"Returns legal entity by external ID from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","legal-entities",":externalId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) External ID","type":"text/plain"},"type":"any","value":"","key":"externalId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entity by external ID from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns legal entity by external ID from the input stage. - -
          Path Parameters
          - -Found legal entity with external ID - -
          Schema
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -No legal entity found under specified external ID - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-mermaid-gate-persistence.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-mermaid-gate-persistence.api.mdx deleted file mode 100644 index b85d58662eb..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-mermaid-gate-persistence.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-mermaid-gate-persistence -title: "Get mermaid class diagramm for the gate JPA model" -description: "Get mermaid class diagramm for the gate JPA model" -sidebar_label: "Get mermaid class diagramm for the gate JPA model" -hide_title: true -hide_table_of_contents: true -api: {"tags":["gate-documentation-controller"],"operationId":"getMermaidGatePersistence","responses":{"200":{"description":"Entity model as mermaid diagramm","content":{"text/plain":{"schema":{"type":"string"}}}}},"description":"Get mermaid class diagramm for the gate JPA model","method":"get","path":"/api/catena/mermaid/","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get mermaid class diagramm for the gate JPA model","description":{"type":"text/plain"},"url":{"path":["api","catena","mermaid",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"text/plain"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get mermaid class diagramm for the gate JPA model - - - -Get mermaid class diagramm for the gate JPA model - -
          - -Entity model as mermaid diagramm - -
          Schema
          • string
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx deleted file mode 100644 index cac702fb799..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-output-changelog -title: "Returns changelog entries for changes to the business partner output stage" -description: "Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type." -sidebar_label: "Returns changelog entries for changes to the business partner output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getOutputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","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"]}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/api/catena/output/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns changelog entries for changes to the business partner output stage","description":{"content":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["api","catena","output","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries for changes to the business partner output stage - - - -Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - -
          Query Parameters
          Request Body required
          - -The changelog entries for the specified parameters - -
          Schema
            content object[]
            - -Collection of results in the page - -
            errors object[]
            - -Infos about the entries with errors - -
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx deleted file mode 100644 index aacc2623ba4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-sharing-states -title: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -description: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -sidebar_label: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" -hide_title: true -hide_table_of_contents: true -api: {"tags":["sharing-state-controller"],"operationId":"getSharingStates","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"}},{"name":"businessPartnerType","in":"query","description":"Business partner type","required":false,"schema":{"type":"string","enum":["LEGAL_ENTITY","SITE","ADDRESS","GENERIC"]}},{"name":"externalIds","in":"query","description":"External IDs","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Page of sharing states","content":{"application/json":{"schema":{"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":{"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."},"sharingStateType":{"type":"string","description":"One of the sharing state types of the current sharing state.","enum":["Pending","Success","Error","Initial","Ready"]},"sharingErrorCode":{"type":"string","description":"One of the sharing error codes in case the current sharing state type is \"error\".","enum":["SharingProcessError","SharingTimeout","BpnNotInPool","MissingTaskID"]},"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.","format":"date-time"},"taskId":{"type":"string","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."}}},"description":"Paginated collection of results"}}}}},"description":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","method":"get","path":"/api/catena/sharing-state","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","description":{"type":"text/plain"},"url":{"path":["api","catena","sharing-state"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"Business partner type","type":"text/plain"},"key":"businessPartnerType","value":""},{"disabled":false,"description":{"content":"External IDs","type":"text/plain"},"key":"externalIds","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs - - - -Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs - -
          Query Parameters
          - -Page of sharing states - -
          Schema
            content object[]
            - -Collection of results in the page - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-site-by-external-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-site-by-external-id.api.mdx deleted file mode 100644 index 4265cf60e4b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-site-by-external-id.api.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -id: get-site-by-external-id -title: "Returns site by external ID from the input stage" -description: "Returns site by external ID from the input stage." -sidebar_label: "Returns site by external ID from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Returns site by external ID from the input stage.","operationId":"getSiteByExternalId","parameters":[{"name":"externalId","in":"path","description":"External ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found site with external ID","content":{"application/json":{"schema":{"required":["externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."}},"description":"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."}}}},"404":{"description":"No site found under specified external ID"}},"deprecated":true,"method":"get","path":"/api/catena/input/sites/{externalId}","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns site by external ID from the input stage","description":{"content":"Returns site by external ID from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","sites",":externalId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) External ID","type":"text/plain"},"type":"any","value":"","key":"externalId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns site by external ID from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns site by external ID from the input stage. - -
          Path Parameters
          - -Found site with external ID - -
          Schema
            states object[]
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -No site found under specified external ID - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-by-external-ids.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-by-external-ids.api.mdx deleted file mode 100644 index 26e345daa6a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-by-external-ids.api.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: get-sites-by-external-ids -title: "Returns sites by an array of external IDs from the input stage" -description: "Returns page of sites from the input stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns sites by an array of external IDs from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Returns page of sites from the input stage. Can optionally be filtered by external IDs.","operationId":"getSitesByExternalIds","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"}}}},"required":true},"responses":{"200":{"description":"The requested page of sites","content":{"application/json":{"schema":{"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":{"required":["externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/input/sites/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns sites by an array of external IDs from the input stage","description":{"content":"Returns page of sites from the input stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","input","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sites by an array of external IDs from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of sites from the input stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array required
          • string
          - -The requested page of sites - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-output.api.mdx deleted file mode 100644 index 8589595151c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites-output.api.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: get-sites-output -title: "Returns sites by an array of external IDs from the output stage" -description: "Get page of sites from the output stage. Can optionally be filtered by external IDs." -sidebar_label: "Returns sites by an array of external IDs from the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Get page of sites from the output stage. Can optionally be filtered by external IDs.","operationId":"getSitesOutput","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"}}}}},"responses":{"200":{"description":"The requested page of sites","content":{"application/json":{"schema":{"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":{"required":["bpns","externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["bpna","externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."},"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."},"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"post","path":"/api/catena/output/sites/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns sites by an array of external IDs from the output stage","description":{"content":"Get page of sites from the output stage. Can optionally be filtered by external IDs.","type":"text/plain"},"url":{"path":["api","catena","output","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sites by an array of external IDs from the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Get page of sites from the output stage. Can optionally be filtered by external IDs. - -
          Query Parameters
          Request Body array
          • string
          - -The requested page of sites - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites.api.mdx deleted file mode 100644 index 085d1307536..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/get-sites.api.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: get-sites -title: "Returns sites from the input stage" -description: "Returns page of sites from the input stage." -sidebar_label: "Returns sites from the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Returns page of sites from the input stage.","operationId":"getSites","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"}}],"responses":{"200":{"description":"The requested page of sites","content":{"application/json":{"schema":{"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":{"required":["externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"deprecated":true,"method":"get","path":"/api/catena/input/sites","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns sites from the input stage","description":{"content":"Returns page of sites from the input stage.","type":"text/plain"},"url":{"path":["api","catena","input","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sites from the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Returns page of sites from the input stage. - -
          Query Parameters
          - -The requested page of sites - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx deleted file mode 100644 index d23bd6583e0..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-sharing-state-ready -title: "Sets the given business partners into ready to be shared state" -description: "The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach)." -sidebar_label: "Sets the given business partners into ready to be shared state" -hide_title: true -hide_table_of_contents: true -api: {"tags":["sharing-state-controller"],"description":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","operationId":"postSharingStateReady","requestBody":{"content":{"application/json":{"schema":{"required":["externalIds"],"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"description":"Request for setting business partners into ready to be shared to golden record state"}}},"required":true},"responses":{"204":{"description":"All business partners put in ready to be shared state"},"404":{"description":"Business partners can't be put into ready state (e.g. external-ID not found, wrong sharing state)"}},"method":"post","path":"/api/catena/sharing-state/ready","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Sets the given business partners into ready to be shared state","description":{"content":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","type":"text/plain"},"url":{"path":["api","catena","sharing-state","ready"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Sets the given business partners into ready to be shared state - - - -The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach). - -
          Request Body required
          - -All business partners put in ready to be shared state - -
          - -Business partners can't be put into ready state (e.g. external-ID not found, wrong sharing state) - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js deleted file mode 100644 index 7d3ff9f3ac7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate"},{"type":"category","label":"sharing-state-controller","link":{"type":"generated-index","title":"sharing-state-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/sharing-state-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states","label":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-sharing-state","label":"Creates or updates a sharing state of a business partner","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready","label":"Sets the given business partners into ready to be shared state","className":"api-method post"}]},{"type":"category","label":"site-controller","link":{"type":"generated-index","title":"site-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/site-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites-output","label":"Creates or updates an existing site in the output stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sites","label":"Returns sites from the input stage","className":"menu__list-item--deprecated api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites","label":"Creates or updates an existing site in the input stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sites-output","label":"Returns sites by an array of external IDs from the output stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sites-by-external-ids","label":"Returns sites by an array of external IDs from the input stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-site-by-external-id","label":"Returns site by external ID from the input stage","className":"menu__list-item--deprecated api-method get"}]},{"type":"category","label":"legal-entity-controller","link":{"type":"generated-index","title":"legal-entity-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/legal-entity-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities-output","label":"Creates or updates an existing legal entity in the output stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities","label":"Returns legal entities from the input stage","className":"menu__list-item--deprecated api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities","label":"Creates or updates an existing legal entity in the input stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-output","label":"Returns legal entities by an array of external IDs from the output stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entities-by-external-ids","label":"Returns legal entities by an array of external IDs from the input stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-legal-entity-by-external-id","label":"Returns legal entity by external ID from the input stage","className":"menu__list-item--deprecated api-method get"}]},{"type":"category","label":"address-controller","link":{"type":"generated-index","title":"address-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/address-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses-output","label":"Creates or updates an existing address in the output stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-addresses","label":"Returns addresses from the input stage","className":"menu__list-item--deprecated api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses","label":"Creates or updates an existing address in the input stage","className":"menu__list-item--deprecated api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-output","label":"Returns addresses by an array of external IDs from the output stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-addresses-by-external-ids","label":"Returns addresses by an array of external IDs from the input stage","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-address-by-external-id","label":"Returns address by external ID from the input stage","className":"menu__list-item--deprecated api-method get"}]},{"type":"category","label":"business-partner-controller","link":{"type":"generated-index","title":"business-partner-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input","label":"Create or update business partner with given external ID","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output","label":"Search business partners by an array of external IDs from the output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input","label":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","className":"api-method post"}]},{"type":"category","label":"changelog-controller","link":{"type":"generated-index","title":"changelog-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/changelog-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog","label":"Returns changelog entries for changes to the business partner output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog","label":"Returns changelog entries for changes to the business partner input stage","className":"api-method post"}]},{"type":"category","label":"stats-controller","link":{"type":"generated-index","title":"stats-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/stats-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-address-types","label":"countAddressTypes","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage","label":"countPartnersPerStage","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state","label":"countPartnersBySharingState","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats","label":"getConfidenceCriteriaStats","className":"api-method get"}]},{"type":"category","label":"gate-documentation-controller","link":{"type":"generated-index","title":"gate-documentation-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/gate-documentation-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-mermaid-gate-persistence","label":"Get mermaid class diagramm for the gate JPA model","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses-output.api.mdx deleted file mode 100644 index cc5b7d77c58..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses-output.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: upsert-addresses-output -title: "Creates or updates an existing address in the output stage" -description: "Create or update addresses (Output). Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing address in the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Create or update addresses (Output). Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries.","operationId":"upsertAddressesOutput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpn","externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."},"bpn":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Addresses were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed address request"}},"deprecated":true,"method":"put","path":"/api/catena/output/addresses","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"externalId":"string","legalEntityExternalId":"string","siteExternalId":"string","bpn":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing address in the output stage","description":{"content":"Create or update addresses (Output). Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","output","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing address in the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update addresses (Output). Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries. - -
          Request Body array required
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Addresses were successfully updated or created - -
          Schema
          • object
          - -On malformed address request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses.api.mdx deleted file mode 100644 index 6ef3b9d5457..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-addresses.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: upsert-addresses -title: "Creates or updates an existing address in the input stage" -description: "Create or update addresses. Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing address in the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Create or update addresses. Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries.","operationId":"upsertAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["externalId","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the legal entity, that owns the address."},"siteExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner, representing the site, that the address belongs to."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Addresses were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed address request"}},"deprecated":true,"method":"put","path":"/api/catena/input/addresses","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"externalId":"string","legalEntityExternalId":"string","siteExternalId":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing address in the input stage","description":{"content":"Create or update addresses. Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","input","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing address in the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update addresses. Updates instead of creating a new address if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of addresses in the request is limited to 100 entries. - -
          Request Body array required
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Addresses were successfully updated or created - -
          Schema
          • object
          - -On malformed address request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx deleted file mode 100644 index c4d0d64aa38..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: upsert-business-partners-input -title: "Create or update business partner with given external ID" -description: "Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries." -sidebar_label: "Create or update business partner with given external ID" -hide_title: true -hide_table_of_contents: true -api: {"tags":["business-partner-controller"],"description":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"upsertBusinessPartnersInput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["address","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","site","states"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."}},"description":"The address, on which the business partner provides a view. "}},"description":"Generic business partner with external id"}}}},"required":true},"responses":{"200":{"description":"Business partner were successfully updated or created","content":{"application/json":{"schema":{"type":"array","items":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."}},"description":"The site, on which the business partner provides a view."},"address":{"required":["alternativePostalAddress","physicalPostalAddress"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}}}},"400":{"description":"On malformed legal entity request"}},"method":"put","path":"/api/catena/input/business-partners","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"externalId":"string","nameParts":["string"],"identifiers":[{"type":"string","value":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"roles":["SUPPLIER"],"isOwnCompanyData":true,"legalEntity":{"legalEntityBpn":"string","legalName":"string","shortName":"string","legalForm":"string","classifications":[{"type":"NACE","code":"string","value":"string"}]},"site":{"siteBpn":"string","name":"string"},"address":{"addressBpn":"string","name":"string","addressType":"LegalAndSiteMainAddress","physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"}}}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Create or update business partner with given external ID","description":{"content":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","input","business-partners"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create or update business partner with given external ID - - - -Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries. - -
          Request Body array required
            identifiers object[] required
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[] required
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object required
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[] required
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            site object required
            - -The site, on which the business partner provides a view. - -
            address object required
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object required
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
          - -Business partner were successfully updated or created - -
          Schema array
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            site object
            - -The site, on which the business partner provides a view. - -
            address object
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
          - -On malformed legal entity request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities-output.api.mdx deleted file mode 100644 index 6571b1184cf..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities-output.api.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: upsert-legal-entities-output -title: "Creates or updates an existing legal entity in the output stage" -description: "Create or update legal entities (Output). Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing legal entity in the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Create or update legal entities (Output). Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries.","operationId":"upsertLegalEntitiesOutput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpn","classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["bpn","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpn":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"bpn":{"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."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Legal entities were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed legal entity request"}},"deprecated":true,"method":"put","path":"/api/catena/output/legal-entities","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"legalNameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"legalShortName":"string","legalForm":"string","states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"classifications":[{"type":"NACE","code":"string","value":"string"}],"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"legalAddress":{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"bpn":"string"},"externalId":"string","bpn":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing legal entity in the output stage","description":{"content":"Create or update legal entities (Output). Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","output","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing legal entity in the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update legal entities (Output). Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries. - -
          Request Body array required
            identifiers object[] required
            - -The list of identifiers of the legal entity. - -
            states object[] required
            - -The list of (temporary) states of the legal entity. - -
            classifications object[] required
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Legal entities were successfully updated or created - -
          Schema
          • object
          - -On malformed legal entity request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities.api.mdx deleted file mode 100644 index a7d5f6ee769..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-legal-entities.api.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: upsert-legal-entities -title: "Creates or updates an existing legal entity in the input stage" -description: "Create or update legal entities. Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing legal entity in the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Create or update legal entities. Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries.","operationId":"upsertLegalEntities","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["classifications","externalId","identifiers","legalAddress","legalNameParts","roles","states"],"type":"object","properties":{"legalNameParts":{"type":"array","description":"The list of name parts of the legal entity to accommodate the different number of name fields in different systems.","items":{"type":"string"}},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"legalShortName":{"type":"string","description":"The abbreviated name of the legal entity."},"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":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Legal entities were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed legal entity request"}},"deprecated":true,"method":"put","path":"/api/catena/input/legal-entities","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"legalNameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"legalShortName":"string","legalForm":"string","states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"classifications":[{"type":"NACE","code":"string","value":"string"}],"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"legalAddress":{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"externalId":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing legal entity in the input stage","description":{"content":"Create or update legal entities. Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","input","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing legal entity in the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update legal entities. Updates instead of creating a new legal entity if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of legal entities in the request is limited to 100 entries. - -
          Request Body array required
            identifiers object[] required
            - -The list of identifiers of the legal entity. - -
            states object[] required
            - -The list of (temporary) states of the legal entity. - -
            classifications object[] required
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object
            legalAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Legal entities were successfully updated or created - -
          Schema
          • object
          - -On malformed legal entity request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sharing-state.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sharing-state.api.mdx deleted file mode 100644 index 1cdf3b9cf0a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sharing-state.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: upsert-sharing-state -title: "Creates or updates a sharing state of a business partner" -description: "Creates or updates a sharing state of a business partner" -sidebar_label: "Creates or updates a sharing state of a business partner" -hide_title: true -hide_table_of_contents: true -api: {"tags":["sharing-state-controller"],"operationId":"upsertSharingState","requestBody":{"content":{"application/json":{"schema":{"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."},"sharingStateType":{"type":"string","description":"One of the sharing state types of the current sharing state.","enum":["Pending","Success","Error","Initial","Ready"]},"sharingErrorCode":{"type":"string","description":"One of the sharing error codes in case the current sharing state type is \"error\".","enum":["SharingProcessError","SharingTimeout","BpnNotInPool","MissingTaskID"]},"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.","format":"date-time"},"taskId":{"type":"string","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."}}},"required":true},"responses":{"204":{"description":"Operation completed successfully"},"400":{"description":"Invalid data (e.g. external ID)"}},"deprecated":true,"description":"Creates or updates a sharing state of a business partner","method":"put","path":"/api/catena/sharing-state","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"businessPartnerType":"LEGAL_ENTITY","externalId":"string","sharingStateType":"Pending","sharingErrorCode":"SharingProcessError","sharingErrorMessage":"string","bpn":"string","sharingProcessStarted":"2024-02-22","taskId":"string"},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates a sharing state of a business partner","description":{"type":"text/plain"},"url":{"path":["api","catena","sharing-state"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates a sharing state of a business partner - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Creates or updates a sharing state of a business partner - -
          Request Body required
          - -Operation completed successfully - -
          - -Invalid data (e.g. external ID) - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites-output.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites-output.api.mdx deleted file mode 100644 index 9cf00da9f35..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites-output.api.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -id: upsert-sites-output -title: "Creates or updates an existing site in the output stage" -description: "Create or update sites (Output). Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing site in the output stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Create or update sites (Output). Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries.","operationId":"upsertSitesOutput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpn","externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["bpn","identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpn":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."},"bpn":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Sites were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed site request"}},"deprecated":true,"method":"put","path":"/api/catena/output/sites","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"roles":["SUPPLIER"],"mainAddress":{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"bpn":"string"},"externalId":"string","legalEntityExternalId":"string","bpn":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing site in the output stage","description":{"content":"Create or update sites (Output). Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","output","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing site in the output stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update sites (Output). Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries. - -
          Request Body array required
            states object[] required
            - -The list of the (temporary) states of the site. - -
            mainAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Sites were successfully updated or created - -
          Schema
          • object
          - -On malformed site request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites.api.mdx deleted file mode 100644 index d19eb39ef23..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Gate Api/upsert-sites.api.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -id: upsert-sites -title: "Creates or updates an existing site in the input stage" -description: "Create or update sites. Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries." -sidebar_label: "Creates or updates an existing site in the input stage" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Create or update sites. Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries.","operationId":"upsertSites","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["externalId","legalEntityExternalId","mainAddress","nameParts","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the site to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the owner chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"mainAddress":{"required":["identifiers","nameParts","physicalPostalAddress","roles","states"],"type":"object","properties":{"nameParts":{"type":"array","description":"The list of name parts of the address to accommodate the different number of name fields in different systems. This is not according to official registers but according to the name the sharing member chooses.","items":{"type":"string"}},"states":{"type":"array","description":"The list of (temporary) states of the address.","items":{"required":["type"],"type":"object","properties":{"description":{"type":"string"},"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"roles":{"type":"array","description":"Roles this business partner takes in relation to the sharing member.","items":{"type":"string","enum":["SUPPLIER","CUSTOMER","ONE_TIME_SUPPLIER","ONE_TIME_CUSTOMER"]}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"legalEntityExternalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner owning the site."}},"description":"Request for creating/updating 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."}}}},"required":true},"responses":{"200":{"description":"Sites were successfully updated or created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"On malformed site request"}},"deprecated":true,"method":"put","path":"/api/catena/input/sites","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"roles":["SUPPLIER"],"mainAddress":{"nameParts":["string"],"states":[{"description":"string","validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"roles":["SUPPLIER"],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"externalId":"string","legalEntityExternalId":"string"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates or updates an existing site in the input stage","description":{"content":"Create or update sites. Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","catena","input","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates or updates an existing site in the input stage - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create or update sites. Updates instead of creating a new site if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of sites in the request is limited to 100 entries. - -
          Request Body array required
            states object[] required
            - -The list of the (temporary) states of the site. - -
            mainAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -Sites were successfully updated or created - -
          Schema
          • object
          - -On malformed site request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx deleted file mode 100644 index cf95b3ce522..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-orchestrator -title: "Business Partner Data Management Orchestrator" -description: "Orchestrator component acts as a passive component and offers for each processing steps individual endpoints" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 5.0.1-SNAPSHOT - -# Business Partner Data Management Orchestrator - - - -Orchestrator component acts as a passive component and offers for each processing steps individual endpoints - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx deleted file mode 100644 index 59251e105b7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx +++ /dev/null @@ -1,134 +0,0 @@ ---- -id: create-tasks -title: "Create new golden record tasks for given business partner data" -description: "Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries." -sidebar_label: "Create new golden record tasks for given business partner data" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Client"],"description":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"createTasks","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartners","mode"],"type":"object","properties":{"mode":{"type":"string","description":"The mode affecting which processing steps the business partner goes through","enum":["UpdateFromSharingMember","UpdateFromPool"]},"businessPartners":{"type":"array","description":"The list of business partner data to be processed","items":{"required":["address","identifiers","legalEntity","nameParts","roles","site","states"],"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":{"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"}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site, on which the business partner provides a view."},"address":{"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address, on which the business partner provides a view. "},"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"}}},"description":"Request object to specify for which business partner data tasks should be created and in which mode"}}},"required":true},"responses":{"200":{"description":"The states of successfully created tasks including the task identifier for tracking purposes.","content":{"application/json":{"schema":{"required":["createdTasks"],"type":"object","properties":{"createdTasks":{"type":"array","items":{"required":["processingState","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"businessPartnerResult":{"required":["address","identifiers","legalEntity","nameParts","roles","site","states"],"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":{"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"}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site, on which the business partner provides a view."},"address":{"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address, on which the business partner provides a view. "},"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"},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of created tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/api/golden-record-tasks","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"mode":"UpdateFromSharingMember","businessPartners":[{"nameParts":["string"],"identifiers":[{"type":"string","value":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"roles":["SUPPLIER"],"legalEntity":{"legalEntityBpn":"string","legalName":"string","shortName":"string","legalForm":"string","classifications":[{"type":"NACE","code":"string","value":"string"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"site":{"siteBpn":"string","name":"string","confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"address":{"addressBpn":"string","name":"string","addressType":"LegalAndSiteMainAddress","physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"ownerBpnL":"string"}]},"info":{"title":"Business Partner Data Management Orchestrator","description":"Orchestrator component acts as a passive component and offers for each processing steps individual endpoints","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Create new golden record tasks for given business partner data","description":{"content":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["api","golden-record-tasks"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new golden record tasks for given business partner data - - - -Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries. - -
          Request Body required
            businessPartners object[] required
            - -The list of business partner data to be processed - -
            identifiers object[] required
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[] required
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object required
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[] required
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object required
            - -The site, on which the business partner provides a view. - -
            confidenceCriteria object
            address object required
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -The states of successfully created tasks including the task identifier for tracking purposes. - -
          Schema
            createdTasks object[]
            businessPartnerResult object
            - -Generic business partner with external id - -
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object
            - -The site, on which the business partner provides a view. - -
            confidenceCriteria object
            address object
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            processingState object
            - -Contains detailed information about the current processing state of a golden record task - -
            errors object[]
            - -The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. - -
          - -On malformed task create requests or reaching upsert limit - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx deleted file mode 100644 index 6d55f733c54..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx +++ /dev/null @@ -1,218 +0,0 @@ ---- -id: reserve-tasks-for-step -title: "Reserve the next golden record tasks waiting in the given step queue" -description: "Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100." -sidebar_label: "Reserve the next golden record tasks waiting in the given step queue" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Worker"],"description":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","operationId":"reserveTasksForStep","requestBody":{"content":{"application/json":{"schema":{"required":["amount","step"],"type":"object","properties":{"amount":{"type":"integer","description":"The maximum number of tasks to reserve. Can be fewer if queue is not full enough.","format":"int32"},"step":{"type":"string","description":"The step queue to reserve from","enum":["CleanAndSync","PoolSync","Clean"]}},"description":"Request object for reserving a number of tasks waiting in a step queue."}}},"required":true},"responses":{"200":{"description":"The reserved tasks with their business partner data to process.","content":{"application/json":{"schema":{"required":["reservedTasks","timeout"],"type":"object","properties":{"reservedTasks":{"type":"array","description":"The reserved tasks with their business partner data to process","items":{"required":["businessPartner","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the reserved task"},"businessPartner":{"required":["generic"],"type":"object","properties":{"generic":{"required":["address","identifiers","legalEntity","nameParts","roles","site","states"],"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":{"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"}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site, on which the business partner provides a view."},"address":{"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address, on which the business partner provides a view. "},"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"},"legalEntity":{"required":["classifications","identifiers","states"],"type":"object","properties":{"bpnLReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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."}}}},"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":{"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"]}}}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"legalAddress":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity part of this business partner data"},"site":{"required":["states"],"type":"object","properties":{"bpnSReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"hasChanged":{"type":"boolean","description":"Whether this site data is different from its golden record counterpart in the Pool"},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}}}},"mainAddress":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site part of this business partner data"},"address":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"}},"description":"Business partner data in full representation, consisting of generic data as well as its L/S/A representation."},"requestKey":{"type":"string"}},"description":"Task reservation entry"}},"timeout":{"type":"string","description":"The timestamp until the reservation is valid and results are accepted","format":"date-time","deprecated":true}},"description":"Response object for giving a list of reserved tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/api/golden-record-tasks/step-reservations","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"amount":0,"step":"CleanAndSync"},"info":{"title":"Business Partner Data Management Orchestrator","description":"Orchestrator component acts as a passive component and offers for each processing steps individual endpoints","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Reserve the next golden record tasks waiting in the given step queue","description":{"content":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","type":"text/plain"},"url":{"path":["api","golden-record-tasks","step-reservations"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Reserve the next golden record tasks waiting in the given step queue - - - -Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100. - -
          Request Body required
          - -The reserved tasks with their business partner data to process. - -
          Schema
            reservedTasks object[]
            - -The reserved tasks with their business partner data to process - -
            businessPartner object
            - -Business partner data in full representation, consisting of generic data as well as its L/S/A representation. - -
            generic object
            - -Generic business partner with external id - -
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object
            - -The site, on which the business partner provides a view. - -
            confidenceCriteria object
            address object
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            legalEntity object
            - -The legal entity part of this business partner data - -
            bpnLReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            legalAddress object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            confidenceCriteria object
            site object
            - -The site part of this business partner data - -
            bpnSReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            confidenceCriteria object
            address object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[]
            - -The list of (temporary) states of the address. - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
          - -On malformed task create requests or reaching upsert limit - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx deleted file mode 100644 index 70a510de925..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx +++ /dev/null @@ -1,218 +0,0 @@ ---- -id: resolve-step-results -title: "Post step results for reserved golden record tasks in the given step queue" -description: "Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100." -sidebar_label: "Post step results for reserved golden record tasks in the given step queue" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Worker"],"description":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","operationId":"resolveStepResults","requestBody":{"content":{"application/json":{"schema":{"required":["results","step"],"type":"object","properties":{"step":{"type":"string","description":"The step queue containing the tasks for which results are posted","enum":["CleanAndSync","PoolSync","Clean"]},"results":{"type":"array","items":{"required":["errors","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the task for which this is a result"},"businessPartner":{"required":["generic"],"type":"object","properties":{"generic":{"required":["address","identifiers","legalEntity","nameParts","roles","site","states"],"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":{"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"}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site, on which the business partner provides a view."},"address":{"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address, on which the business partner provides a view. "},"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"},"legalEntity":{"required":["classifications","identifiers","states"],"type":"object","properties":{"bpnLReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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."}}}},"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":{"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"]}}}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"legalAddress":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity part of this business partner data"},"site":{"required":["states"],"type":"object","properties":{"bpnSReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"hasChanged":{"type":"boolean","description":"Whether this site data is different from its golden record counterpart in the Pool"},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}}}},"mainAddress":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site part of this business partner data"},"address":{"required":["identifiers","states"],"type":"object","properties":{"bpnAReference":{"required":["referenceType","referenceValue"],"type":"object","properties":{"referenceValue":{"type":"string","description":"The value by which the BPN is referenced"},"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"},"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":{"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"]}}}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}}}},"physicalPostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address part of this business partner data"}},"description":"Business partner data in full representation, consisting of generic data as well as its L/S/A representation."},"errors":{"type":"array","description":"Errors that occurred during processing of this task","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}}},"description":"A step result for a golden record task"}}},"description":"Request object for posting step results of previously reserved tasks"}}},"required":true},"responses":{"204":{"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"}},"method":"post","path":"/api/golden-record-tasks/step-results","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"step":"CleanAndSync","results":[{"taskId":"string","businessPartner":{"generic":{"nameParts":["string"],"identifiers":[{"type":"string","value":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"roles":["SUPPLIER"],"legalEntity":{"legalEntityBpn":"string","legalName":"string","shortName":"string","legalForm":"string","classifications":[{"type":"NACE","code":"string","value":"string"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"site":{"siteBpn":"string","name":"string","confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"address":{"addressBpn":"string","name":"string","addressType":"LegalAndSiteMainAddress","physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"ownerBpnL":"string"},"legalEntity":{"bpnLReference":{"referenceValue":"string","referenceType":"Bpn"},"hasChanged":true,"legalName":"string","legalShortName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"legalForm":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"classifications":[{"type":"NACE","code":"string","value":"string"}],"legalAddress":{"bpnAReference":{"referenceValue":"string","referenceType":"Bpn"},"hasChanged":true,"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"site":{"bpnSReference":{"referenceValue":"string","referenceType":"Bpn"},"hasChanged":true,"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"mainAddress":{"bpnAReference":{"referenceValue":"string","referenceType":"Bpn"},"hasChanged":true,"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"address":{"bpnAReference":{"referenceValue":"string","referenceType":"Bpn"},"hasChanged":true,"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}}},"errors":[{"type":"Timeout","description":"string"}]}]},"info":{"title":"Business Partner Data Management Orchestrator","description":"Orchestrator component acts as a passive component and offers for each processing steps individual endpoints","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Post step results for reserved golden record tasks in the given step queue","description":{"content":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","type":"text/plain"},"url":{"path":["api","golden-record-tasks","step-results"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Post step results for reserved golden record tasks in the given step queue - - - -Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100. - -
          Request Body required
            results object[] required
            businessPartner object
            - -Business partner data in full representation, consisting of generic data as well as its L/S/A representation. - -
            generic object required
            - -Generic business partner with external id - -
            identifiers object[] required
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[] required
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object required
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[] required
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object required
            - -The site, on which the business partner provides a view. - -
            confidenceCriteria object
            address object required
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            legalEntity object
            - -The legal entity part of this business partner data - -
            bpnLReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            identifiers object[] required
            - -The list of identifiers of the legal entity. - -
            states object[] required
            - -The list of (temporary) states of the legal entity. - -
            classifications object[] required
            - -The list of classifications of the legal entity, such as a specific industry. - -
            legalAddress object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            confidenceCriteria object
            site object
            - -The site part of this business partner data - -
            bpnSReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[] required
            - -The list of the (temporary) states of the site. - -
            mainAddress object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            confidenceCriteria object
            address object
            - -The address part of this business partner data - -
            bpnAReference object
            - -A reference to the BPN of a business partner. Either by the BPN value itself or a BPN request identifier - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            errors object[] required
            - -Errors that occurred during processing of this task - -
          - -If the results could be processed - -
          - -On malformed requests, reaching upsert limit or posting results for tasks which are missing or in the wrong step queue - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx deleted file mode 100644 index de90544150d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: search-task-states -title: "Search for the state of golden record tasks by task identifiers" -description: "Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored." -sidebar_label: "Search for the state of golden record tasks by task identifiers" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Task Client"],"description":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","operationId":"searchTaskStates","requestBody":{"content":{"application/json":{"schema":{"required":["taskIds"],"type":"object","properties":{"taskIds":{"type":"array","items":{"type":"string"}}},"description":"Request object for giving a list of task identifiers to search for the state of tasks"}}},"required":true},"responses":{"200":{"description":"The state of the tasks for the provided task identifiers.","content":{"application/json":{"schema":{"required":["tasks"],"type":"object","properties":{"tasks":{"type":"array","items":{"required":["processingState","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"businessPartnerResult":{"required":["address","identifiers","legalEntity","nameParts","roles","site","states"],"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":{"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"}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"legalEntity":{"required":["classifications"],"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."},"shortName":{"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."},"classifications":{"type":"array","description":"The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}}}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The site, on which the business partner provides a view."},"address":{"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}}},"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."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"The address, on which the business partner provides a view. "},"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"},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of task states"}}}},"400":{"description":"On malformed task search requests"}},"method":"post","path":"/api/golden-record-tasks/state/search","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"taskIds":["string"]},"info":{"title":"Business Partner Data Management Orchestrator","description":"Orchestrator component acts as a passive component and offers for each processing steps individual endpoints","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Search for the state of golden record tasks by task identifiers","description":{"content":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","type":"text/plain"},"url":{"path":["api","golden-record-tasks","state","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search for the state of golden record tasks by task identifiers - - - -Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored. - -
          Request Body required
          - -The state of the tasks for the provided task identifiers. - -
          Schema
            tasks object[]
            businessPartnerResult object
            - -Generic business partner with external id - -
            identifiers object[]
            - -The list of identifiers of the business partner. Sorted and duplicates removed by the service. - -
            states object[]
            - -The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. - -
            legalEntity object
            - -The legal entity, on which the business partner provides a view. - -
            classifications object[]
            - -The list of classifications of the business partner, such as a specific industry. Sorted and duplicates removed by the service. - -
            confidenceCriteria object
            site object
            - -The site, on which the business partner provides a view. - -
            confidenceCriteria object
            address object
            - -The address, on which the business partner provides a view. - -
            physicalPostalAddress object
            - -The physical postal address of the address, on which the business partner provides a view, such as an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            alternativePostalAddress object
            - -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. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object
            processingState object
            - -Contains detailed information about the current processing state of a golden record task - -
            errors object[]
            - -The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. - -
          - -On malformed task search requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js deleted file mode 100644 index 433446ffc5e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator"},{"type":"category","label":"Task Client","link":{"type":"generated-index","title":"Task Client","slug":"/category/kits/Business Partner Kit/Software Development View/Orchestrator Api/task-client"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks","label":"Create new golden record tasks for given business partner data","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states","label":"Search for the state of golden record tasks by task identifiers","className":"api-method post"}]},{"type":"category","label":"Task Worker","link":{"type":"generated-index","title":"Task Worker","slug":"/category/kits/Business Partner Kit/Software Development View/Orchestrator Api/task-worker"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results","label":"Post step results for reserved golden record tasks in the given step queue","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step","label":"Reserve the next golden record tasks waiting in the given step queue","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx deleted file mode 100644 index 97533386b1e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: business-partner-data-management-pool -title: "Business Partner Data Management Pool" -description: "Service that manages and shares business partner data with other CatenaX services" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 5.0.1-SNAPSHOT - -# Business Partner Data Management Pool - - - -Service that manages and shares business partner data with other CatenaX services - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx deleted file mode 100644 index a49a476a791..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: create-addresses -title: "Creates a new address" -description: "Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new address" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnParent","confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnParent":{"type":"string","description":"BPNL of the legal entity or BPNS of the site this address belongs to."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New business partner record successfully created, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","SiteMainAddress","AdditionalAddress"]},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressCreateError","enum":["BpnNotValid","SiteNotFound","LegalEntityNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/api/catena/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"bpnParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates a new address","description":{"content":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["api","catena","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new address - - - -Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
          Request Body array required
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
          - -New business partner record successfully created, possible errors are returned - -
          Schema
            entities object[]
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx deleted file mode 100644 index 1dfc86297b6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx +++ /dev/null @@ -1,174 +0,0 @@ ---- -id: create-business-partners -title: "Creates a new legal entity" -description: "Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new legal entity" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["classifications","confidenceCriteria","identifiers","legalAddress","legalName","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","classifications","confidenceCriteria","createdAt","currentness","identifiers","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"value":{"type":"string","description":"The name of the class belonging to the classification."},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["NACE","NAF","NAICS","SIC"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityCreateError","enum":["LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/api/catena/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"classifications":[{"type":"NACE","code":"string","value":"string"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"legalAddress":{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates a new legal entity","description":{"content":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["api","catena","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new legal entity - - - -Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
          Request Body array required
            identifiers object[] required
            - -The list of identifiers of the legal entity. - -
            states object[] required
            - -The list of (temporary) states of the legal entity. - -
            classifications object[] required
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object required
            legalAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
          - -New legal entities request was processed successfully, possible errors are returned - -
          Schema
            entities object[]
            legalForm object
            - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            type object
            - -Named type uniquely identified by its technical key - -
            relations object[]
            - -Relations to other business partners. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx deleted file mode 100644 index 8a844af33ad..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: create-identifier-type -title: "Creates a new identifier type" -description: "Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." -sidebar_label: "Creates a new identifier type" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createIdentifierType","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"required":true},"responses":{"200":{"description":"New identifier type successfully created","content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Identifier type with specified technical key already exists"}},"method":"post","path":"/api/catena/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","businessPartnerType":"LEGAL_ENTITY","name":"string","details":[{"country":"UNDEFINED","mandatory":true}]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates a new identifier type","description":{"content":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["api","catena","identifier-types"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new identifier type - - - -Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. - -
          Request Body required
            details object[] required
            - -Validity details. - -
          - -New identifier type successfully created - -
          Schema
            details object[]
            - -Validity details. - -
          - -On malformed request parameters - -
          - -Identifier type with specified technical key already exists - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx deleted file mode 100644 index e0c9ab216aa..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: create-legal-form -title: "Creates a new legal form" -description: "Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." -sidebar_label: "Creates a new legal form" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createLegalForm","requestBody":{"content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key to be used for reference"},"name":{"type":"string","description":"Full name of the legal form"},"abbreviation":{"type":"string","description":"Abbreviation of the legal form name"}},"description":"New legal form record to be referenced by business partners"}}},"required":true},"responses":{"200":{"description":"New legal form successfully created","content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Legal form with specified technical key already exists"}},"method":"post","path":"/api/catena/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","name":"string","abbreviation":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates a new legal form","description":{"content":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["api","catena","legal-forms"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new legal form - - - -Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. - -
          Request Body required
          - -New legal form successfully created - -
          Schema
          - -On malformed request parameters - -
          - -Legal form with specified technical key already exists - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-region.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-region.api.mdx deleted file mode 100644 index 1ae55690b16..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-region.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: create-region -title: "Create new Region" -description: "Create a new region which can be referenced by business partner records." -sidebar_label: "Create new Region" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Create a new region which can be referenced by business partner records.","operationId":"createRegion","requestBody":{"content":{"application/json":{"schema":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"Region within a country"}}},"required":true},"responses":{"200":{"description":"New region successfully created","content":{"application/json":{"schema":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"Region within a country"}}}},"400":{"description":"On malformed request parameters"}},"deprecated":true,"method":"post","path":"/api/catena/regions","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"countryCode":"UNDEFINED","regionCode":"string","regionName":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Create new Region","description":{"content":"Create a new region which can be referenced by business partner records.","type":"text/plain"},"url":{"path":["api","catena","regions"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new Region - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Create a new region which can be referenced by business partner records. - -
          Request Body required
          - -New region successfully created - -
          Schema
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx deleted file mode 100644 index bb3f9ce4669..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -id: create-site -title: "Creates a new site" -description: "Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." -sidebar_label: "Creates a new site" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnlParent","confidenceCriteria","mainAddress","name","states"],"type":"object","properties":{"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnlParent":{"type":"string","description":"The BPNL of the legal entity owning the site."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteCreateError","enum":["LegalEntityNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/api/catena/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"bpnlParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Creates a new site","description":{"content":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["api","catena","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Creates a new site - - - -Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. - -
          Request Body array required
            states object[] required
            - -The list of the (temporary) states of the site. - -
            mainAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
            confidenceCriteria object required
          - -New sites request was processed successfully, possible errors are returned - -
          Schema
            entities object[]
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx deleted file mode 100644 index 3c3e7a2f5ad..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: find-bpns-by-identifiers -title: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" -description: "Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries." -sidebar_label: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" -hide_title: true -hide_table_of_contents: true -api: {"tags":["bpn-controller"],"description":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","operationId":"findBpnsByIdentifiers","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","idType","idValues"],"type":"object","properties":{"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"idType":{"type":"string","description":"Technical key of the type to which the identifiers belongs to"},"idValues":{"type":"array","description":"Values of the identifiers","items":{"type":"string","description":"Values of the identifiers"}}},"description":"Contains identifiers to search legal entities by"}}},"required":true},"responses":{"200":{"description":"Found bpn to identifier value mappings","content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"required":["bpn","idValue"],"type":"object","properties":{"idValue":{"type":"string","description":"Value of the identifier"},"bpn":{"type":"string","description":"Business Partner Number"}},"description":"Mapping of Business Partner Number to identifier value"}}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"},"404":{"description":"Specified identifier type not found"}},"method":"post","path":"/api/catena/bpn/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"businessPartnerType":"LEGAL_ENTITY","idType":"string","idValues":["string"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values","description":{"content":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","type":"text/plain"},"url":{"path":["api","catena","bpn","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values - - - -Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries. - -
          Request Body required
          - -Found bpn to identifier value mappings - -
          Schema array
          - -On malformed request parameters or if number of requested bpns exceeds limit - -
          - -Specified identifier type not found - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx deleted file mode 100644 index 5cb10478244..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: get-address -title: "Returns an address by its BPNA" -description: "Get business partners of type address by BPNA ignoring case." -sidebar_label: "Returns an address by its BPNA" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Get business partners of type address by BPNA ignoring case.","operationId":"getAddress","parameters":[{"name":"bpna","in":"path","description":"BPNA value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found address with specified BPNA","content":{"application/json":{"schema":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No address found under specified BPNA"}},"method":"get","path":"/api/catena/addresses/{bpna}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns an address by its BPNA","description":{"content":"Get business partners of type address by BPNA ignoring case.","type":"text/plain"},"url":{"path":["api","catena","addresses",":bpna"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNA value","type":"text/plain"},"type":"any","value":"","key":"bpna"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns an address by its BPNA - - - -Get business partners of type address by BPNA ignoring case. - -
          Path Parameters
          - -Found address with specified BPNA - -
          Schema
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed request parameters - -
          - -No address found under specified BPNA - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx deleted file mode 100644 index 5c35eb6f396..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -id: get-addresses-1 -title: "Returns addresses by different search parameters" -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." -sidebar_label: "Returns addresses by different search parameters" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"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":"name","in":"query","description":"Filter business partners by name","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of addresses matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["address","score"],"type":"object","properties":{"score":{"type":"number","description":"Relative quality score of the match. The higher the better.","format":"float"},"address":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/api/catena/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns addresses by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["api","catena","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Filter business partners by name","type":"text/plain"},"key":"name","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses by different search parameters - - - -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. - -
          Query Parameters
          - -Page of addresses matching the search criteria, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
            address object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed search or pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx deleted file mode 100644 index 23940eb57a8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -id: get-addresses -title: "Returns all addresses of a legal entity with a specific BPNL" -description: "Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case." -sidebar_label: "Returns all addresses of a legal entity with a specific BPNL" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","operationId":"getAddresses","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The addresses for the specified BPNL","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified BPNL"}},"method":"get","path":"/api/catena/legal-entities/{bpnl}/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns all addresses of a legal entity with a specific BPNL","description":{"content":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","type":"text/plain"},"url":{"path":["api","catena","legal-entities",":bpnl","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all addresses of a legal entity with a specific BPNL - - - -Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case. - -
          Path Parameters
          Query Parameters
          - -The addresses for the specified BPNL - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - -No business partner found for specified BPNL - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx deleted file mode 100644 index ac4bdeb548d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-admin-areas-level-1 -title: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" -description: "Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result" -sidebar_label: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","operationId":"getAdminAreasLevel1","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"}}],"responses":{"200":{"description":"Page of existing country subdivisions, may be empty","content":{"application/json":{"schema":{"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":{"required":["code","countryCode","name"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"code":{"type":"string","description":"The country subdivision code according to ISO 3166-2"},"name":{"type":"string","description":"The name of the country subdivision according to ISO 3166-2"}},"description":"Country subdivision"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/api/catena/administrative-areas-level1","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get page of country subdivisions suitable for the administrativeAreaLevel1 address property","description":{"content":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","type":"text/plain"},"url":{"path":["api","catena","administrative-areas-level1"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get page of country subdivisions suitable for the administrativeAreaLevel1 address property - - - -Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result - -
          Query Parameters
          - -Page of existing country subdivisions, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx deleted file mode 100644 index 6ddd4d9a2e9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-changelog-entries -title: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -description: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -sidebar_label: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" -hide_title: true -hide_table_of_contents: true -api: {"tags":["changelog-controller"],"operationId":"getChangelogEntries","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"bpns":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of BPNL/S/A. 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"]}}},"description":"Request for searching and filtering the business partner changelog"}}},"required":true},"responses":{"200":{"description":"The specified changelog entries","content":{"application/json":{"schema":{"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":{"required":["bpn","businessPartnerType","changelogType","timestamp"],"type":"object","properties":{"bpn":{"type":"string","description":"The business partner number for which the changelog entry was created. Can be either a BPNL, BPNS or BPNA."},"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpn"}},"description":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","method":"post","path":"/api/catena/business-partners/changelog/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","bpns":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","description":{"type":"text/plain"},"url":{"path":["api","catena","business-partners","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types - - - -Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types - -
          Query Parameters
          Request Body required
          - -The specified changelog entries - -
          Schema
            content object[]
            - -Collection of results in the page - -
          - -On malformed pagination request - -
          - -No business partner found for specified bpn - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx deleted file mode 100644 index 333865a22cb..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-field-quality-rules -title: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" -description: "List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden." -sidebar_label: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","operationId":"getFieldQualityRules","parameters":[{"name":"country","in":"query","description":"ISO 3166-1 alpha-2 country code","required":true,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"List of the existing rules for the given country","content":{"application/json":{"schema":{"type":"array","items":{"required":["country","fieldPath","qualityLevel"],"type":"object","properties":{"fieldPath":{"type":"string","description":"Path to the field"},"schemaName":{"type":"string","description":"Schema name of the entity the field belongs to"},"country":{"type":"string","description":"Country for wich the rule is valid","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"]},"qualityLevel":{"type":"string","description":"Defines the quality of an entity field.","enum":["MANDATORY","OPTIONAL","FORBIDDEN"]}},"description":"Rule for the quality level of an entity field "}}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/api/catena/field-quality-rules/","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)","description":{"content":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","type":"text/plain"},"url":{"path":["api","catena","field-quality-rules",""],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) ISO 3166-1 alpha-2 country code","type":"text/plain"},"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code) - - - -List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden. - -
          Query Parameters
          - -List of the existing rules for the given country - -
          Schema array
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx deleted file mode 100644 index fddb4d9c008..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-identifier-types -title: "Returns all identifier types filtered by business partner type and country." -description: "Lists all matching identifier types including validity details in a paginated result" -sidebar_label: "Returns all identifier types filtered by business partner type and country." -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Lists all matching identifier types including validity details in a paginated result","operationId":"getIdentifierTypes","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"}},{"name":"businessPartnerType","in":"query","required":true,"schema":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]}},{"name":"country","in":"query","required":false,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"Page of existing identifier types, may be empty","content":{"application/json":{"schema":{"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":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/api/catena/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns all identifier types filtered by business partner type and country.","description":{"content":"Lists all matching identifier types including validity details in a paginated result","type":"text/plain"},"url":{"path":["api","catena","identifier-types"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"key":"businessPartnerType","value":""},{"disabled":false,"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all identifier types filtered by business partner type and country. - - - -Lists all matching identifier types including validity details in a paginated result - -
          Query Parameters
          - -Page of existing identifier types, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
            details object[]
            - -Validity details. - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx deleted file mode 100644 index 223bced6395..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx +++ /dev/null @@ -1,134 +0,0 @@ ---- -id: get-legal-entities -title: "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." -sidebar_label: "Returns legal entities by different search parameters" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"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. ","operationId":"getLegalEntities","parameters":[{"name":"legalName","in":"query","description":"Filter legal entities by name","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpnl","classifications","confidenceCriteria","createdAt","currentness","identifiers","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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"value":{"type":"string","description":"The name of the class belonging to the classification."},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["NACE","NAF","NAICS","SIC"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/api/catena/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entities by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["api","catena","legal-entities"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Filter legal entities by name","type":"text/plain"},"key":"legalName","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities by different search parameters - - - -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. - -
          Query Parameters
          - -Page of business partners matching the search criteria, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
            legalForm object
            - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            type object
            - -Named type uniquely identified by its technical key - -
            relations object[]
            - -Relations to other business partners. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed search or pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx deleted file mode 100644 index e3bf99699fe..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx +++ /dev/null @@ -1,134 +0,0 @@ ---- -id: get-legal-entity -title: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" -description: "This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type." -sidebar_label: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","operationId":"getLegalEntity","parameters":[{"name":"idValue","in":"path","description":"Identifier value","required":true,"schema":{"type":"string"}},{"name":"idType","in":"query","description":"Type of identifier to use, defaults to BPN when omitted","required":false,"schema":{"type":"string","default":"BPN"}}],"responses":{"200":{"description":"Found business partner with specified identifier","content":{"application/json":{"schema":{"required":["bpnl","classifications","confidenceCriteria","createdAt","currentness","identifiers","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"value":{"type":"string","description":"The name of the class belonging to the classification."},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["NACE","NAF","NAICS","SIC"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No business partner found under specified identifier or specified identifier type not found"}},"method":"get","path":"/api/catena/legal-entities/{idValue}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type","description":{"content":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","type":"text/plain"},"url":{"path":["api","catena","legal-entities",":idValue"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Type of identifier to use, defaults to BPN when omitted","type":"text/plain"},"key":"idType","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) Identifier value","type":"text/plain"},"type":"any","value":"","key":"idValue"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type - - - -This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type. - -
          Path Parameters
          Query Parameters
          - -Found business partner with specified identifier - -
          Schema
            legalForm object
            - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            type object
            - -Named type uniquely identified by its technical key - -
            relations object[]
            - -Relations to other business partners. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed request parameters - -
          - -No business partner found under specified identifier or specified identifier type not found - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx deleted file mode 100644 index dd1c4b33a70..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-legal-forms -title: "Returns all legal forms" -description: "Lists all currently known legal forms in a paginated result" -sidebar_label: "Returns all legal forms" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Lists all currently known legal forms in a paginated result","operationId":"getLegalForms","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"}}],"responses":{"200":{"description":"Page of existing legal forms, may be empty","content":{"application/json":{"schema":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/api/catena/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns all legal forms","description":{"content":"Lists all currently known legal forms in a paginated result","type":"text/plain"},"url":{"path":["api","catena","legal-forms"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all legal forms - - - -Lists all currently known legal forms in a paginated result - -
          Query Parameters
          - -Page of existing legal forms, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-mermaid-pool-persistence.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-mermaid-pool-persistence.api.mdx deleted file mode 100644 index 3cd328f9c12..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-mermaid-pool-persistence.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-mermaid-pool-persistence -title: "Get mermaid class diagramm for the pool JPA model" -description: "Get mermaid class diagramm for the pool JPA model" -sidebar_label: "Get mermaid class diagramm for the pool JPA model" -hide_title: true -hide_table_of_contents: true -api: {"tags":["pool-documentation-controller"],"operationId":"getMermaidPoolPersistence","responses":{"200":{"description":"Entity model as mermaid diagramm","content":{"text/plain":{"schema":{"type":"string"}}}}},"description":"Get mermaid class diagramm for the pool JPA model","method":"get","path":"/api/catena/mermaid/","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get mermaid class diagramm for the pool JPA model","description":{"type":"text/plain"},"url":{"path":["api","catena","mermaid",""],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"text/plain"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get mermaid class diagramm for the pool JPA model - - - -Get mermaid class diagramm for the pool JPA model - -
          - -Entity model as mermaid diagramm - -
          Schema
          • string
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-regions.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-regions.api.mdx deleted file mode 100644 index bef1cccb545..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-regions.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-regions -title: "Get page of regions" -description: "Lists all currently known regions in a paginated result" -sidebar_label: "Get page of regions" -hide_title: true -hide_table_of_contents: true -api: {"tags":["metadata-controller"],"description":"Lists all currently known regions in a paginated result","operationId":"getRegions","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"}}],"responses":{"200":{"description":"Page of existing regions, may be empty","content":{"application/json":{"schema":{"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":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"Region within a country"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"deprecated":true,"method":"get","path":"/api/catena/regions","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get page of regions","description":{"content":"Lists all currently known regions in a paginated result","type":"text/plain"},"url":{"path":["api","catena","regions"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get page of regions - -:::caution deprecated - -This endpoint has been deprecated and may be removed in future versions of the API. - -::: - -Lists all currently known regions in a paginated result - -
          Query Parameters
          - -Page of existing regions, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx deleted file mode 100644 index 818125a8c06..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: get-site -title: "Returns a site by its BPNS" -description: "Get business partners of type site by BPNS ignoring case." -sidebar_label: "Returns a site by its BPNS" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Get business partners of type site by BPNS ignoring case.","operationId":"getSite","parameters":[{"name":"bpns","in":"path","description":"BPNS value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found site with specified BPNS","content":{"application/json":{"schema":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No site found under specified BPNS"}},"method":"get","path":"/api/catena/sites/{bpns}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns a site by its BPNS","description":{"content":"Get business partners of type site by BPNS ignoring case.","type":"text/plain"},"url":{"path":["api","catena","sites",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNS value","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a site by its BPNS - - - -Get business partners of type site by BPNS ignoring case. - -
          Path Parameters
          - -Found site with specified BPNS - -
          Schema
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed request parameters - -
          - -No site found under specified BPNS - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-paginated.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-paginated.api.mdx deleted file mode 100644 index 9483c92681b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-paginated.api.mdx +++ /dev/null @@ -1,110 +0,0 @@ ---- -id: get-sites-paginated -title: "Get page of sites matching the pagination search criteria" -description: "This endpoint retrieves all existing business partners of type sites." -sidebar_label: "Get page of sites matching the pagination search criteria" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"This endpoint retrieves all existing business partners of type sites.","operationId":"getSitesPaginated","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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["mainAddress","site"],"type":"object","properties":{"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"site":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"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."}},"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"get","path":"/api/catena/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Get page of sites matching the pagination search criteria","description":{"content":"This endpoint retrieves all existing business partners of type sites.","type":"text/plain"},"url":{"path":["api","catena","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get page of sites matching the pagination search criteria - - - -This endpoint retrieves all existing business partners of type sites. - -
          Query Parameters
          - -Page of business partners matching the search criteria, may be empty - -
          Schema
            content object[]
            - -Collection of results in the page - -
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            site object
            - -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. - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx deleted file mode 100644 index a731523aed7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: get-sites -title: "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." -sidebar_label: "Returns all sites of a legal entity with a specific BPNL" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"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","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The sites for the specified bpnl","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpnl"}},"method":"get","path":"/api/catena/legal-entities/{bpnl}/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns all sites of a legal entity with a specific BPNL","description":{"content":"Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case.","type":"text/plain"},"url":{"path":["api","catena","legal-entities",":bpnl","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all sites of a legal entity with a specific BPNL - - - -Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case. - -
          Path Parameters
          Query Parameters
          - -The sites for the specified bpnl - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - -No business partner found for specified bpnl - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx deleted file mode 100644 index 08c08a99824..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: search-addresses -title: "Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL." -description: "Search business partners of type address by their BPNA or their parents' BPNL or BPNS." -sidebar_label: "Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL." -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","operationId":"searchAddresses","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":{"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"}}},"required":true},"responses":{"200":{"description":"Found sites for the specified sites and legal entities","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/api/catena/addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"legalEntities":["string"],"sites":["string"],"addresses":["string"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL.","description":{"content":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","type":"text/plain"},"url":{"path":["api","catena","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL. - - - -Search business partners of type address by their BPNA or their parents' BPNL or BPNS. - -
          Query Parameters
          Request Body required
          - -Found sites for the specified sites and legal entities - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed pagination request - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-addresses.api.mdx deleted file mode 100644 index 91046e99b4f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-addresses.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: search-legal-addresses -title: "Search Legal Addresses" -description: "Search legal addresses of legal entities by BPNL" -sidebar_label: "Search Legal Addresses" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Search legal addresses of legal entities by BPNL","operationId":"searchLegalAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"The found legal addresses","content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnLegalEntity","createdAt","physicalPostalAddress","updatedAt"],"type":"object","properties":{"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"BPN of the related legal entity"},"createdAt":{"type":"string","description":"The timestamp the business partner data was created","format":"date-time"},"updatedAt":{"type":"string","description":"The timestamp the business partner data was last updated","format":"date-time"}},"description":"Legal address for legal entity"}}}}},"400":{"description":"On malformed request parameters"}},"method":"post","path":"/api/catena/legal-entities/legal-addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Search Legal Addresses","description":{"content":"Search legal addresses of legal entities by BPNL","type":"text/plain"},"url":{"path":["api","catena","legal-entities","legal-addresses","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search Legal Addresses - - - -Search legal addresses of legal entities by BPNL - -
          Request Body array required
          • string
          - -The found legal addresses - -
          Schema array
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entitys.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entitys.api.mdx deleted file mode 100644 index ca17ad59ab7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entitys.api.mdx +++ /dev/null @@ -1,130 +0,0 @@ ---- -id: search-legal-entitys -title: "Returns legal entities by an array of BPNL" -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." -sidebar_label: "Returns legal entities by an array of BPNL" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"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","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"Found legal entites","content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnl","classifications","confidenceCriteria","createdAt","currentness","identifiers","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"value":{"type":"string","description":"The name of the class belonging to the classification."},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["NACE","NAF","NAICS","SIC"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"}},"method":"post","path":"/api/catena/legal-entities/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns legal entities by an array of BPNL","description":{"content":"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.","type":"text/plain"},"url":{"path":["api","catena","legal-entities","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns legal entities by an array of BPNL - - - -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. - -
          Request Body array required
          • string
          - -Found legal entites - -
          Schema array
            legalForm object
            - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            type object
            - -Named type uniquely identified by its technical key - -
            relations object[]
            - -Relations to other business partners. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed request parameters or if number of requested bpns exceeds limit - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-main-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-main-addresses.api.mdx deleted file mode 100644 index f59c0fc90fe..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-main-addresses.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: search-main-addresses -title: "Search for sites' main addresses" -description: "Search main addresses of site business partners by BPNS" -sidebar_label: "Search for sites' main addresses" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Search main addresses of site business partners by BPNS","operationId":"searchMainAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"The found main addresses","content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnSite","createdAt","physicalPostalAddress","updatedAt"],"type":"object","properties":{"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnSite":{"type":"string","description":"BPN of the related site"},"createdAt":{"type":"string","description":"The timestamp the business partner data was created","format":"date-time"},"updatedAt":{"type":"string","description":"The timestamp the business partner data was last updated","format":"date-time"}},"description":"Main address for site"}}}}},"400":{"description":"On malformed request parameters"}},"method":"post","path":"/api/catena/sites/main-addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Search for sites' main addresses","description":{"content":"Search main addresses of site business partners by BPNS","type":"text/plain"},"url":{"path":["api","catena","sites","main-addresses","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Search for sites' main addresses - - - -Search main addresses of site business partners by BPNS - -
          Request Body array required
          • string
          - -The found main addresses - -
          Schema array
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-sites.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-sites.api.mdx deleted file mode 100644 index 5e1e74c0ec4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/search-sites.api.mdx +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: search-sites -title: "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" -sidebar_label: "Returns sites by an array of BPNS and/or an array of corresponding BPNL" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","operationId":"searchSites","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":{"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"}}}}}},"required":true},"responses":{"200":{"description":"Found sites that belong to specified legal entites","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"post","path":"/api/catena/sites/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"legalEntities":["string"],"sites":["string"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Returns sites by an array of BPNS and/or an array of corresponding BPNL","description":{"content":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","type":"text/plain"},"url":{"path":["api","catena","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns sites by an array of BPNS and/or an array of corresponding BPNL - - - -Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities - -
          Query Parameters
          Request Body required
          - -Found sites that belong to specified legal entites - -
          Schema
            content object[]
            - -Collection of results in the page - -
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
          - -On malformed request parameters - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/set-legal-entity-currentness.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/set-legal-entity-currentness.api.mdx deleted file mode 100644 index 4ac68310a8e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/set-legal-entity-currentness.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: set-legal-entity-currentness -title: "Confirms that the data of a legal entity business partner is still up to date." -description: "Confirms that the data of a business partner is still up to date by saving the current timestamp at the time this POST-request is made as this business partner's 'currentness'. Ignores case of bpnl." -sidebar_label: "Confirms that the data of a legal entity business partner is still up to date." -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Confirms that the data of a business partner is still up to date by saving the current timestamp at the time this POST-request is made as this business partner's \"currentness\". Ignores case of bpnl.","operationId":"setLegalEntityCurrentness","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Business partner's \"currentness\" successfully updated"},"400":{"description":"On malformed request parameters"},"404":{"description":"No business partner found for specified bpnl"}},"method":"post","path":"/api/catena/legal-entities/{bpnl}/confirm-up-to-date","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Confirms that the data of a legal entity business partner is still up to date.","description":{"content":"Confirms that the data of a business partner is still up to date by saving the current timestamp at the time this POST-request is made as this business partner's \"currentness\". Ignores case of bpnl.","type":"text/plain"},"url":{"path":["api","catena","legal-entities",":bpnl","confirm-up-to-date"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"method":"POST"}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Confirms that the data of a legal entity business partner is still up to date. - - - -Confirms that the data of a business partner is still up to date by saving the current timestamp at the time this POST-request is made as this business partner's "currentness". Ignores case of bpnl. - -
          Path Parameters
          - -Business partner's "currentness" successfully updated - -
          - -On malformed request parameters - -
          - -No business partner found for specified bpnl - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js deleted file mode 100644 index 8e4ab7f6489..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool"},{"type":"category","label":"site-controller","link":{"type":"generated-index","title":"site-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/site-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-sites-paginated","label":"Get page of sites matching the pagination search criteria","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/update-site","label":"Updates an existing site","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-site","label":"Creates a new site","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/search-sites","label":"Returns sites by an array of BPNS and/or an array of corresponding BPNL","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/search-main-addresses","label":"Search for sites' main addresses","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-site","label":"Returns a site by its BPNS","className":"api-method get"}]},{"type":"category","label":"legal-entity-controller","link":{"type":"generated-index","title":"legal-entity-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/legal-entity-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities","label":"Returns legal entities by different search parameters","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners","label":"Updates an existing legal entity","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners","label":"Creates a new legal entity","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/set-legal-entity-currentness","label":"Confirms that the data of a legal entity business partner is still up to date.","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entitys","label":"Returns legal entities by an array of BPNL","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/search-legal-addresses","label":"Search Legal Addresses","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity","label":"Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-sites","label":"Returns all sites of a legal entity with a specific BPNL","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-addresses","label":"Returns all addresses of a legal entity with a specific BPNL","className":"api-method get"}]},{"type":"category","label":"address-controller","link":{"type":"generated-index","title":"address-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/address-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1","label":"Returns addresses by different search parameters","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/update-addresses","label":"Updates an existing address","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-addresses","label":"Creates a new address","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/search-addresses","label":"Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL.","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-address","label":"Returns an address by its BPNA","className":"api-method get"}]},{"type":"category","label":"metadata-controller","link":{"type":"generated-index","title":"metadata-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/metadata-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-regions","label":"Get page of regions","className":"menu__list-item--deprecated api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-region","label":"Create new Region","className":"menu__list-item--deprecated api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms","label":"Returns all legal forms","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form","label":"Creates a new legal form","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types","label":"Returns all identifier types filtered by business partner type and country.","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type","label":"Creates a new identifier type","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules","label":"Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1","label":"Get page of country subdivisions suitable for the administrativeAreaLevel1 address property","className":"api-method get"}]},{"type":"category","label":"changelog-controller","link":{"type":"generated-index","title":"changelog-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/changelog-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries","label":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","className":"api-method post"}]},{"type":"category","label":"bpn-controller","link":{"type":"generated-index","title":"bpn-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/bpn-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers","label":"Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values","className":"api-method post"}]},{"type":"category","label":"pool-documentation-controller","link":{"type":"generated-index","title":"pool-documentation-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Pool Api/pool-documentation-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Pool Api/get-mermaid-pool-persistence","label":"Get mermaid class diagramm for the pool JPA model","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx deleted file mode 100644 index 5acd699ea26..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: update-addresses -title: "Updates an existing address" -description: "Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing address" -hide_title: true -hide_table_of_contents: true -api: {"tags":["address-controller"],"description":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpna","confidenceCriteria","identifiers","physicalPostalAddress","requestKey","states"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"The successfully updated records, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressUpdateError","enum":["AddressNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/api/catena/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpna":"string","name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Updates an existing address","description":{"content":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["api","catena","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing address - - - -Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change. - -
          Request Body array required
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
          - -The successfully updated records, possible errors are returned - -
          Schema
            entities object[]
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx deleted file mode 100644 index 8e45b1d7cb7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx +++ /dev/null @@ -1,174 +0,0 @@ ---- -id: update-business-partners -title: "Updates an existing legal entity" -description: "Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing legal entity" -hide_title: true -hide_table_of_contents: true -api: {"tags":["legal-entity-controller"],"description":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnl","classifications","confidenceCriteria","identifiers","legalAddress","legalName","requestKey","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Type of classification.","enum":["NACE","NAF","NAICS","SIC"]},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"value":{"type":"string","description":"The name of the class belonging to the classification."}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","classifications","confidenceCriteria","createdAt","currentness","identifiers","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"classifications":{"type":"array","description":"The list of classifications of the legal entity, such as a specific industry.","items":{"required":["type"],"type":"object","properties":{"value":{"type":"string","description":"The name of the class belonging to the classification."},"code":{"type":"string","description":"The identifier of the class belonging to the classification."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["NACE","NAF","NAICS","SIC"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity classification is an assignment of the legal entity to an industry. It does not necessarily have to be the only industry the company is active in (see large companies operating in different industries). Multiple assignments to several industries are possible per classification type."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityUpdateError","enum":["LegalEntityNotFound","LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/api/catena/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpnl":"string","legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"classifications":[{"type":"NACE","code":"string","value":"string"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"legalAddress":{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Updates an existing legal entity","description":{"content":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["api","catena","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing legal entity - - - -Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change. - -
          Request Body array required
            identifiers object[] required
            - -The list of identifiers of the legal entity. - -
            states object[] required
            - -The list of (temporary) states of the legal entity. - -
            classifications object[] required
            - -The list of classifications of the legal entity, such as a specific industry. - -
            confidenceCriteria object required
            legalAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
          - -Update legal entities request was processed successfully, possible errors are returned - -
          Schema
            entities object[]
            legalForm object
            - -A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. - -
            identifiers object[]
            - -The list of identifiers of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            states object[]
            - -The list of (temporary) states of the legal entity. - -
            type object
            - -Named type uniquely identified by its technical key - -
            classifications object[]
            - -The list of classifications of the legal entity, such as a specific industry. - -
            type object
            - -Named type uniquely identified by its technical key - -
            relations object[]
            - -Relations to other business partners. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            legalAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx deleted file mode 100644 index b3a4e3f9a93..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx +++ /dev/null @@ -1,138 +0,0 @@ ---- -id: update-site -title: "Updates an existing site" -description: "Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change." -sidebar_label: "Updates an existing site" -hide_title: true -hide_table_of_contents: true -api: {"tags":["site-controller"],"description":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpns","confidenceCriteria","mainAddress","name","requestKey","states"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the site."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isLegalAddress","isMainAddress","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"isLegalAddress":{"type":"boolean","description":"Indicates if the address is the legal address to a legal entity."},"bpnSite":{"type":"string","description":"The BPNS of the site the address belongs to."},"isMainAddress":{"type":"boolean","description":"Indicates if the address is the main address to a site. This is where typically the main entrance or the reception is located, or where the mail is delivered to."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfBusinessPartners","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfBusinessPartners":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteUpdateError","enum":["SiteNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"entityCount":{"type":"integer","format":"int32"},"errorCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/api/catena/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpns":"string","name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-02-22","validTo":"2024-02-22","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfBusinessPartners":0,"lastConfidenceCheckAt":"2024-02-22","nextConfidenceCheckAt":"2024-02-22","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"5.0.1-SNAPSHOT"},"postman":{"name":"Updates an existing site","description":{"content":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["api","catena","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing site - - - -Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change. - -
          Request Body array required
            states object[] required
            - -The list of the (temporary) states of the site. - -
            mainAddress object required
            - -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. - -
            states object[] required
            - -The list of (temporary) states of the address. - -
            identifiers object[] required
            - -The list of identifiers of the address. - -
            physicalPostalAddress object required
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            confidenceCriteria object required
            confidenceCriteria object required
          - -Update sites request was processed successfully, possible errors are returned - -
          Schema
            entities object[]
            states object[]
            - -The list of the (temporary) states of the site. - -
            type object
            - -Named type uniquely identified by its technical key - -
            confidenceCriteria object
            mainAddress object
            - -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. - -
            states object[]
            - -The list of (temporary) states of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            identifiers object[]
            - -The list of identifiers of the address. - -
            type object
            - -Named type uniquely identified by its technical key - -
            physicalPostalAddress object
            - -A physical postal address describes the physical location of an office, warehouse, gate, etc. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            street object
            - -The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway - -
            alternativePostalAddress object
            - -An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - -
            geographicCoordinates object
            - -The exact location of the physical postal address in latitude, longitude, and altitude. - -
            country object
            - -Named type uniquely identified by its technical key - -
            administrativeAreaLevel1 object
            - -Region within a country - -
            confidenceCriteria object
            errors object[]
          - -On malformed requests - -
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index c813ed648f7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: Specification -title: Specification -description: '' -sidebar_position: 1 ---- - -![Business partner kit banner](@site/static/img/BPKitIcon.png) - -### Business Partner KIT - -## API Reference - -The BPDM is comprised of two primary services: BPDM Pool and BPDM Gate. The Swagger UI interface, which is an interactive tool for exploring and testing RESTful APIs. Swagger UI provides a user-friendly interface for interacting with APIs, allowing you to make requests, view responses, and explore different API endpoints and operations, allowing you to drill down into specific endpoints and view the associated request parameters, response schemas, and sample responses. - -The Business Partner Data Management includes the services that manages and shares business partner data with other Catena-X services. In the following sections, the available methods and different controllers of the API are explained. -More Information to the open-source repository can be found on [GitHub](https://github.com/eclipse-tractusx/bpdm) - -## BPDM Pool Api reference - -The Business Partner Data Management Pool includes the services that manages and shares business partner data with other Catena-X services. In the following sections, the available methods and different controllers of the API are explained. - -### Available Methods - -| Request Method | Request Description| -| :----------- | :------------: | -| PUT | Update. The endpoint expects to receive the full updated record, including values that didn't change.| -| POST| Search | -| GET | Search for the best match | -| DELETE | Deletes all the records in the controller, resets the timestamp| - -### 1. Site Controller - -The Site Controller is the controller that creates, updates, or retrieves business partners of type site (referenced via BPNS). There are PUT, POST and GET requests possible and api those are availble under site controller are clustered in table below. Hyperlink in each record gives you more information about api endpoint. - -| Site Controller Apis| -| :----------- | -| [Update existing site business partners](../Software%20Development%20View/Pool%20Api/update-site.api.mdx) | -| [Create new site business partners](../Software%20Development%20View/Pool%20Api/create-site.api.mdx) | -| [Search site partners by BPNs and/or parent BPNs](../Software%20Development%20View/Pool%20Api/search-sites.api.mdx) | -| [Search Main Addresses](../Software%20Development%20View/Pool%20Api/search-main-addresses.api.mdx) | -| [Get site partners by bpn](../Software%20Development%20View/Pool%20Api/get-site.api.mdx) | - -### 2. Legal Entity Controller - -The Legal Entity Controller calls, searches, creates or updates existing business partners of type legal entity (referenced via BPNL). There are PUT, POST and GET requests possible. The endpoint expects a perfect match or looks for the highest relevancy, depending on the request made. Some of the requests need a obligatory parameter, like business partner number or id value. Hyperlink in each record gives you more information about api endpoint. - -| Legal Entity Controller Apis| -| :----------- | -| [Get page of legal entity business partners matching the search criteria](../Software%20Development%20View/Pool%20Api/get-legal-entities.api.mdx) | -| [Update existing legal entity business partners](../Software%20Development%20View/Pool%20Api/update-business-partners.api.mdx) | -| [Create new legal entity business partners](../Software%20Development%20View/Pool%20Api/create-business-partners.api.mdx)| -| [Confirms that the data of a legal entity business partner is still up to date.](../Software%20Development%20View/Pool%20Api/set-legal-entity-currentness.api.mdx)| -| [Search legal entity partners by BPNLs.](../Software%20Development%20View/Pool%20Api/search-sites.api.mdx) | -| [Search Legal Addresses.](../Software%20Development%20View/Pool%20Api/search-legal-addresses.api.mdx)| -| [Get legal entity business partner by identifier.](../Software%20Development%20View/Pool%20Api/get-legal-entity.api.mdx) | -| [Get site partners of a legal entity.](../Software%20Development%20View/Pool%20Api/get-sites.api.mdx) | -| [Get address partners of a legal entity.](../Software%20Development%20View/Pool%20Api/get-addresses.api.mdx) | - -### 3. Address Controller - -The Address Controller is the controller that updates, creates, or retrieves business partner records of type address via BPNA. There are PUT, POST and GET requests possible. Hyperlink in each record gives you more information about api endpoint. - -| Address Controller Apis| -| :----------- | -| [Get page of addresses matching the search criteria](../Software%20Development%20View/Pool%20Api/get-addresses-1.api.mdx) | -| [Update existing address business partners](../Software%20Development%20View/Pool%20Api/update-addresses.api.mdx) | -| [Create new address business partners](../Software%20Development%20View/Pool%20Api/create-addresses.api.mdx) | -| [Search address partners by BPNs and/or parent BPNs](../Software%20Development%20View/Pool%20Api/search-addresses.api.mdx) | -| [Get address partners by bpna](../Software%20Development%20View/Pool%20Api/get-address.api.mdx) | - -### 4. Open Search Controller - -The Open Search Controller is only used by the developers on the backend of the API. They are not relevant for the API end-users. Hyperlink in each record gives you more information about api endpoint. - -### 5. Metadata Controller - -The Metadata Controller can retrieve and create legal forms, new issuing bodies, identifier types and identifier statuses. There are POST and GET requests possible. Hyperlink in each record gives you more information about api endpoint. - -| Metadata Controller | -| :----------- | -| [Get page of legal forms](../Software%20Development%20View/Pool%20Api/get-legal-forms.api.mdx) | -| [Create new legal form](../Software%20Development%20View/Pool%20Api/create-legal-form.api.mdx) | -| [Get page of identifier types](../Software%20Development%20View/Pool%20Api/get-identifier-types.api.mdx) | -| [Create new identifier type](../Software%20Development%20View/Pool%20Api/create-identifier-type.api.mdx) | -| [Get all field quality rules filtered by country](../Software%20Development%20View/Pool%20Api/get-field-quality-rules.api.mdx) | - -### 6. Changelog Controller - -The changelog Controller can retrieve business partner changelog entries from time, by BPN and/or LSA type. The hyperlink in below record gives you more information about api endpoint. - -| Changelog Controller Api| -| :----------- | -| [Get business partner changelog entries from time, by BPN and/or LSA type](../Software%20Development%20View/Pool%20Api/get-changelog-entries.api.mdx) | - -### 7. BPN Controller - -The BPN Controller retrieves business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries. The hyperlink in below record gives you more information about api endpoint. - -| BPN Controller Api| -| :----------- | -| [Find business partner numbers by identifiers](../Software%20Development%20View/Pool%20Api/find-bpns-by-identifiers.api.mdx) | - -## BPDM Gate Api reference - -The Business Partner Data Management Gate includes the services that managesto share business partner data with Catena-X.In the following sections, the available methods and different controllers of the API are explained. - -### Available Methods - -| Request Method | Request Description| -| :----------- | :------------: | -| PUT | Update. The endpoint expects to receive the full updated record, including values that didn't change.| -| POST| Search | -| GET | Search for the best match | -| DELETE | Deletes all the records in the controller, resets the timestamp| - -Gate service consist of five major controllers which are listed below. - -### 1. Sharing-state Controller - -The Sharing-state Controller is the controller that updates, or retrieves business partners of any type (referenced via LSA Type or External identifiers). There are PUT and GET requests possible. - -| Sharing-state Controller Api| -| :----------- | -| [Get sharing states](../Software%20Development%20View/Gate%20Api/get-sharing-states.api.mdx) | -| [Insert/update sharing state](../Software%20Development%20View/Gate%20Api/upsert-sharing-state.api.mdx) | - -### 2. Site Controller - -The Site Controller is the controller that creates, updates, or retrieves business partners of type site (referenced via BPNS). There are PUT, POST and GET requests possible. - -| Site Controller Api| -| :----------- | -| [Create or update sites (Output)](../Software%20Development%20View/Gate%20Api/upsert-sites-output.api.mdx) | -| [Get page of sites](../Software%20Development%20View/Gate%20Api/get-sites.api.mdx) | -| [Create or update sites](../Software%20Development%20View/Gate%20Api/upsert-sites.api.mdx) | -| [Get page of sites. Can optionally be filtered by external ids](../Software%20Development%20View/Gate%20Api/get-sites-output.api.mdx) | -| [Get page of sites filtered by a collection of externalIds.](../Software%20Development%20View/Gate%20Api/get-sites-by-external-ids.api.mdx) | -| [Get site by external identifier](../Software%20Development%20View/Gate%20Api/get-site-by-external-id.api.mdx) | - -### 3. legal Entity Controller - -The Legal Entity Controller calls, searches, creates or updates existing business partners of type legal entity (referenced via BPNL). There are PUT, POST and GET requests possible. Some of the requests need a obligatory parameter, like external id. - -| legal Entity Controller | -| :----------- | -| [Create or update legal entities (Output).](../Software%20Development%20View/Gate%20Api/upsert-legal-entities-output.api.mdx) | -| [Get page of legal entities](../Software%20Development%20View/Gate%20Api/get-legal-entities.api.mdx) | -| [Create or update legal entities.](../Software%20Development%20View/Gate%20Api/upsert-legal-entities.api.mdx) | -| [Get page of legal entities. Can optionally be filtered by external ids](../Software%20Development%20View/Gate%20Api/get-legal-entities-output.api.mdx) | -| [Get page of legal-entities filtered by a collection of externalIds](../Software%20Development%20View/Gate%20Api/get-legal-entities-by-external-ids.api.mdx) | -| [Get legal entity by external identifier](../Software%20Development%20View/Gate%20Api/get-legal-entity-by-external-id.api.mdx) | - -### 4. Address Controller - -The Address Controller is the controller that updates, creates, or retrieves business partner records of type address via BPNA. There are PUT, POST and GET requests possible. - -| Address Controller | -| :----------- | -| [Create or update addresses (Output).](../Software%20Development%20View/Gate%20Api/upsert-addresses-output.api.mdx) | -| [Get page of addresses](../Software%20Development%20View/Gate%20Api/get-addresses.api.mdx) | -| [Create or update addresses](../Software%20Development%20View/Gate%20Api/upsert-addresses.api.mdx) | -| [Get page of addresses. Can optionally be filtered by external ids.](../Software%20Development%20View/Gate%20Api/get-addresses-output.api.mdx) | -| [Get page of addresses filtered by a collection of externalIds.](../Software%20Development%20View/Gate%20Api/get-addresses-by-external-ids.api.mdx) | -| [Get address by external identifier](../Software%20Development%20View/Gate%20Api/get-address-by-external-id.api.mdx) | - -### 5. Changelog controller - -The changelog controller is controller that gets business partner changelog entries by list of external id from timestamp. -Only two POST api's available for search of business partner changelog details for input and output respectively. - -| Changelog Controller | -| :----------- | -| [Get business partner changelog entries for changes to the business partner output data.](../Software%20Development%20View/Gate%20Api/get-output-changelog.api.mdx) | -| [Get business partner changelog entries for changes to the business partner input data.](../Software%20Development%20View/Gate%20Api/get-input-changelog.api.mdx) | - -## BPDM Bridge Dummy Api reference - -The Business Partner Data Management Bridge Dummy includes the services that sync business partner data between Gate and Pool Service. In the following sections, the available methods and different controllers of the API are explained. - -### Available Methods - -| Request Method | Request Description| -| :----------- | :------------: | -| POST| Sync between Gate and Pool | - -Bridge Dummy service consist of only one controllers which is listed below. - -### 1. Bridge Controller - -Bridge Controller is controller that perfom sync between Gate and Pool. There is only one api end point which is as mentioned below. - -| Bridge Controller API | -| :----------- | -| [Start sync between Gate and Pool](../Software%20Development%20View/Bridge%20Dummy%20Api/trigger-sync.api.mdx) | diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_adoption-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_adoption-view.mdx deleted file mode 100644 index 9240ffe08e3..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_adoption-view.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: Adoption View -title: Adoption View -description: 'Business Partner Kit' -sidebar_position: 2 ---- - -![Business partner kit banner](@site/static/img/BPKitIcon.png) - -# Business Partner KIT - -** Unique business partner data sets for the whole data space. ** -## Vision & Mission -** Basis for the integration of value-adding services in the area of business partner data management. ** - -The BusinessPartner Kit provides high-quality data records of business partners called golden record including a unique identifier and the business partner number (BPN). The BPN provides a standardized and unique identifier on legal entity, site and address level. The connected backend service removes duplicate data, adds missing information, and improves data quality from different data sources so-called sharing member. - -- **Legal Entity Level (BPN L)**: Search for a legal entity and get the high-quality data set. -- **Site Level (BPN S)**: Get the site information of a legal entity. A legal entity can have one or more sites. -- **Address Level (BPN A)**: Each legal entity and site has an address to find the company. - -**The Kit provides a homogeneous semantic with an open data model, enables the access to high quality data and provides one access point to the business partner data sets.** -
          - -![BuildApps](@site/static/img/BPKITBuildApps.png) - -## Business Value - -** One open data model ** -Application and service providers reduce investments to integrate due to one data model / API specification and open interface. The pool API enables the integration and offering of value-added services and innovation based on high-quality master data. - -** Access to new market potentials ** -Potential to scale customer group and access new market potentials via Catena-X marketplace and shared service network. The BP Kit enables an interoperable foundation for value-added services. - -** The unique identifier ** -BPN is the unique number to identify and find partners in the Catena-X network. It will also provide high quality data sets from business partners, their legal unit, sites and addresses. - -** The industry’s largest golden record collection ** -as a shared and cost-optimized service (quality tested by the biggest players). - ---- -
          - -## Use Case -** Status Quo ** -**Todays challenge for automotive companies** - -Most of today’s automotive companies have to invest a significant amount of resources to keep their individual partner master data updated and correct, since outdated or incorrect data records result in federal fines and wrong claims / billing processes. The industry spends a vast amount into an area that is non differentiating, regulated and executed redundantly across the partners. - -For this, cutting individual company costs by offering the golden master data record as a shared service is the mission. And proactively reduce Business Partner risk via collaborative value-add services. -More insights to the business partner data management use case here: [Catena-X | Business Partner Use Case](https://catena-x.net/en/offers-standards/bpdm) - -This will become the industry’s largest golden record collection as a shared and cost-optimized service (quality tested by the biggest players). - -OEMs and small-medium enterprises: - -- Reduce today’s individual investments in master data management -- Re-allocate freed-up resources to differentiating / critical tasks -- Time to value within 6 months, due to standard interfaces and mapping tools (e.g. SAP) -- Increase data quality and use industry collective wisdom to act pro-actively (e.g. fraud alerts) - -Solution Provider: - -- Reduce investments to integrate due to one Data Model and open interface. -- The Kit enables the offering of value-add services and innovation based on golden record and collective wisdom. -- Potential to scale customer group and access new market potentials via marketplace and shared service network. - -## Standards -The standards for release 3.2 will be published soon. -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- Business Partner Number (Version 2.0.0) - -- Business Partner Pool API (Version 2.0.0) - -- Business Partner Gate API (Version 2.0.0) - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023,2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2023,2024 BASF SE -- SPDX-FileCopyrightText: 2023,2024 Schaeffler AG -- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation -- Source URL: https://github.com/eclipse-tractusx/bpdm diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_changelog.md deleted file mode 100644 index 393d208ba46..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_changelog.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -id: Changelog -title: Changelog -description: 'Business Partner Kit' -sidebar_position: 1 ---- - -![Business partner kit banner](@site/static/img/BPKitIcon.png) - -### Business Partner KIT - -All notable changes to this Kit will be documented in this file. - -## [4.0.0] - 2024-02-22 - -### Added - -- documentation of bpdm architecture (arc42) -- documentation for sharing-state api endpoints on bpdm gate - -### Changed - -- documentation of gate service with new endpoints for creating and querying generic business partners -- documentation of pool service with updated endpoints for creating and querying business partners -- documentation of orchestrator service with updated endpoints -- documentation of new version for bridge service - -### Removed - -- documentation of old endpoints in software development view for gate and pool servicce - -## [3.0.0] -2023-11-02 - -### Added - -- documentation for orchestrator and cleaning dummy service in software development view -- documentation of new services with installation steps in operation view -- documentation of bpdm architecture (arc42) - -### Changed - -- documentation of gate service with new endpoints for creating and querying generic business partners -- documentation of operation view for local deployment - -### Removed - -- documentation of old endpoints in software development view for gate and pool servicce - -## [2.0.0] - 2023-08-25 - -### Added - -- documentation of the software development view including the business partner data management for Gate and Bridge-Dummy API -- documentation of bpdm architecture (arc42) -- documentation versions based on Catena-X release - -### Changed - -- documentation of the operations view with an installation guide for all services - -### Removed - -- documentation of api references, troubleshooting and best practices - -## [1.0.0] - 2023-03-01 - -### Added - -- documentation of the software development view including the business partner data management POOL API -- documentation of adoption view -- documentation of the operations view with an installation guide for the POOL API - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_software-operation-view.md deleted file mode 100644 index f484041184c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/page_software-operation-view.md +++ /dev/null @@ -1,584 +0,0 @@ ---- -id: Operation View -title: Operation View -description: 'Business Partner Kit' -sidebar_position: 3 ---- - -![Business partner kit banner](@site/static/img/BPKitIcon.png) - -### Business Partner KIT - -## Local Deployment - -BPDM is an acronym for business partner data management. This project provides core services for querying, adding and changing business partner base information in the Eclipse Tractus-X landscape. BPDM project is SpringBoot Kotlin software project managed by Maven and consists of three microservices. This section contains information on how to configure and run the BPDM application. - -This local deployment is an easy installation with helm. This setup is built to run on a kubernetes cluster. - -| Step | Action | Description | -|----------------------------------------------------------------------------------|-------------------------------------|-------------------------------------------------------------------------| -|![arrow down](@site/static/img/arrow_down.png)| **[Install the prerequisites](#step-1-prerequisites)**| Install all necessary tools for this setup | -|![vector](@site/static/img/vector.png) | **[Check out the Code](#step-2-check-out-the-code)** | Get all necessary code to deploy the service and dependencies to the kuberneetes cluster| -|![check](@site/static/img/check.png) | **[Installing the Service](#step-3-installing-the-services)**|Start cluster and interact with Services | - -### Step 1: Prerequisites - -1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of memory -2. [helm](https://helm.sh/docs/intro/install/) is installed -3. [Minikube](https://minikube.sigs.k8s.io/docs/start/) is installed and running. - You can also use any other local Kubernetes cluster, this guide is just using Minikube as a reference. - - ```bash - minikube start --memory 8192 --cpus 2 - ``` - - _Optional_: enable minikube metrics - - ```bash - minikube addons enable metrics-server - ``` - -4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed -5. [psql](https://www.compose.com/articles/postgresql-tips-installing-the-postgresql-client/) client is installed - -### Step 2: Check out the code - -Check out the project [BPDM](https://github.com/eclipse-tractusx/bpdm) or download a [released version](https://github.com/eclipse-tractusx/bpdm/releases) of the project. - -### Step 3: Installing the services - -#### 1. Start the cluster - -To deploy the services on kubernetes using helm charts, run - -```bash -cd local/bpdm -helm install your_namespace ./charts/bpdm/ -``` - -If postgresql is not available in your cluster then you might get following error. - -```bash -Error: INSTALLATION FAILED: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: opensearch, postgresql -``` - -You can resolve it by adding dependancy to the build - -```bash -helm dependency build ./charts/bpdm/ -``` - -This can take up to **5 minutes**. - -When the deployment is finished you can expect that 3 deployments can be seen in the minikube dashboard: - -* bpdm-bridge-dummy -* bpdm-gate -* bpdm-pool -* bpdm-cleaning-dummy -* bpdm-orchestrator - -Also in total 5 Pods are up and running. - -##### 1.1 Get the status of the deployment - -The minikube dashboard will give you feedback on how the status of the deployment currently is: - -```bash - minikube dashboard -``` - -Make sure you select the namespace **your_namespace**: - -![expected status](@site/static/img/minikube-bpdm-dashboard-overview.png) - -#### 2. Forward ports - -When the deployment has been finished, you can for port forwarding using k9s. Also, if k9s tool is not installed the you can use [installer](https://k9scli.io/topics/install/) - -```bash - -``` - -or port forwarding can also be achived kubernetes command - -```bash -kubectl port-forward : -``` - -After that you can access the: - -* **bpdm-bridge-dummy:** [http://localhost:8083](http://localhost:8083) -* **bpdm-gate:** [http://localhost:8081](http://localhost:8081) -* **bpdm-pool:** [http://localhost:8080](http://localhost:8080) - -## Deploy Individual Service - -### 1. BPDM Pool - -The [prerequisites](#step-1-prerequisites) for running this service. In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-pool --namespace your_namespace -``` - -This will install a new release of the BPDM Pool in the given namespace.On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. The application is run on default profile (without authorization). -Additionally, the Helm deployment contains a PostgreSQL database and Opensearch instance which the BPDM Pool connects to. - -On the default values deployment no further action is needed to make the BPDM Pool deployment run. -However, per default, ingress as well as authentication for endpoints are disabled. - -By giving your own values file you can configure the Helm deployment of the BPDM Pool freely: - -```bash -helm install release_name ./charts/bpdm/bpdm-pool --namespace your_namespace -f ./path/to/your/values.yaml -``` - -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references a certain BPDM Pool release version where the newest Helm release points to the newest Pool version. -This is a stable tag pointing to a fixed release version of the BPDM Pool. -For your deployment you might want to follow the latest application releases instead. - -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Pool should be run. -In case you want to run the Pool with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Pool available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Pool deployment could look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /pool - pathType: Prefix -``` - -#### Pool Configuration - -The Helm deployment comes with the ability to configure the BPDM Pool application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. -Overwriting configuration properties can be useful to connect to a remote service: - -```yaml -applicationConfig: - bpdm: - security: - auth-server-url: https://remote.keycloak.domain.com - realm: CUSTOM_REALM - client-id: POOL_CLIENT -``` - -In this example above a Pool with authenticated activated connects to a remote Keycloak instance and uses its custom realm and resource. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a custom database password for example: - -```yaml -applicationSecrets: - spring: - datasource: - password: your_database_secret -``` - -#### Helm Dependencies - -On default, the Helm deployment also contains a PostgreSQL and Opensearch deployment. -You can configure these deployments in your value file as well. -For this, consider the documentation of the correspondent dependency [PostgreSQL](https://artifacthub.io/packages/helm/bitnami/postgresql/11.9.13) -or [Opensearch](https://opensearch.org/docs/latest/dashboards/install/helm/). -In case you want to use an already deployed database or Opensearch instance you can also disable the respective dependency and overwrite the default host -address in the `applicationConfig`: - -```yaml -applicationConfig: - spring: - datasource: - url: jdbc:postgresql://remote.host.net:5432/bpdm -postgres: - enabled: false -``` - -### 2. BPDM Gate - -The [prerequisites](#step-1-prerequisites) for running this service is same except this service need running BPDM Pool instance. - -In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-gate --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Gate in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. -The application is run on default profile (without authorization for its own endpoints or BPDM Pool endpoints). -This deployment requires a BPDM Pool deployment to be reachable under host name `bpdm-pool` on port `8080`. - -By giving your own values file you can configure the Helm deployment of the BPDM Gate freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM gate release tagged as `main`. -This tag follows the latest version of the Gate and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Gate should be run. -In case you want to run the Gate with authorization and oAuth Pool client enabled you can write the following: - -```yaml -springProfiles: - - auth - - pool-auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Gate available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Gate deployment could look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /companies/test-company - pathType: Prefix -``` - -#### Gate Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Gate application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties`, `application-auth.properties` -and `application-pool-auth.properties` files. -Consider that you would need to turn on `auth` and `pool-auth` profile first before overwriting any property in the corresponding properties file could take -effect. -Overwriting configuration properties can be useful for connecting to a remotely hosted BPDM Pool instance: - -```yaml -applicationConfig: - bpdm: - pool: - base-url: http://remote.domain.net/api/catena -``` - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -### 3. BPDM Bridge Dummy - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-bridge-dummy --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Bridge Dummy in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Bridge Dummy freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM Bridge Dummy release tagged as `main`. -This tag follows the latest version of the Bridge Dummy and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Bridge Dummy should be run. -In case you want to run the Bridge Dummy with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Bridge Dummy available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Bridge Dummy deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /bridge - pathType: Prefix -``` - -#### Bridge Dummy Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Bridge Dummy application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take -effect. -Overwriting configuration properties can be useful for connecting to a remotely hosted BPDM Gate and Pool instance: - -```yaml -applicationConfig: - bpdm: - pool: - base-url: http://remote.domain.net/api/catena - gate: - base-url: http://remote.domain.net/api/catena -``` - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -### 4. BPDM Cleaning Dummy - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-cleaning-service-dummy --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Cleaning Dummy in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Cleaning Dummy freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM Cleaning Dummy release tagged as `main`. -This tag follows the latest version of the Cleaning Dummy and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Cleaning Dummy should be run. -In case you want to run the Cleaning Dummy with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Cleaning Dummy available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Cleaning Dummy deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /cleaning - pathType: Prefix -``` - -#### Cleaning Dummy Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Cleaning Dummy application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -### 5. BPDM Orchestrator - -The [prerequisites](#step-1-prerequisites) for running this service is same. In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm/bpdm-orchestrator --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Orchestrator in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. - -By giving your own values file you can configure the Helm deployment of the BPDM Orchestrator freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest BPDM Orchestrator release tagged as `main`. -This tag follows the latest version of the Orchestrator and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the BPDM Orchestrator should be run. -In case you want to run the Orchestrator with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the BPDM Orchestrator available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Orchestrator deployment could somehow look like this: - -```yaml -ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: business-partners.your-domain.net - paths: - - path: /cleaning - pathType: Prefix -``` - -#### Orchestrator Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the BPDM Orchestrator application directly over the values file. -This way you are able to overwrite any configuration property of the `application.properties` and `application-auth.properties` files. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take effect. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -## Stopping the cluster - -1. stop minikube - - ```bash - minikube stop - ``` - -2. stop the processes used for port forwarding and minikube dashboard -3. shut down the Docker daemon - -## How to debug an application in the cluster - -If you want to connect your IDE to one of the applications in the cluster, you need to enable debug mode for that application by overriding the entrypoint (using the `command` and `args` fields in the deployment resource). How to do this depends on the application. For the BPDM, as it is based on Spring Boot and Kotlin, you would need to add this flag to the start command: - -```bash --agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -``` - -Then you can forward the port 8000 for the BPDM deployment to your host machine and connect your IDE to that port. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/_category_.json b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/_category_.json deleted file mode 100644 index da9a4885a1c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "Documentation" -} diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/certificate-arc42.md b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/certificate-arc42.md deleted file mode 100644 index 5407388754f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Documentation Certificate Management/certificate-arc42.md +++ /dev/null @@ -1,393 +0,0 @@ ---- -id: certificate_arc42 -title: Architecture documentation -description: 'Architecture documentation' -sidebar_position: 1 ---- - -![Certificate Management kit banner](/img/Certificate_Kit_Icon.png) - -## Certificate Management KIT - -## Introduction and Goals - -This architecture documentation should foster an understanding on how to utilize the BPDM certificate management KIT effectively. How to integrate the KIT or mainly the API into the application and make use of it. - -This Kit covers various aspects, starting from how utilize the available API Endpoints, the used data models and how to make them available to the Catena-X network. - -A solution provider should make the following information available for their customers: - -- Get all certificates available for a specific BPN - business partner number -- Get a specific certificate (certificate type - e.g. IATF) based on the BPN -- Get just the simple information whether a provided company based on the BPN is certified for a specific certificate type (true or false) -- Get the certificate document (e.g. the PDF file) -- Get a list of all available certificate types - -A solution provider should be able to receive a certificate by a customer: - -- Provide certificate data -- Provide a new certificate type - -**Additional Information Material**: - -- Visit BPDM on the official Catena-X Website: [bpdm_catenax_website](https://catena-x.net/en/offers-standards/bpdm) - -## Goals Overview - -The following goals have been established for this system: - -| Priority | Goal | -| :--- | :--- | -| 1 | Enable network-based data sharing for business partner certificates to increase overall data quality and reliability | -| 2 | Enable also Small and medium-sized Businesses (SMEs) to use the services | -| 3 | Provide a change history for business partner certificate data | - -## Requirements Overview - -> :warning: **Note:** Cross-Check with CACs - -![certificate_management_diagram](/img/Certificate_Kit_Arc.png) - -## Quality Goals - -| Priority | Quality Goal | Scenario | -|:---|:---|:---| -| 1 | Security | All users and services which access the Application must be authenticated and authorized. Consuming services/users are only allowed to read data. In addition they are only allowed to read the specific data that belongs with this, the Data Sovereignty principles of Catena-X has to be fulfilled | -| 2 | Integrity | All changes must be traceable and must be able to be rolled back | -| 3 | Legally | No natural persons are allowed to get uploaded and stored. For all other uploaded Business Partner data it is mandatory that users (CX Members) can only see their own uploaded certificate data and that it is not possible to draw conclusions about other business partner relationships | -| 4 | Integrity & Correctness | It must be ensured that the data of the certificate record which is created during the process is correct. | -| 5 | Reliability | The Golden Record Application is a central foundation in the Catena-X Network. It provides all participants and services, business partner data and the unique Business Partner Number (BPN) as identifier. Therefore the BPDM Certificate Management Service must be always/highly available | -| 6 | Functional Stability | Since the Golden Record Application is a central foundation in the Catena-X Network the defined standards of the API and datamodel for the associated Release Version must be fulfilled | -| 7 | Sensitivity of data | The uploaded business partner certificate data is highly sensitive, that's why it must be ensured that no unauthorized user/system can access data which does not belong to it. More over it must be guaranteed that no one can see the business partners related to the specific Catena-X Member. | - -## Architecture Constraints - -| Constraint ID | Constraint | Description | -|:---|:---|:---| -| C-1 | Software and third party software must be compliant to the Catena-X and Eclipse Foundation Guidelines/Policies [eclipse_foundation](https://www.eclipse.org/projects/dev_process/) | | -| C-2 | [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc/tree/main) must be used for data transfer between different legal entities | | - -## System Scope and Context - -## Business Context - -The following figure depicts the business context setup for : - -![Certificate_business_context](/img/BPDM-CM-KIT1.png) - -The following are the various components of the business context setup: - -### **Master Data Management (Catena-X Member)** - -A backend system thats operated by a company / sharing member (e.g. Tier-1) which is participating in the Catena-X Ecosystem and consuming digital services or data assets. - -### **Catena-X Portal/Marketplace (CX Portal)** - -The Portal which provides an entry point for the Catena-X Members, to discover Apps that are offered in Catena-X. - -### **Catena-X BPDM Certificate Management Application** - -The Application which offers services to Catena-X Members and Catena-X Use Cases for consuming and processing business partner certificate data. - -## Solution Strategy (High Level Picture) - -The following high level view gives a basic overview about Components: - -![Certificate_business_context](/img/BPDM-CM-KIT2.png) - -### **BPDM Certificate Management** - -- The BPDM Certificate Management provides the interfaces for Catena-X Members to manage their business partner certificate data within Catena-X. -- For the current reference implementation, multi-tenancy is realized via a 1:1 deployment for each Catena-X Member. This means that every Catena-X Member who shares his business partner certificate data, has its own persistence. - -## Keycloak Authentication & Autorization Flow - -```mermaid - -sequenceDiagram - participant EDC of CX Member - participant OpenIDConnect Server - participant BPDM Certificate Management - - autonumber - - EDC of CX Member-->>OpenIDConnect Server: Send Client Credentials - OpenIDConnect Server-->>EDC of CX Member: Respond OAuth2 Token - EDC of CX Member -->> BPDM Certificate Management: Send Request with OAuth2 Token in Authorization Header - BPDM Certificate Management -->> OpenIDConnect Server: Validate Token - OpenIDConnect Server -->> BPDM Certificate Management: Confirms validity of Token - BPDM Certificate Management -->> BPDM Certificate Management: Check "resource_access" section of OAuth Token - - -``` - -## Runtime View - -### Upload Business Partner Certificate - -The diagram below describes the flow of uploading a business partner certificate. - -For further information about the different certificate types, please have a look on the Standards [CX - 00135 Business Partner Number](https://catena-x.net/de/standard-library) - -```mermaid - -sequenceDiagram -actor User - - autonumber - Note over User, CertificateController: Path: api/catena/certificate/document - Note over User, CertificateController: Method: POST - -User ->> CertificateController : setCertificateDocument(certificateDocumentRequestDto) -activate CertificateController -CertificateController ->> CertificateService : createCertificate(certificateDocumentRequestDto) -activate CertificateService - -CertificateService ->> InvalidBpnFormatException : validateCertificateBeforeProcess(certificateDocumentRequestDto)
          [Does validation of BPN's format (BPNL, BPNS or BPN). IF formart is
          not accordingly, InvalidBpnFormatException is thrown] - -alt Invokes findCertificateType(certificateDocumentRequestDto.type) -CertificateTypeRepository -->> CertificateService : findByCertificateTypeAndCertificateVersion(certificateType, certificateVersion) -CertificateService ->> CertificateTypeNotExists : If DB query does not return any values, CertificateTypeNotExists is thrown -end - -CertificateService -->> CertificateMapping : Invokes toCertificateDB(certificateDocumentRequestDto, certificateType); -activate CertificateMapping -note over CertificateMapping: Here Mapping of CertificateDocumentRequestDto to
          CertificateDB occurs. All the fields are mapped accordingly -CertificateMapping -->> CertificateService : Return List; -deactivate CertificateMapping - -CertificateService -->> CertificateRepository : save() [Save create CertificateDB object in the Database] - - -CertificateService -->> CertificateController : Return CertificateDocumentResponseDto?; -deactivate CertificateService -CertificateController -->> User : Return ResponseEntity; -deactivate CertificateController - - Note over User, CertificateController: Response: 201 OK - Note over User, CertificateController: Content-Type: application/json - -``` - -### Query Certificate by Business Partner Number - -```mermaid - -sequenceDiagram -actor User - - autonumber - Note over User, CertificateController: Path: api/catena/certificate/{bpn} - Note over User, CertificateController: Method: GET - -User ->> CertificateController : getCertificatesByBpnPaginated(bpn, pageRequest) -activate CertificateController -CertificateController ->> CertificateService : getCertificatesByBpn(bpn, pageRequest) -activate CertificateService - -alt Triggers method if BPN insert starts with BPNL -CertificateService ->> CertificateRepository : findByBusinessPartnerNumber [If no Certificate is found by bpn, shows CertificateNotExists exception] -activate CertificateRepository -CertificateRepository -->> CertificateService : #32; -deactivate CertificateRepository - -CertificateService ->> ResponseMappings : Mapping of Page of CertificateDB to Page -activate ResponseMappings -ResponseMappings -->> CertificateService : #32; -deactivate ResponseMappings -end - -alt Triggers method if BPN insert starts with BPNS -CertificateService ->> CertificateMapping : findByEnclosedSitesSiteBpn [If no Certificate is found by bpn, shows CertificateNotExists exception] -activate CertificateMapping -CertificateMapping -->> CertificateService : #32; -deactivate CertificateMapping - -CertificateService ->> ResponseMappings : Mapping of Page of CertificateDB to Page -activate ResponseMappings -ResponseMappings -->> CertificateService : #32; -deactivate ResponseMappings -end - -Note over CertificateService: If inserted BPN format is diferent of BPNL or BPNS,
          InvalidBpnFormatException is shown - -CertificateService -->> CertificateController : Return PageDto; -deactivate CertificateService -CertificateController -->> User : Return PageDto; -deactivate CertificateController - - Note over User, CertificateController: Response: 200 OK - Note over User, CertificateController: Content-Type: application/json - - -``` - -### Check Certificate availability by Type and Business Partner Number - -```mermaid - -sequenceDiagram -actor User - - autonumber - Note over User, CertificateController: Path: api/catena/certificate/{bpn}/{certificateType} - Note over User, CertificateController: Method: GET - -User ->> CertificateController : checkCertificateByBpnAndType(bpn, certificateType) -activate CertificateController -CertificateController ->> CertificateService : checkCertificateByBpnAndType(bpn, certificateType) -activate CertificateService - -CertificateRepository -->> CertificateService : findByCertificateType(certificateType); -Note over CertificateService: If query done to database does not return a certificate by type,
          CertificateTypeNotExists is thrown - -alt Triggers method if BPN insert starts with BPNL (findCertificateByBusinessPartnerNumber) -CertificateRepository -->> CertificateService : findByBusinessPartnerNumber(bpn) [If no Certificate is found by bpn, shows CertificateNotExists exception] - -alt Triggers method createCertifiedCertificateResponse(certificates, bpn, certificateType) - note over CertificateRepository, CertificateService: Filter List retrieved earlier by type and bpn inserted - - alt - CertificateService ->> CertificateMapping : If filtered List insn't empty, Mapping of CertificateDB to BpnCertifiedCertificateResponse
          with isCertified assigned to true - end - - alt - CertificateService ->> CertificateMapping : If filtered List is empty, create listOf(BpnCertifiedCertificateResponse(bpn, false))
          with isCertified assigned to false - end - -end -end - -alt Triggers method if BPN insert starts with BPNS (findCertificateByEnclosedSitesSiteBpn) -CertificateRepository -->> CertificateService : findByBusinessPartnerNumber(bpn) [If no Certificate is found by bpn, shows CertificateNotExists exception] - -alt Triggers method createCertifiedCertificateResponse(certificates, bpn, certificateType) - note over CertificateRepository, CertificateService: Filter List retrieved earlier by type and bpn inserted - - alt - CertificateService ->> CertificateMapping : If filtered List insn't empty, Mapping of CertificateDB to BpnCertifiedCertificateResponse
          with isCertified assigned to true - end - - alt - CertificateService ->> CertificateMapping : If filtered List is empty, create listOf(BpnCertifiedCertificateResponse(bpn, false))
          with isCertified assigned to false - end - -end -end - -Note over CertificateService: If inserted BPN format is diferent of BPNL or BPNS,
          InvalidBpnFormatException is shown - -CertificateService -->> CertificateController : Return List; -deactivate CertificateService -CertificateController -->> User : Return List; -deactivate CertificateController - - Note over User, CertificateController: Response: 200 OK - Note over User, CertificateController: Content-Type: application/json - - -``` - -## Deployment View - -### Applications Deployment without Kubernetes - -```mermaid -C4Context - - Person(bpdm_user, "(Technical) User of the Business Partner Certificate Management APIs") - - System(cert_postgres, "Certificate Database" "Postgres: 14.5") - - - Deployment_Node(cert_machine, "OS Environment", "Linux Alpine 3.16"){ - Deployment_Node(cert_java, "Runtime Environment", "JAVA RE 17") { - Container(cert_container, "Business Partner Certificate Management Application", "Spring Boot: 3.1") - } - } - - Rel(bpdm_user, cert_container, "HTTP/S") - Rel(cert_container, cert_postgres, "TCP/IP") - -``` - -### Single Application Kubernetes Deployment - -```mermaid -C4Context - - Person(cert_user, "(Technical) User of the the Business Partner Certificate Management APIs") - - Deployment_Node(kubernetes, "Kubernetes Environment", "Kubernetes 1.28"){ - - Container(ingress, "Ingress", "Ingress Kubernetes Resource") - Container(nginx, "Ingress Controller", "Nginx Reverse Proxy") - Container(service, "Service", "Service Kubernetes Resource") - - Container(database, "Database Deployment", "Chart bitnami/postgres:11.9.13") - - Deployment_Node(deployment, "Deployment", "Deployment Kubernetes Resource"){ - Deployment_Node(replicaSet_1, "Replica Set", "Ingress ReplicaSet Resource"){ - Deployment_Node(pod_1, "Pod", "Pod Kubernetes Resource"){ - Container(container_1, "the Business Partner Certificate Management Application Container", "Spring Boot 3 on Linux Alpine 3.6") - Container(volume_1, "Config Volume", "Kubernetes Volume Mount") - } - } - } - - Deployment_Node(kubernetes_config, "Kubernetes Configurations", "Logical Grouping"){ - Container(configMap, "Application Configuration", "Kubernetes ConfigMap Resource") - Container(secret, "Secret Configuration", "Kubernetes Secret Resource") - - } -} - -Rel(cert_user, nginx, "Sends URL", "HTTPS") -Rel(ingress, nginx, "Routing Information") -Rel(nginx, service, "Routes to") -Rel(service, container_1, "HTTP") - -Rel(container_1, volume_1, "mounts") -Rel(volume_1, configMap, "mounts") -Rel(volume_1, secret, "mounts") - -Rel(container_1, database, "TCP/IP") - -UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") -``` - -## Crosscutting Concepts - -### Business Partner Certificate Management Standards - -[bp_cetificate_management_standards](https://catena-x.net/de/standard-library) - -### Logging Behavior - -As Spring Boot applications Business Partner Certificate Management employs Spring -specific [logging behavior](https://docs.spring.io/spring-boot/docs/3.0.0/reference/htmlsingle/#features.logging) - -We enhance the default log entries with user request information including the determined user ID and a generated request ID. -Not all logs belong to an ongoing user request in which case these entries are empty. - -In addition to the Spring standard logs the Business Partner Certificate Management applications keep a log of the following events: - -- INFO: User requesting resource with resource name and HTTP verb -- INFO: Request HTTP response -- INFO: Update/Create Business Partners Certificate Types -- INFO: Creating Business Partner Certificate -- ERROR: Uncaught exceptions occurring in the service logic - -## Quality Requirements - -- see: [Quality Goals](#quality-goals) - -## Risks and Technical Debts - -### **Open EDC Questions** - -- What capabilities will be provided in the future? -- How to deal with APIs provided behind an EDC? Swagger documentation cannot be seen by the requesting service? -- How can we authorize and authenticate a User/System with individual permissions after it passes the EDC? -- Will there by a Proxy EDC concept? -- ... diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Software Development View/page-software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Software Development View/page-software-development-view.md deleted file mode 100644 index 9b07f47b267..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Software Development View/page-software-development-view.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: Specification -title: Specification -description: '' -sidebar_position: 1 ---- - -![Certificate Management kit banner](/img/Certificate_Kit_Icon.png) - -### Certificate Management KIT - -## API Reference - -The Certificate Management contains a variety of different APIs, and with the help of Swagger UI interface, which is an interactive tool for exploring and testing RESTful APIs, those can easily be used. -Swagger UI provides a user-friendly interface for interacting with APIs, allowing you to make requests, view responses, and explore different API endpoints and operations, -allowing you to drill down into specific endpoints and view the associated request parameters, response schemas, and sample responses. - -The Certificate Management includes core services for querying and adding certificate data for business partner base information in the Eclipse Tractus-X landscape. -In the following sections, the available methods and different controllers of the API are explained. -More Information to the open-source repository can be found on [GitHub](https://github.com/eclipse-tractusx/bpdm-certificate-management) - -## Certificate Management Api references - -### Available Methods - -| Request Method | Request Description | -| :----------- |:---| -| POST| Submit data to be processed | -| GET | Retrieve data searching for the best match | - -### 1. Certificate Controller - -The Certificate Controller is the controller that creates, and retrieves various certificates via BPN, Type or DocumentID. The POST and GET endpoints -available under Certificate controller are clustered in table below. Hyperlink in each record gives you more information about api endpoint. - -| Certificate Controller Apis | -|:---| -| [Provide a specific certificate document for a given BPN](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/certificate-controller/setCertificateDocument) | -| [Get all certificates of a given BPN](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/certificate-controller/getCertificatesByBpnPaginated) | -| [Get a specific certificate by certificate type and a given BPN](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/certificate-controller/getCertificateByTypeAndBpnPaginated) | -| [Gets info whether BPN is certified for a specific certificate type](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/certificate-controller/checkCertificateByBpnAndType) | -| [Request certificate document for given document id](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/certificate-controller/retrieveCertificateDocument) | - -### 2. Metadata Controller - -The Metadata Controller is mainly used for registering and retrieving certificate types. There is one GET and a POST. -These are available under Metadata controller and are clustered in table below. Hyperlink in each record gives you more information about api endpoint. - -| Metadata Controller Apis | -| :--- | -| [Register a new certificate type](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/metadata-controller/setCertificateType) | -| [Get a list of all currently registered certificate types](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/bpdm-certificate-management/0.0.4-SNAPSHOT#/metadata-controller/getCertificateTypes) | diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-adoption-view.md deleted file mode 100644 index c142c83c1b8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-adoption-view.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -id: Adoption View -title: Adoption View -description: 'Certificate Management Kit' -sidebar_position: 2 ---- - -![Certificate Management kit banner](/img/Certificate_Kit_Icon.png) - -## Certificate Management KIT - -## Vision & Mission - -Our vision is to make the provisioning and exchange of company certificates as easy as possible. - -Therefore our mission is to provide a reliable and efficient solution through a standardized API and data model. The aim is to simplify the certificate management process and enhance date accuracy. - -## Use case - -In the world of business, company certificates are often mandatory for conducting transactions between two companies. However, the process of provisioning, maintaining, and validating these certificates can be a major challenge. For example, if a company has 100 customers, they may need to provide their company certificates in 100 different ways and maintain them at 100 different points. -To address this issue, a use case has been developed that provides a standardized but generic data model for company certificates. This allows companies to provide and exchange certificates on a defined standard within the scope of the Catena-X dataspace. The second part of this use case focuses on the technological aspect of providing and validating certificates via an interface. - -This is the main use case: -![Certificate management use case 1](/img/BPDM-CM-KIT1.png) - -But there is more - -Businesses will have the ability to provide & store their company certificates in a centralized location within the data space, allowing other companies to easily access and verify the certificates through the portal. This streamlined approach to certificate management will enhance efficiency and accuracy. -![Certificate management use case 2](/img/BPDM-CM-KIT2.png) - -The company certificate data model is closely linked to the business partner data model, as it utilizes the business partner number (BPN) as a primary identifier to map certificates to companies or their respective sites. - -## Business value - -**For solution providers:** -Solution providers / app provider can use the standardized API and data model to validate and manage company certificates, allowing partners and customers in the data space to easily access this information. - -**For data consumers and providers:** -Data prosumers can both provide and consume company certificates from various solution providers using a standardized API and data model. Additionally, this API and data model enables peer-to-peer exchange of company certificates between partners via EDC. - -## Standards - -The API specification is already standardized and represents the data model for company certificates. - -[CX 0135 Company Certificate Management Standard v1.0.0](https://catena-x.net/de/standard-library) - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2024 Mercedes-Benz Group AG -- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation -- Source URL: [BPDM Certificate Management GitHub repository](https://github.com/eclipse-tractusx/bpdm-certificate-management) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-changelog.md deleted file mode 100644 index 0cfaafbed6a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-changelog.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: Changelog -title: Changelog -description: 'Certificate Management Kit' -sidebar_position: 1 ---- - -![Business partner kit banner](/img/Certificate_Kit_Icon.png) - -### Certificate Management KIT - -All notable changes to this Kit will be documented in this file. - -## [0.1.0] - 2024-02-14 - -### Added - -- documentation of adoption view -- documentation of the operations view -- development view with swagger hub intergration -- documentation for architecture specification - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-software-operation-view.md deleted file mode 100644 index 8259bcdbc6d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/page-software-operation-view.md +++ /dev/null @@ -1,211 +0,0 @@ ---- -id: Operation View -title: Operation View -description: 'Certificate Management Kit' -sidebar_position: 3 ---- - -![Business partner kit banner](/img/Certificate_Kit_Icon.png) - -### Certificate Management KIT - -## Local Deployment - -BPDM Certificate Management here BPDM is an acronym for business partner data management. -This project provides core services for querying and adding certificate data for business partner base information in the Eclipse Tractus-X landscape. BPDM Certificate Management project is SpringBoot Kotlin software project managed by Maven and it is microservice. This section contains information on how to configure and run the BPDM certificate management application. - -This local deployment is an easy installation with helm. This setup is built to run on a kubernetes cluster. - -| Step | Action | Description | -|----------------------------------------------------------------------------------|-------------------------------------|-------------------------------------------------------------------------| -|![arrow down](/img/arrow_down.png)| **[Install the prerequisites](#step-1-prerequisites)**| Install all necessary tools for this setup | -|![vector](/img/vector.png) | **[Check out the Code](#step-2-check-out-the-code)** | Get all necessary code to deploy the service and dependencies to the kuberneetes cluster| -|![check](/img/check.png) | **[Installing the Service](#step-3-installing-the-services)**|Start cluster and interact with Services | - -### Step 1: Prerequisites - -1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of memory -2. [helm](https://helm.sh/docs/intro/install/) is installed -3. [Minikube](https://minikube.sigs.k8s.io/docs/start/) is installed and running. - You can also use any other local Kubernetes cluster, this guide is just using Minikube as a reference. - - ```bash - minikube start --memory 8192 --cpus 2 - ``` - - _Optional_: enable minikube metrics - - ```bash - minikube addons enable metrics-server - ``` - -4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed -5. [psql](https://www.compose.com/articles/postgresql-tips-installing-the-postgresql-client/) client is installed - -### Step 2: Check out the code - -Check out the project [BPDM-Certificate-Management](https://github.com/eclipse-tractusx/bpdm-certificate-management) or download a [released version](https://github.com/eclipse-tractusx/bpdm-certificate-management/releases) of the project. - -### Step 3: Installing the services - -#### 1. Start the cluster - -To deploy the services on kubernetes using helm charts, run - -```bash -cd local/bpdm-certificate-management -helm install your_namespace ./charts/bpdm-certificate-management/ -``` - -If postgresql is not available in your cluster then you might get following error. - -```bash -Error: INSTALLATION FAILED: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: opensearch, postgresql -``` - -You can resolve it by adding dependency to the build - -```bash -helm dependency build ./charts/bpdm-certificate-management/ -``` - -This can take up to **5 minutes**. - -When the deployment is finished you can expect that 1 deployment can be seen in the minikube dashboard: - -* bpdm-certificate-management - -##### 1.1 Get the status of the deployment - -The minikube dashboard will give you feedback on how the status of the deployment currently is: - -```bash - minikube dashboard -``` - -Make sure you select the namespace **your_namespace**: - -![expected status](/img/Certificate_Minikube_dashboard.png) - -#### 2. Forward ports - -When the deployment has been finished, you can for port forwarding using k9s. Also, if k9s tool is not installed the you can use [installer](https://k9scli.io/topics/install/) - -```bash - -``` - -or port forwarding can also be achived kubernetes command - -```bash -kubectl port-forward : -``` - -After that you can access the: - -* **bpdm-certificate-management:** [http://localhost:8086](http://localhost:8083) - -## Deploy Service - -### BPDM Certificate Management - -The [prerequisites](#step-1-prerequisites) for running this service is same. - -In an existing Kubernetes cluster the application can be deployed with the following command: - -```bash -helm install release_name ./charts/bpdm-certificate-management --namespace your_namespace -f /path/to/my_release-values.yaml -``` - -This will install a new release of the BPDM Certificate Management in the given namespace. -On default values this release deploys the latest image tagged as `main` from the repository's GitHub Container Registry. -The application is run on default profile. - -By giving your own values file you can configure the Helm deployment of the BPDM Certificate Management freely. -In the following sections you can have a look at the most important configuration options. - -#### Image Tag - -Per default, the Helm deployment references the latest Certificate Management release tagged as `main`. -This tag follows the latest version of the Certificate Management and contains the newest features and bug fixes. -You might want to switch to a more stable release tag instead for your deployment. -In your values file you can overwrite the default tag: - -```yaml -image: - tag: "latest" -``` - -#### Profiles - -You can also activate Spring profiles in which the Certificate Management should be run. -In case you want to run the Certificate Management with authorization enabled you can write the following: - -```yaml -springProfiles: - - auth -``` - -#### Ingress - -You can specify your own ingress configuration for the Helm deployment to make the Certificate Management available over Ingress. -Note that you need to have the appropriate Ingress controller installed in your cluster first. -For example, consider a Kubernetes cluster with an [Ingress-Nginx](https://kubernetes.github.io/ingress-nginx/) installed. -An Ingress configuration for the Certificate Management deployment could look like this: - -```yaml -ingress: - enabled: true - hosts: - - host: business-partners-certificate.your-domain.net - paths: - - path: "/test-certificate" - pathType: Prefix - tls: - - secretName: tls-secret - hosts: - - business-partners-certificate.your-domain.net -``` - -#### Certificate Management Configuration - -For the default deployment you already need to overwrite the configuration properties of the application. -The Helm deployment comes with the ability to configure the Certificate Management application directly over the values file. -This way you are able to overwrite any configuration property of the `application.yaml` and `application-auth.yaml`. -Consider that you would need to turn on `auth` profile first before overwriting any property in the corresponding properties file could take -effect. - -Entries in the "applicationConfig" value are written directly to a configMap that is part of the Helm deployment. -This can be a problem if you want to overwrite configuration properties with secrets. -Therefore, you can specify secret configuration values in a different Helm value `applicationSecrets`. -Content of this value is written in a Kubernetes secret instead. -If you want to specify a keycloak client secret for example: - -```yaml -applicationSecrets: - bpdm: - security: - credentials: - secret: your_client_secret -``` - -## Stopping the cluster - -1. stop minikube - - ```bash - minikube stop - ``` - -2. stop the processes used for port forwarding and minikube dashboard -3. shut down the Docker daemon - -## How to debug an application in the cluster - -If you want to connect your IDE to one of the applications in the cluster, you need to enable debug mode for that application by overriding the entrypoint (using the `command` and `args` fields in the deployment resource). How to do this depends on the application. For the Bpdm certificate managment, as it is based on Spring Boot and Kotlin, you would need to add this flag to the start command: - -```bash --agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -``` - -Then you can forward the port 8000 for the Bpdm certificate managment deployment to your host machine and connect your IDE to that port. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-adoption-view.md deleted file mode 100644 index 9855945b0fd..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-adoption-view.md +++ /dev/null @@ -1,655 +0,0 @@ ---- -title: Adoption View ---- - -## Circularity KIT - -### Vision & Mission - -#### Introduction - -The Circularity KIT shall empower stakeholders to transition towards a circular economy by providing frameworks, guidelines and best practices to enhance sustainability credentials, enable data-driven decision-making and foster collaboration and innovation in the automotive industry. - -Secondary material content, material accounting, dismantling services, the CE-Assistant, and the secondary marketplace are the five focus topics that form the Circularity KIT as of now. The offered content and artifacts address important use cases such as sustainable materials management, waste minimization and resource efficiency, that contribute to more sustainable and circular automotive value loops. - -The overarching goals of the Circularity KIT, therefore, are to: - -- Establish an understanding of requirements along circular value chains and how businesses can profit by implementing sustainable solutions. -- Offer standards and guidelines for industry stakeholders. -- Explain different circularity topics and provide tools to implement them. - -#### Vision - -Vision Catch Phrase: "Closing the Loop, by harnessing the power of Circularity" - -Context: Our vision is to create a future where resources are intelligently and efficiently utilized, enabling industries and communities to minimize waste, embrace R-strategies, and foster a circular economy that leads to a sustainable and prosperous world. - -The Circularity KIT serves as a practical set of tools, guidelines, and best practices designed to help stakeholders in the automotive industry to transition towards this vision. - -#### Mission - -In a world facing increasing environmental pressures and resource scarcity, transitioning to a circular economy is crucial. This approach ensures responsible resource management through R-strategies, secondary material quotas, material accounting, and optimized end-of-life processes. By closing the loop on material flows, we can reduce our environmental impact, drive innovation, and create economic opportunities that secure a sustainable future. - -The KIT entails a description of the overall business value, use case context, an introduction to the subtopics secondary material content, material accounting, dismantling services, CE-Assistant as well as a circularity glossary and is complemented by user journeys, business processes, calculation frameworks, interoperable data models and standards needed to adopt the Catena-X circularity focus topics. - -All described specifications in the KIT are based on Catena-X standards like Asset Administration Shell, SSI and a decentral Digital Twin Registry. They refer to other Catena-X KITs like the Traceability KIT to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. - -### Business Context - -The Circularity KIT provides business opportunities for service providers in various ways: - -1. Unified Circular Economy Framework: Service providers can leverage a comprehensive and standardized framework for implementing circular economy principles in the automotive industry. This unified approach simplifies integration and collaboration with other stakeholders, reducing investment costs and accelerating the development and deployment of innovative solutions. -2. Access to New Market Opportunities: The KIT enables service providers to tap into emerging market opportunities driven by the increasing demand for sustainable solutions. By offering tailored services on the Catena-X marketplace, service providers can scale their customer base, expand their reach, and unlock new revenue streams. -3. Enhanced Sustainability Credentials: By aligning with the principles of the Circularity KIT, service providers can demonstrate their commitment to sustainability and strengthen their reputation in the market. This commitment can lead to increased customer trust, better brand positioning, and a competitive advantage in the Catena-X network. -4. Data-Driven Decision Making: The Circularity KIT promotes data-driven decision making by offering access to material accounting data and insights into end-of-life processes within the automotive industry. Service providers can use this data to develop targeted solutions, optimize their offerings, and drive continuous improvement in their services. -5. Collaboration and Innovation: By using the Circularity KIT, service providers can actively participate in a network of automotive industry stakeholders committed to fostering a circular economy. This collaborative environment enables the exchange of ideas, knowledge, and best practices, driving innovation and enhancing the overall value of solutions offered in the Catena-X marketplace. - -#### Circularity KIT Wheel - -In its first version the KIT covers 5 focus topics along an automotive value loop. - -1. **Secondary Material Content:** promotes the use of secondary materials in the automotive industry by providing a standardized data model for data exchange and a calculation framework. -2. **Material Accounting:** provides standardized scrap/waste and secondary material data exchange for the ecosystem partners to create transparency about recycling activities and verifiable closed loops. -3. **EoL / Dismantling Services:** offers essential support for the digitalization and automation of the EoL phase to consequently close value loops. -4. **CE-Assistant (Circular Strategy Assistant):** is a decision support system that facilitates the selection of the optimal R-Strategy for end-of-life vehicles, with a focus on Reuse, Remanufacturing, Recycling, and Recovery, guided by a comprehensive technical and environmental assessment process. -5. **Secondary Marketplace:** buying and selling used components and secondary raw materials in order to create and open new opportunities for collaborating across the value chain and closing the loop on component and material level. - -##### Figure 1 - -![Circularity KIT Wheel](resources/adoption-view/circularity_kit_wheel.svg) - -### Use Case / Domain Explanation - -Status Quo / Today's challenge: The automotive industry is one of the largest consumers of raw materials, including metals, plastics, and textiles. Managing these materials sustainably and efficiently is a significant challenge, with an increasing focus on reducing waste, improving recyclability, and ensuring responsible sourcing. Traditional linear models of material consumption led to resource depletion, environmental degradation, and missed economic opportunities. - -Values for taking the challenge: By adopting the Circularity KIT and embracing circular economy principles, automotive companies can transition to sustainable materials management, improve resource efficiency, and contribute to a greener, more resilient industry. - -Benefits for OEMs, SMEs, and Solution Providers: - -1. **OEMs and large suppliers:** - - Minimize raw material consumption and waste generation by integrating R-strategies and secondary material quotas in their production processes. - - Enhance their brand image and reputation by adopting eco-friendly practices and demonstrating commitment to sustainability. - - Achieve regulatory compliance and meet customer expectations for environmentally responsible products. -2. **SMEs can:** - - Access cost-effective, high-quality secondary materials for their production processes, reducing dependency on non-renewable resources. - - Improve competitiveness by adopting innovative circular economy technologies and practices. - - Collaborate with other industry stakeholders to develop and implement sustainable solutions. -3. **Solution Providers can:** - - Develop and market innovative technologies, products, and services that support circular economy principles in the automotive industry. - - Access new market opportunities and scale their customer base through a circularity network and shared services. - - Leverage the collective wisdom of industry stakeholders to drive continuous improvement and innovation. - -## Material Accounting - -### Introduction - -#### Material Accounting: Enabling Transparency in the Circular Economy to Validate Material Loops - -In the dynamic landscape of modern industry, the pursuit of a circular economy has become increasingly vital. This transformative approach seeks to minimize waste and enhance resource efficiency by promoting the reuse, recycling and repurposing of materials throughout their entire lifecycle. However, the realization of a truly circular economy faces significant challenges, primarily stemming from the absence of standardized data exchange and communication among the diverse network of stakeholders involved in the process. - -Currently, there is a notable absence of a uniform data format or exchange mechanism for recycled materials within industrial processes and value chains. This lack of transparency presents a barrier to comprehending the flow of materials and recycled materials circulating within this ecosystem. Without a standardized approach, tracking the contributions of recycled materials, assessing their successful reintegration into the circular loop, and quantifying output volumes remain challenging tasks. - -The circular economy involves a complex interplay of various stakeholders, ranging from tier-n companies to original equipment manufacturers (OEMs), each employing unique methods for measuring inputs and outputs. The overarching objective of the material accounting feature in the Circularity KIT, therefore, is to make the circular economy visible and digitally verifiable across the automotive value chain. - -To realize this ambition, a standardized framework is imperative, one that facilitates the exchange of material data for both primary and secondary raw materials, including corresponding quantities and qualities, illuminating material flows across the entire value chain. - -The image below shows the big picture of a circular economy when material is tracked over its complete life cycle excluding the usage phase. - -##### Figure 2 - -![Overview Material flow](resources/adoption-view/overview_material_flow.svg) - -### Business Value - -From a business perspective, the material accounting KIT is characterized by the following attributes: - -1. **Standardized Data Exchange:** Facilitation of standardized data exchange regarding scrap, waste, and secondary materials among ecosystem partners. -2. **Verifiable Closed Loops:** The KIT enables the establishment of verifiable closed loops for material tracking. -3. **Increased Material Recycling:** The KIT promotes the recycling of materials within the same industry, increasing sustainability. -4. **Transparency:** It provides higher transparency regarding the availability of secondary materials. - -### Use Case / Domain - -#### Material Accounting in Catena-X - -Catena-X offers a decentral, sovereign, cross-organizational data exchange. For Material Accounting the following scenario could be addressed: Registering secondary materials as decentral digital twins in the Catena-X network based on material batches. - -The goal of the Material Accounting Feature inside the Catena-X consortium and association is to collaborate on exchanging standardized secondary material information across the upstream & downstream value in order to develop a standardized data model. To do so, we identified potential data points along a closed loop with OEM, recycler and supplier as stakeholders as seen in the picture below. Further feature content will follow in upcoming versions of the Circularity KIT. - -##### Figure 3 - -![Data Points along the Value Chain](resources/adoption-view/datapoints_along_valuechain.svg) - -## Secondary Material Content - -### Introduction - -_Introducing the Secondary Material Framework within the Circularity KIT by Catena-X: Enhancing Sustainability and Communication in the Automotive Value Chain._ - -In the pursuit of sustainability and resource efficiency, the automotive industry is continuously exploring innovative ways to incorporate secondary materials into its value chain. At the forefront of this endeavor is the secondary material framework, a pivotal component of Catena-X's Circularity KIT. - -Designed with a clear mission, this framework seeks to revolutionize the utilization of secondary materials throughout the automotive value chain, extending its impact to tier-n companies and OEMs alike. Through a multi-faceted approach, the secondary material framework not only optimizes accessibility to secondary material information but also advances collaboration and communication among diverse stakeholders within the industry. - -By facilitating seamless data exchange and introducing standardized calculation methodologies, this framework establishes a transparent foundation that harmonizes communication among stakeholders by employing consistent metrics. The decentralized nature of this data ecosystem empowers each actor to manage their own data and determine what can be shared with whom. - -The secondary material content chapter of the Circularity KIT explores how the secondary material framework contributes to heightened transparency, empowered data management, and streamlined communication, ultimately fostering a more sustainable and interconnected automotive ecosystem. - -### Business Context - -#### Use Case / Domain Explanation - -This user journey illustrates the data exchange process through Catena-X in the context of secondary material content. The user journey outlines the various stakeholders along the value chain and within the individual tiers and their involvement. - -##### Figure 4 - -![User Journey - SMC](resources/adoption-view/userJourney_smc.svg) - -The user journey follows the same process during all four lifecycle stages and differ in data quality as stated below. Further information to the lifecycle stages can be found in the [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Business%20View%20Traceability%20Kit/). - -| Lifecycle Stage | Explanation | Example | -| --------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| As Designed | Development phase: **Initial estimation** of secondary material content | The company that wishes to procure a component requires an initial estimate from the supplier regarding the elements of the SMC. | -| As Planned | Planning phase: **Concretization** of the secondary material content | The company chooses a supplier based on the proposals received and obtains more detailed information about the SMC as the supplier can plan the component with greater precision. | -| As Ordered | Ordering phase: Calculation of secondary material content on the **basis of supplied components** | The ordering phase occurs before the start of production, allowing for the calculation of the SMC information based on the specific parts and materials that are being supplied. | -| As Built | Production phase: Ongoing calculation **after start of production** | During the production process SMC information are regularly exchanged between supplier and OEM. | - -### Semantic Models - -There are different scenarios in which SMC Data can be exchanged. According to the semantic model framework, this implies that there is a specific data model for each purpose (scenario). - -In order to ensure efficiency by avoiding redundancy and maintaining multiple data models, the concept of a shared aspect model was used: This means that there is one Secondary Material “base model”, which is the SecondaryMaterialContent. This serves as an enabler for data modelling and not for data exchange itself, it is bad practice to use it for data exchange. - -Instead, SecondaryMaterialContentCalculated or SecondaryMaterialContentVerifiable should be used when exchanging SMC data, depending on the actual scenario. - -The main difference between these data models, is whether the data is based on assumptions or a prognosis and is therefore not fixed, in which case SecondaryMaterialContentCalculated is to be used. On the other hand, once the data is actually measured and can therefore be verified, the SecondaryMaterialContentVerifiable should be used. It is important to note that the models now include the same properties and can only be differentiated by the name of the relevant data model. - -In the table below, different scenarios are described to clarify which data model is used in which case. - -| Scenario | Description | Example from Practice | Data Model | -| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Assumption-based SMC data exchange | The SMC data exchanged in this scenario is based on assumptions made by considering various factors | Tier-n requests an initial estimate of the SMC data for a new component from its supplier. | [SecondaryMaterialContentCalculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) | -| Prognosis-based SMC data exchange | In this scenario, SMC data is exchanged based on a prediction or forecast of future events in the automotive sector. | When the production of a previously produced car is continued, a prognosis of the SMC is made based on the previous production. | [SecondaryMaterialContentCalculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) | -| Measured-information-based SMC data exchange | In this scenario, the SMC data that is exchanged is based on actual measured information and data. The relevant data is therefore verifiable. | During the production of a component, the order information of the used material clearly indicates the SMC of the used materials. | [SecondaryMaterialContentVerifiable](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_verifiable) | - -#### Figure 5 - -![Depiction of SMC Data Models - SMC](resources/adoption-view/depiction_of_smc_data_models.svg) - -The next part provides an overview of the secondary material content (SMC) calculation framework, including relevant data points, the calculation of SMC, and links to the data model and GitHub. The goal is to create a common basis for the data relevant for the SMC. Based on this, steering for secondary material content (SMC) and secondary material quota (SMQ) is possible. - -#### A. Introduction to the Semantic Models - -The semantic model is based on data points regarding material and order data. - -There are different timestamps to which data for SMC is relevant. - -To ensure the accuracy of the data and account for varying availability and quality of the information, it is important to identify at which step of the process data is exchanged. The process is divided into four steps, which are explained below. - -| **Timestamp**
          Linked to [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Business%20View%20Traceability%20Kit/) | **Explanation** | Concept in Catena-X developed | Data Models that need to be filled | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------- | -| a. Supplier Inquiry/As Designed | This is the initial phase of the process where the supplier is inquired about the design of the product. The data exchanged in this phase is an initial estimation of secondary material content. | Concept currently not developed | N/A | -| b. Supplier Selection/ As Planend | In this phase, the supplier is selected, and the data exchanged is based on the planned production and concretized to the previous phase. | Concept developed | 1. Part as Planned (Component)
          2. SMC | -| c. SOP/ Industrialisation/ As Ordered | This phase involves the ordering and the start of the production process. The data exchanged is based on the actual production process. | Concept currently not developed | N/A | -| d. Post-SOP/ Serie/ As Built | This is the final phase of the process where the product is built, and the data exchanged is based on actual product specifications. The data exchange during this phase is regular and allows for the most precise calculation of SMC of all the stages. | Concept developed | 1a. Serial Part (Component)
          **or**
          1b. Batch
          **and**
          2. SMC | - -In addition to filling out the data model for Secondary Material Content, other data models must also be completed to ensure adequate information and compatibility within Catena-X. During the As-Planned phase, the Part as Planned (Component) data model must be filled in addition to the SMC data model. Once the as-built phase is reached, the serial part (Component) data model must be filled to provide information as manufacturer partID, and customer partID. As such, these values are not included in the SMC data model. - -#### 1. Material - -The Model is designed to address the material at the lowest level requiring descriptive information, such as the material name in accordance with a standardized format, as well as the name and code of the referenced standard (materialNameStandardizedValue; referencedStandard; referencedStandardID). For example, a material name may be given based on the ISO 1043 standard, in which case ISO would be the referenced standard and ‘1043’ the referenced standard ID. The material class (materialClass) must be provided in accordance with the VDA standard 231-106. To provide relevant data regarding the material mass per declared unit of the material, the unit of measure, such as gram or kilogram (unitOfMeasureKey), must first be defined. Next, the gross material input weight (grossMaterialInputMass) as well as the net mass of the material (materialNetMass) shall be provided. - -Essential material characteristics that are mandatory within the data model include the use of bio-based materials and their material class (bioBasedClass), as well as the percentage of material weight of each primary and secondary bio-based material (primaryBioBased; secondaryBioBased). For secondary bio-based material it can be chosen whether a mass balancing approach was followed or not (isMassBalanced). Further information on mass-balancing can be found under [_B. Accounting for chain of custody models_](#b-accounting-for-chain-of-custody-models). - -Further, information regarding inorganic/fossil-based materials is required. The percentage of primary inorganic/fossil-based material weight (percentageOfMaterialWeight) shall be provided. When it comes to secondary material, the percentage of material weight of chemically and mechanically recycled pre-consumer and post-consumer material according to ISO 14021 should be included (percentageOfMaterialWeight). Post-Consumer material is divided into two streams: Post consumer material from end-of-life vehicles as well as post consumer from other sources. When chemical or mechanical recycling has been applied, it is important to disclose information whether a mass balancing approach was followed (isMassBalanced). - -_Definition of pre-consumer material:_ - -“Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre consumer material can be used in form of recovered or recycled material as a substitute for primary material.” - -_Definition of post-consumer material:_ - -“Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in form of recovered or recycled material as a substitute for primary material.” - -#### Optional Information, such as Reutilization - -Optional information can be included to enhance the quality of the provided data, such as the percentage of material weight of reutilization material content (additionalInformation). - -_Definition of Reutilization:_ - -“Reutilization of materials such as rework, regrind or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in the cycle.” - -Even though Reutilization fosters the avoidance of waste, it does not count as recyclate according to ISO 14021 and is an optional attribute for this data model. - -If available, the name of a certificate verifying the recycling content and a link to its PDF validating the provided information can be included (certificate). - -##### Figure 6 - -![Material Characteristics](resources/adoption-view/Relationship_between_Material_Characteristics.svg) - -The schematic depiction above provides a visual representation of the connection between various material characteristics, facilitating an understanding of how different data points relate to each other and contribute to the calculation of SMC. - -#### 2. Order Data - -To clearly identify the order and relevant material, the order number (orderNumber) can be provided on an optional basis. - -#### B. Accounting for Chain of Custody Models - -Please see the Catena-X Product Carbon Footprint (PCF) Rulebook for further information. Chain of custody is an administrative process by which information about materials is transferred, monitored, and controlled as those materials move through supply chains [ISO 22095:2020]. There are in principle four chains of custody models possible, illustrated in the figure below. Their common objective is to guarantee correct bookkeeping and to corroborate a link between in-going content, e.g., ‘sustainable’, ‘recycled’ or ‘organic’ by harmonized definitions, and the finally out-going product. They differ regarding physical or administrative links. Furthermore, they differ on the set of rules for balancing, and the possibility to keep materials streams segregated or not. - -##### Figure 7 - -![figure custody models](resources/adoption-view/custody_models.svg)[^1] - -[^1]: Original image taken from [Mass Balance EMF White Paper](https://emf.thirdlight.com/link/f1phopemqs36-8xgjzx/@/preview/1?o), visually adapted for this purpose. - -The following table is adapted from the [Mass Balance EMF White Paper](https://emf.thirdlight.com/link/f1phopemqs36-8xgjzx/@/preview/1?o) and provides high-level explanations and differentiations for the four chain of custody models: - -| Model | Explanation | Example | -| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Identity Preservation | It is possible to physically track the product to its desired origin, ensuring unique traceability and physical separation of products from other sources along the supply chain. | Buying food from a single certified producer. | -| Segregation | Consists in the aggregation of volumes of products of identical origin or produced according to the same standards in one stock item. | Buying food from a trader that exclusively handles identically certified supplies. | -| Mass Balance | Considering the output, no physical or chemical difference exists between in-scope and out-of-scope. It involves balancing volume reconciliation to ensure the exact account of volumes of in- and out-of-scope source is maintained along the supply chain, provided that the volume or the ratio of sustainable material integrated is reflected in the product produced and sold to customers. This model requires that a reconciliation period is defined (e.g. a month, a year). | Buying a certain percentage of a supply from certified origin. Applies to, e.g., sustainable forestry for wooden materials, recycled, bio-based or renewable materials, organic cotton | -| Book and Claim – Restricted Certificate Trading | The certified product / component is disconnected from the certification data but belongs to the same production system or value chain. The certified product evolves in separate flows from the certified supply. Certificates are issued at the beginning of the supply chain by an independent body reflecting the sustainable content of supplies. The intended outcome is that outputs from one supply chain are associated with total claims corresponding to the certified input. | Buying material with renewable/recycled/ biobased content. Certificates with guarantee of origin or comparable certifications declaring e.g. recycled, renewable, biobased content. CO2 capture certificates from a production system controlled by the company, e.g. carbon capture and storage. | - -For calculating the PCF according to the Catena-X rulebook all types of models may be taken into account, if the requirements listed below are met and an independent third-party chain of custody verification for the balance of materials is available. The balance between input and output shall be correct. - -The mass balance approach helps enabling fossil raw materials to be replaced by more sustainable alternative materials (e.g. with recycled content, bio-content). In contrast to a segregated use of alternative raw materials, mass balance enables to use existing production networks with minimized or no investments into new process technologies and production facilities. A book and claim model can be applied when there is no direct connection between the final product and the certified supply. An example for a book and claim model is applied in green electricity markets and receives more attention in other sectors as a way to support circular transformation of the industry, therefore it is accepted as a solution. There will be a regular review by Catena-X to decide about the further necessity. - -##### Guiding Principles - -In implementing chain-of-custody methods, including the mass balance one, the following set of guiding principles shall be fulfilled: - -1. The use of chain-of-custody approaches shall achieve significant changes and an effective transition towards a more circular, more bio-based and lower GHG emissions production in complex value chains. -2. The choice and implementation of chain-of-custody approaches and models shall be transparent, clear, and credible – abiding by relevant standards such as ISO and CEN. Such credibility can also be achieved but is not limited to accepted third-party certification schemes, e.g. ISCC PLUS, REDCert2 and RSB. - - Note: Certification Schemes are not yet available in all sectors. - -3. Labels and claims referring to chain-of-custody controlled specified characteristics and used on products shall fulfill the following requirements: - - - description of the chain-of-custody approaches and models - - accurate and appropriate implementation of the chain-of-custody model - - compliant with existing standards and regulations - - non-misleading - - In case the “specified characteristic” content in products cannot be measured and verified, labels and claims products may reflect this in ways that clearly differentiate and specify the actual content. - -4. No double counting: A reliable bookkeeping system shall be installed at each operating site to avoid the sales of a greater amount of alternative attributed products than physically available in the company. - - Additional requirements for mass balance chain of custody approach: - -5. The operating sites in the spatial boundaries for mass balancing are under the operational control of the same company/corporate group/joint venture. - -6. It shall be technically possible according to standard industry practice to produce a mass balanced product from an alternative feedstock. The share of mass-balanced material can be technically lower than the attributed share. - -7. Applied emissions factors for the mass balance system boundaries shall be material and process specific. - -For the SMC data model, information whether a mass-balanced approach has been applied or not can be provided in the data model. - -#### C. Calculation Logic for SMC - -The secondary material quota (SMQ) is a KPI measuring the usage of secondary materials within a vehicle. A vehicle can be defined as the sum of its individual components. Therefore, the secondary material content (SMC) is defined as the ratio between secondary material used and total material used on component level. To enable steering for secondary material content on the component level, it is important to establish a common understanding of the SMC of a single material. Based on the data model and information provided earlier, the SMC of a material can be calculated. The SMC can be divided into different pillars: Pre-consumer material and Post-consumer material and, optional: Reutilization material content - -All secondary material usage types are being expressed as percentages of the relationship between secondary materials and total materials used. - -##### 1. Pre-consumer material content - -![pre consumer material content equation](resources/adoption-view/eq_pre_consumer_material_content.svg) - -**Definition of pre-consumer material:** - -“Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre consumer material can be used in form of recovered or recycled material as a substitute for primary material.” - -##### 2. Post-consumer material content - -![post consumer material content equation](resources/adoption-view/eq_post_consumer_material_content.svg) - -**Definition of post-consumer material:** - -“Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in form of recovered or recycled material as a substitute for primary material.” - -##### 3. Optional: Reutilization content - -![Reutilization content Equation](resources/adoption-view/equation_Reutilization_content.svg) - -**Definition of reutilization:** - -“Reutilization of materials such as rework, regrind, or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in cycle.” - -#### SMC and SMQ Calculation - -The SMC calculates as the sum of the above defined secondary material usage types: - -![SMC Equation](resources/adoption-view/equation_SMC.svg) - -In the above-described manner, the secondary material content is to be calculated for every component of the vehicle. - -The SMQ as a KPI defined on vehicle level which is calculated based on the individual SMC’s of the respective components: - -![SMQ Equation](resources/adoption-view/equation_SMQ.svg) - -It is important to note that data quality may vary during different stages of the process, and this should be taken into consideration to ensure the highest level of data accuracy. - -To calculate the average portion of, for instance, the amount of mechanical recycling of post-consumer material content in the whole material, the values along the data model must be multiplied. For example, the content of inorganic or fossil-based material, content of secondary inorganic or fossil-based material, post-consumer material content, and mechanical recycling would be multiplied as can be seen in the schematic depiction below. - -##### Figure 8 - -![material_characteristics](resources/adoption-view/material_charactersitics.svg) - -#### D. Data Models and Github - -The relevant data models can be found via the following links on GitHub: - -- [Secondary Material Content](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.secondary_material_content) -- [Secondary Material Content Calculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) -- [Secondary Material Content Verifiable](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_verifiable) - -The open availability on GitHub allows companies to combine their own internal target guidance programs with the data models from Catena-X to SMC. - -## End of Life / Dismantling Services - -### Introduction - -#### Closing Loops, Preserving Resources: Creating tomorrow's EoL landscape and empower the circularity - -As part of the Circularity KIT, we are committed to developing services for the future of the circular economy in the end-of-life (EoL) sector of vehicles. This phase represents an important stage where decisions are made regarding the fate of vehicles and their components after their initial use. Recognizing the immense value of the world's limited resources, we are dedicated to minimizing waste and maximizing resource efficiency. - -One of our key strategies involves creating a framework for an improved communication among all stakeholders involved in the EoL phase. This collaborative approach allows us to consider the needs and requirements of all participants, facilitating the collection and exchange of essential information. Importantly, we view the end of a vehicle's life as the beginning of a new one in the context of resource conservation. - -Our overarching vision is to create a landscape that closes loops and preserves resources, ultimately empowering circularity in the industry. We aspire to provide digitized and scalable EoL services that align with circular economy principles and prioritize the preservation of components and materials. Simultaneously, we are committed to follow present and future changes in laws and regulations, which emphasizes environmentally friendly vehicle disposal and the recovery of critical raw materials (CRMs), aligning with the growing demand for closing component and material loops. - -Our mission centres on empowering EoL and maintenance stakeholders by fostering continuous collaboration within the Catena-X Network and beyond. Through the Circularity KIT working group, we aim to develop and align various means, including data, business, and network models, to empower all stakeholders involved in the EoL phase. This mission is closely tied to our vision of promoting digitized and scalable end-of-life services across the industry while upholding the principles of circular economy. - -Our strategy for achieving these goals involves several key steps. Firstly, we aim to enable EoL service models through data sharing based on digital twins (DT). This approach allows for efficient information sharing in an interoperable, standardized manner, which, in turn, supports dismantling and recycling operations. Furthermore, we are actively engaging with all relevant stakeholders, including policymakers, product designers (for circularity), and EoL service providers, to promote new "R-approaches" and facilitate their implementation. - -Ultimately, our efforts provide essential support for the digitalization and automation of the EoL phase, with the ultimate goal of closing loops in the automotive sector. Through these digitized and scalable EoL services, we aim to contribute significantly to sustainable development and resource conservation, aligning with the principles of the circular economy. - -### Business Context - -#### Data Journey "End-of-Life" - -The "Data Journey" represents the entire process of dismantling an End-of-Life (EoL) vehicle. Each process step is accompanied by CX data models that would be necessary for digitally representing the individual process steps. This enables us to elevate the data journey for the dismantling process to a digital level and to gain an understanding of which data attributes and aspect models are required for each process step. It forms the foundation for the creation of digital EoL-solutions and the use of robotics. - -##### Figure 9 - -![Data Journey - End of LIfe](resources/adoption-view/figure_dataJourney_EOF.svg) - -Future additions include data models for the following topics: - -- Decommissioning Certificate -- Material for Recycling -- Adress Aspects -- ID Conversion -- Certificate of Dismantler -- Diagnostic Data -- Physical dimensions -- Mandatory dismantling -- Demand request -- Compatibility of components/ Design changes history -- Quality issue history -- Technical drawings & specifications -- PCF Information - -#### User Journey "Certificate of Decomissioning" - -The user journey "Certificate of Decommissioning" (CoDM) describes the moment at which a vehicle is transferred into the End-of-Life (EoL) phase from the perspective of an authorized collection point for EoL-vehicles, such as an authorized dismantling facility. The CoDM resembles the official Certificate of Destruction (CoD) but marks the starting point of the upcoming CX concept of a digital CoD. - -##### Figure 10 - -![User Journey CODM](resources/adoption-view/figure_user_journey_codm.svg) - -##### Data Model and GitHub - -The relevant data model can be found on the following link on GitHub: [https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.decomissioning_certificate/1.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.decomissioning_certificate/1.0.0) - -The open availability on GitHub allows companies to combine their own internal target guidance programs with the data models from Catena-X to the EoL-Services. - -## CE-Assistant - -### Introduction - -#### Empowering Circular Economy Decisions: Introducing the Circular Strategy Assistant - -In the dynamic landscape of sustainability and resource conservation, the Circular Strategy Assistant (CE-Assistant) emerges as a pioneering solution, providing decision support for the selection of optimal strategies concerning end-of-life vehicles. At its core, the CE-Assistant tackles the task of evaluating and choosing from a spectrum of R-Strategies—namely Reuse, Remanufacturing, Recycling, and Recovery. - -Rooted within the principles of Catena-X, the CE-Assistant is deeply aligned with a comprehensive assessment process that guides its functionality. This process is chiefly anchored in the Catena-X Digital Twin Framework, which encapsulates the essence of virtual representation and real-world insights. - -Central to this endeavor is the CE-Assistant—a set of standards, aspect models, APIs, system architectures, and decision logics—all designed to foster the development of data-centric, Catena-X compliant decision support systems for Circular Economy Strategies. The core circularity lies in the orchestrated flow of engineering information—a collaborative effort involving entities across the automotive value chain. - -The concept of Digital Twin (DT) serves as the backbone, offering a holistic virtual counterpart of assets. Defined with precision, the DT embodies a set of unique identifiers, an evolving spectrum of aspects, connectivity to diverse data sources, and the capacity to traverse the entire lifecycle of assets, encapsulating both individual and fleet-level knowledge. - -In accordance with IDSA and Gaia-X principles, interconnectivity and data sovereignty, the CE-Assistant thrives on the principles of interoperability, substantiated by the Connector KIT (EDC) and Data Chain KIT (Item Relationship Service - IRS). - -Undeniably, the selection of Circular Economy Strategies necessitates a comprehensive evaluation of emissions, natural resource preservation, energy management, and waste reduction. However, the effectiveness of such evaluation’s hinges on access to granular data encompassing the vehicle’s history, components, materials, and condition. - -This is precisely where the CE-Assistant can help by supporting a user-centered approach that bridges the gap between data availability and informed decision-making. By offering transparency into the environmental implications of diverse circular economy strategies, the CE-Assistant facilitates swifter, well-informed, and efficient decisions rooted in the digital twin's insights. - -### Business Context - -Business Context -The CE-Assistant provides decision support and circular strategies, enabling several key features for businesses: - -1. **Component-Level Decision Support:** The KIT provides decision support for selecting circular strategies at the component level. -2. **Efficient Data-Driven Decisions:** Users can make faster and more efficient decisions based on data analysis. -3. **Enhanced Circularity:** The KIT contributes to increasing the circularity of products and meeting reuse quotas. -4. **Sustainability Milestones:** It helps achieve sustainability indicators and goals. -5. **Transparency on Secondary Materials:** The KIT offers transparency regarding the availability of secondary materials. -6. **Streamlined Vehicle Dismantling:** It optimizes the process of vehicle dismantling for improved resource recovery. - -#### Use Case / Domain Explanation - -The User Journey describes the system interaction of the CE Assistant with the user, the Dismantling Lead, with the aim of providing a recommendation for a component-level circular strategy for end-of-life vehicles. This involves breaking down the process of holistic decision-making into individual process steps and identifying the interaction with the user/system at each process step. - -##### Figure 11 - -![Figure UserJourney CE Assistant](resources/adoption-view/figure_userstory_ce_assistant.svg) - -#### Whitepaper - -If you are eager to dive deeper into the world of the CE-Strategy Assistant, including its data provision via the Digital Twin and expert insights on technically feasible circular strategies and environmentally friendly choices, we invite you to explore our informative publications. - -##### End-of-life decision support to enable circular economy in the automotive industry based on digital twin data - -- **Abstract**: With the EU Green Deal and the UN Sustainable Developments Goals, the vision of a greenhouse gas-neutral and resource-efficient economy is already firmly anchored in world politics. In this context, the automotive industry faces many challenges including the increasing scarcity of natural resources, a rising demand in terms of sustainable vehicle design, production and materials sourcing. Due to all this, end-of-life decisions regarding dismantling have become increasingly important. A high proportion of secondary materials will be required in the vehicles of the future. To response to these challenges, companies have turned their focus towards the circular economy as a central approach to close material loops. In the German research project “Catena-X” a new data ecosystem with digital twins is one enabler that is being developed. The digital twins represent a promising approach to the circular economy by ensuring transparent, product-specific and end-to-end data exchange throughout the entire product lifecycle, from the material sourcing to the eventual dismantling and recycling. As one particular and unique solution, a decision framework that facilitates the best circular strategy at the end of a vehicle's life is developed and presented in this paper. The underlying data-driven decision support framework is based on circular economy KPIs. This includes material, components and specific vehicle KPIs to best identify the most suitable circular strategy. The framework was methodologically developed by an interdisciplinary team of partners, who are stakeholders throughout the value chain and participants in the Catena-X project. An integrated approach of user-centered design, an adapted version of the V-model and the Scaled Agile Framework were used for the methodology in the development of the solution. The paper presents the concept of a digital twin for a decision support system, that includes a central decision logic that also includes the relevant KPIs and a survey for evaluating the decision logic utilized with a chosen dismantling company. -- **Link**: [End-of-life decision support to enable circular economy in the automotive industry based on digital twin data - ScienceDirect](https://www.sciencedirect.com/science/article/pii/S2212827123006091) - -##### Empowering End-of-Life Vehicle Decision Making with Cross-Company Data Exchange and Data Sovereignty via Catena-X - -- **Abstract:** The mobility sector is the world’s second-largest producer of energy-related CO2 emissions, and it is facing a global resource shortage. The demand for circular products, the use of secondary materials in future vehicles, and the need for sustainable business models in the mobility sector is increasing. However, a transparent and end-to-end data exchange throughout the entire value network is missing, which is hindering an efficient circular economy. Relevant information on the vehicle, its components and materials at the end of the product life cycle are often missing. In this context, this paper presents a decision support system based on Digital Twin data for a circular economy solution as a software application. It was developed within the German research project Catena-X following an integrated approach of user-centered design, the V-model, and within the Scaled Agile Framework. By combining these methodological approaches, customer-oriented solutions were developed and continuously improved at each stage of development to shorten the time-to-market. Catena-X is based on Gaia-X principles. In Gaia-X, necessary core services are developed, and contraction negotiation for data exchange and usage policies is enabled and implemented. The decision support system provides important information about the exact composition and condition of the vehicle, its components, and its materials. Thus, it helps to improve efficiency, sustainability, and the implementation of the circular economy. The decision support system was tested and validated with a use case that provided Digital Twin data on the end-of-life vehicle. -- **Link**: [Sustainability | Free Full-Text | Empowering End-of-Life Vehicle Decision Making with Cross-Company Data Exchange and Data Sovereignty via Catena-X (mdpi.com)](https://www.mdpi.com/2071-1050/15/9/7187) - -##### Digital Twins for Circular Economy - Enabling Decision Support for R-Strategies - -- **Abstract:** Digital twins (DT) for circular economy (CE) offer a promising approach as part of digital data ecosystems for more sustainable value creation. By mapping and analyzing product, component and material specific data along the lifecycle, it is possible to address current challenges such as climate change and resource scarcity. Within Catena-X, specific solutions based on this cross-company exchanged data and information are developed. Here, the “CE-Assistant” is presented. It is an application, which identifies the best CE-Strategy based on DT data at the end of a vehicle's life. -- **Link:** [OA_Mügge_6-2022 | INDUSTRIE-MANAGEMENT](https://www.industrie-management.de/node/556) - -#### Logic / Schema - -In order to evaluate which R-Strategy can be applied to individual components, instance-specific data must be available. This is ensured using DT data throughout the product lifecycle. Such an DT enables the collection of instance-specific data on the product, and thus provides the missing EoL data for vehicle disassembly. - -Depending on the decision-making step, instance specific data for the vehicle disassembly is partly necessary or product specific data is sufficient. Decision support regarding the best R-Strategy is preceded by the logic for the technical feasibility. Thus, only when the R-Strategy is technically feasible, it must be checked for other indicators. - -The outcome of the technical feasibility is to analyze if an R-Strategy has to be excluded at the beginning based on regulatory requirements regarding an R-Strategy or a defect in functionality of specific components. - -The process is started by entering the vehicle identification number (VIN) into the system, thereby requesting the corresponding Catena-X data. The registered companies in the Catena-X network act as data providers for this vehicle-specific data, as they register respective assets and sub-models. Catena-X Shared Services handle existing data models, contract, usage and access control policies, and ultimately the final data exchange. - -The system shows the first information, such as corresponding vehicle, component and material based on data from the DT. This data is provided for the first overall manual inspection and evaluation. After that, the user selects the most relevant components for the R-Strategy decision. The decision logic is applied for this component and the possible R-Strategies are identified. - -The core process means in a chronological order: The basic reuse-potential, material composition and remaining lifetime in comparison with the specific thresholds and the disassembly capability. - -If one or more of these criteria are not fulfilled, the component will only be assigned to recovery or recycling. If the component qualifies for disassembly, a manual visual inspection and a functional check are conducted. For components, where the visual condition is relevant, such as body parts and interior components, the visual inspection is conducted first. In contrast, components, for which the technical condition is of significant relevance, such as engines and gearboxes, are first subjected to a functional test. Here, the data can also be provided in the Catena-X network as an update of the DT. Thereafter, a quality comparison of the component condition with threshold values takes place. When the quality is insufficient for reuse, the technical check for remanufacturing is carried out chronologically: Assimilability, cleanability and restorability/upgradability. Finally, a possible strategy is given to the user as a result. - -##### Figure 12 - -![user story flowchart](resources/adoption-view/figure11.svg) - -## Secondary Marketplace - -### Introduction - -A secondary marketplace is fundamental to establish a circular economy where components and materials are available and offered to the interested users creating new value chains and extending the life of the parts and the materials before becoming waste. Digital platforms offering marketplace services are essential to enable trading of secondary materials and components, provide transparency into supply and demand that potential buyers and sellers can expect. - -The main goals of the Marketplace are: (1) to match the demand and the supply of available components and secondary raw materials and (2) to provide transparency on sales opportunities for used components which can be, for example, reused or re-manufactured. - -If offered, additional services such as grading, certifications for the offered listings (components or secondary materials) and transport handling and logistics could support trading processes. - -### Business Context - -A secondary marketplace enables closing the loop on economical and physical layers. Following the logic described in the previous chapter, there could be multiple scenarios related to R-strategies on how secondary marketplaces enable a circular economy. - -Potential sales scenarios: - -- Dismantling companies selling old components and material/scrap; -- Automotive manufacturers selling old unused components; -- Automotive manufacturers selling production waste and scrap; -- and others. - -Potential purchase scenarios: - -- Automotive companies buying components for re-manufacturing; -- Workshops buying components for re-use; -- Recyclers buying production waste and scrap; -- and others. - -In all of those cases, having additional information (e.g. product carbon footprint or digital product passport details) on the products offered on the marketplace is beneficial. - -### User Journey and Architecture Overview - -In general, there are several goals that buyers and sellers pursue on a secondary marketplace: - -- As a (Core) Purchaser, I want to search and filter for market supply on OE number level to match the market offers towards my demand. -- As a (Core) Purchaser, I want to reach as many possible sellers as possible to purchase parts that I cannot procure today. This includes brokers I don't buy from today. -- As a (Core) Seller, I want to place offers on the marketplace with standard upload tools and manually. -- As a (Core) Seller, I want to reach as many possible customers as possible to maximize my turnover. This includes customers I don't sell to today. - -The key user journey relevant in Catena-X circular economy area relates to the need of a buyer to have full reliable information on a product that he is intending to purchase. This is especially important given that many buyers are looking for parts for re-manufacturing or re-use, where product quality plays a vital role. Furthermore, in case of recycling, recyclers are interested to know material composition and additional information that would influence their purchasing decision. - -Some information could be provided by a variety of data models, but the highest value lies within the generic digital product passport (and by extension, battery passport, sealant passport, transmission passport). When a seller is publishing a listing with a product that he is willing to sell, there is only a limited amount of information he can provide with it, mostly the one available from the visual inspection or on-board data (such as mileage, OE-number, brand) as well as logistical/ sales information (such as location or price). When a potential buyer views the listing, he should have a possibility to request additional details from a data provider of the generic digital product passport (if available) for that product (see diagram below). More information on the digital product passport can be found in the [Ecopass KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Eco_Pass_KIT/page-adoption-view/). - -#### Figure 13 - -![User Journey - Secondary Marketplace](resources/adoption-view/user_journey_secondary_marketplace.svg) - -This process is reflected in the architecture for communicating with the Catena-X network and data providers of the battery passport data model, as presented below. - -#### Figure 14 - -![Communication Architecture](resources/adoption-view/communication_architecture.svg) - -When it comes to the data exchange schema and other details, see the [Triangle for Secondary Marketplace](https://catena-x.net/de/standard-library) document for more information on how such a request could be realized within Catena-X environment and according to applicable guidelines (e.g. on interoperability and data sovereignty). In a decentral environment, such attributes as manufacturer part ID and OE number play a vital role in order to get access to the right component and the right data model at data provider’s side. - -### Semantic Models - -In the following, relevant semantic models for the secondary marketplace are listed. For further information about the listed data models please refer to the Catena-X standards library for the respective data model, marked as “CX-“, which contains the standardized data models with further descriptions and explanations. The standards library can be founded here: [Catena-X Standard-Library](https://catena-x.net/de/standard-library) - -The Marketplace Offer is an aspect model that is complementary to the concept of a secondary marketplace. It described a product (e.g. a used, dismantled component) that is placed for sale onto the marketplace, with key supporting information such as quantity, quality, or price. It provides essential information for potential buyers and could be used in the future to exchange product information between multiple marketplaces. This model can therefore be used to exchange offers between multiple marketplaces. As there is no exchange scenario defined yet, the Marketplace Offer is a recommendation and non-normative, since it is so far concerning the business application-internal data structure only. More information on this aspect model can be found under CX-0035 in the standards library or under the following link: [Marketplace Offer](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.market_place_offer) - -Additionally, two other aspect models could play a supporting role for secondary marketplaces. - -The Return Request aspect model could be used to flag a vehicle or product to indicate that there is a demand or a request for return. It specifies the aspect of the recall of a vehicle part and thus provides the information whether and why a return request exists for a product. More information on this aspect model can be found under CX-0033 in the standards library or under the following link: [Return Request](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.return_request) - -The Product Passport aspect model could provide reliable details on the product characteristics or lifecycle information, therefore complementing the basic Marketplace Offer information. More information on this aspect model can be found under CX-0103 in the standards library or under the following link: [Digital Product Passport](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.generic.digital_product_passport) - -## Glossary - -| Term |Definition|Source| -| - | - | - | -| Aggregate State/ State of Matter | State of matter (German: "Aggregatzustand") is one of the distinct forms in which matter can exist. Three states of matter are observable at ambient conditions and free of electrical charge: solid, liquid, gas | State of matter - Wikipedia| -| Base Quantity | The International System of Quantities defines seven base quantities. The set of base quantities is chosen by convention where no base quantity can be expressed in terms of the others, but where every quantity in the system can be expressed in terms of the base quantities. | International System of Quantities - Wikipedia | -| Bio-based Materials | Material of biological origin excluding material embedded in geological formations and/or fossilised | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172132, P. 9 | -| Biomass | Material of biological origin, excluding material embedded in geological formations or transformed material of biological origin, excluding material embedded in geological formations or transformed to fossilized material and excluding peat | DIN ISO 14021 | -| By-Product | Substance or object, resulting from a production process, the primary aim of which is not the production of that item, and does not constitute waste (as defined in Directive 2008/98/E on waste) | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172132, P. 9 | -| CAS Number | a unique numerical identifier assigned by the Chemical Abstracts Service (CAS) to every chemical substance described in the open scientific literature. / Except for a small selection of most common substances released under CC-BY-NC license the CAS numbers are a proprietary identification scheme to be licensed from CAS (USA) | CAS Registry Number - Wikipedia | -| Chain-of-Custody approach | Mass balance is one of several well-known chain of custody approaches that can be used to track the flow of materials through the value chain. The total quantity of the content in question is tracked through the production system and the allocation of this content is made to the end products based on verifiable accounting. The goal of this method is to ensure proper accounting and to confirm a link between the incoming content (e.g., "sustainable," "recycled," or "organic" according to some definition) and the eventual outgoing product. | [https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf](https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf) | -| Chemical Composition | Chemical composition refers to identity and number of the chemical elements that make up any particular chemical compound. In order to provide unambiguous information, "chemical element" and "chemical compound" must be defined as context. | Chemical composition - Wikipedia | -| Chemical Recycling | Chemical or feedstock recycling refers to the conversion of plastic polymers into their monomers or chemical building blocks or basic chemicals, i. e. depolymerisation by means of thermochemical or chemical processes, although there is currently no uniform, legally binding definition [13]. | Background Paper on Chemical Recycling - German Environmental Agency, Dec 2020 | -| Circular Economy | The circular economy is a model of production and consumption, which involves sharing, leasing, reusing, repairing, refurbishing and recycling existing materials and products as long as possible. In this way, the life cycle of products is extended. | European Parliament | -| Closed-Loop-Recycling | In a closed loop, the secondary material from one product system is either reused in the same product system or used in another product system without changing the inherent properties of the material. | PCF Rulebook | -| Component | Part or small assembly of parts used as part of a larger assembly | Article 2 Definitions 200053EG | -| Compostable | Characteristic of a product, packaging or associated component that allows it to biodegrade, generating a relatively homogeneous and stable humus-like substance. | DIN ISO 14021 | -| Consumer | Any natural person who, in contracts covered by this Directive, is acting for purposes which are outside his trade, business, craft or profession | 2011/83/EU on consumer rights | -| Co-Product | Any two or more products coming from the same unit process or product system. | PCF Rulebook, DIN EN ISO 14067, Feb. 2019, p.22 | -| Degradable | A characteristic of a product or packaging that, with respect to specific conditions, allows it to break down to a specific extent within a given time. | DIN ISO 14021 | -| Disposal | Disposal means any of the applicable operations provided for in Annex IIA to Directive 75/442/EEC, for instance deposit into or onto land, land treatment, deep injection, surface impoundment, release into water body, biological treatment, physico-chemical treatment. | Guideline 2000/53/EG | -| Dismantling ability | The ability of components to be removed from the vehicle. | ISO 22628:2002-02 | -| Dismantling Information | All information necessary for the proper and environmentally sound treatment of an end-of-life vehicle. It is provided to authorized treatment facilities by vehicle manufacturers and suppliers in the form of manuals or electronic media (such as CD-ROMs, online services). | Guideline 2000/53/E | -| Downcycling | Downcycling, or cascading, is the recycling of waste where the recycled material is of lower quality and functionality than the original material. | Downcycling - Wikipedia | -| Ecological Assessment | Compilation and evaluation of the inputs, outputs, and potential environmental impacts of a product system throughout its life cycle | Article 2 Definitions 200053EG | -| Economic operators | Manufacturers, distributors, take-back points, motor vehicle insurance companies, dismantling facilities, shredder plant operators, recovery facilities, recycling facilities, as well as other facilities for the treatment of end-of-life vehicles, including their components and materials. | Guideline 2000/53/EG | -| End-of-Life | The point at which a product or component is taken out of use | Article 2 Definitions 200053EG | -| End-of-Life Vehicle | Vehicles that are considered waste under Article 1 letter a) of Directive 75/442/EC | Article 2 Definitions 200053EG | -| End-of-Waste | The end-of-waste state for waste in Europe reached when the material is no longer considered a waste under the national implementation of the Waste Framework Directive. | PCF Rulebook, EN 15804 | -| Energy recovery | Energy recovery includes any process that refers to the use of waste as a raw material or the treatment of waste that cannot be recycled. The aim is to recover energy from materials and associated with this, to convert them into usable heat, electricity or fuel. | U.S. Environmental Protection Agency (2016) Energy Recovery from Waste | -| Fossil Materials | Fossil raw materials are all raw materials derived from organic material. They include coal, crude oil and natural gas. | Federal Geothermal Office | -| Hazardous substances | Any substance that is classified as hazardous according to Directive 67/548/EEC. | Guideline 2000/53/EG | -| ILCD Format | International Life Cycle Data Format | PCF Rulebook | -| Input | Product, material or energy flow that enters a unit process. | Pathfinder / PCF Rulebook | -| Intermediate Product | Output from a unit process that is input to other unit processes that require further transformation within the system | Article 2 Definitions 200053EG | -| Life Cycle | Consecutive and interlinked stages related to a product, from raw material acquisition or generation from natural resources to end-of-life treatment. | DIN EN ISO 14067, PCF Rulebook | -| Mass | In physics, mass is not the same as weight. Mass is both a property of a physical body and a measure of its resistance to acceleration. For disambiguation see definition of "Weight" below | Wikipedia | -| Mass-Balancing | Considering the output, no physical or chemical difference exists between in-scope and out-of-scope. It involves balancing volume reconciliation to ensure the exact account of volumes of in- and out-of-scope source is maintained along the supply chain, provided that the volume or the ratio of sustainable material integrated is reflected in the product produced and sold to customers. This model requires that a reconciliation period is defined (e.g. a month, a year). | PCF Rulebook | -| Material | Physical good used as input for production processes of goods or services or physical good supplied to a customer as output | Pathfinder / PCF Rulebook | -| Material Declaration | Material declaration (MD) is the process mandated to meet the obligations placed on (automobile) manufacturers, and thus on their suppliers, by national and international standards, laws and regulations. | IMDS Information Pages - Home - IMDS Public Pages (mdsystem.com) | -| Material Details | Collection of material information defined by given context in an information model | Catena-X definition | -| Material Identifier | Material Identifier is a alphanumerical identifier that serves programmatic functions (e.g., as data ID) but also satisfies chemical regulation (see material declaration) under national and international law. | Catena-X definition | -| Material Name | Trivial name (often name of a chemical group) used to denote some material in everyday speech or jargon. Entirely dependent on specific context. | Catena-X definition | -| Material Recovery | Material recovery is recovery by processes in which virgin material of the same substance is replaced or the material remains available for further material use. | Packaging Act § 3 para. 19 | -| Material Type | Groups of materials defined by convention (e.g., IMDS) or ISO Standard (e.g., ISO 62474) in order to simplify communication of relevance of material information (in search or filtering) | IEC 62474 – Material Declaration | -| Mechanical Recycling | End-of-life materials can be processed via collecting, sorting, shredding, melting and transforming it into secondary raw materials for a new application. This form of recycling involves processes in which e.g. the polymer structure is not significantly changed, and plastic is preserved as a material. Thus, in terms of its complexity, mechanical recycling takes place at a lower technical level than chemical recycling. | Mechanical recycling (basf.com) | -| Glossary and methods Open-loop recycling | In open-loop recycling, the material is reused in other product systems and is inherent properties are changed (e.g. recycled material may have a different chemical composition, a different chemical structure or a higher concentration of dissolved impurities compared to primary material) | PCF Rulebook | -| Output | Product, material or energy that leaves a unit process. | Pathfinder / PCF Rulebook | -| Post-consumer material | Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | -| Pre-consumer Material | Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | -| Primary Material | Raw material coming from the environment, as well as materials of differing stages of processing (Raw materials, semi- and finished goods), which are used in the production process for the first time. | | -| Prevention | Measures to reduce the quantity and environmental harm of end-of-life vehicles, their materials, and substances | Guideline 2000/53/EG | -| Process | Set of interrelated or interacting activities that transform inputs into outputs. | DIN EN ISO 14067, PCF Rulebook | -| Producer | The vehicle manufacturer or the commercial importer of a vehicle into an EU Member State | Article 2 Definitions 200053EG | -| Product | Any good (tangible product) or service (intangible product) | PCF Rulebook | -| Production | Process of combining various inputs, both material (such as metal, wood, glass, or plastics) and immaterial (such as plans, or knowledge) in order to create output. | Production (economics) - Wikipedia | -| Production Waste | Waste generated in different industries in connection with production and the opposite to consumption waste, which primarily comprise municipal waste and waste comparable to it. | Production waste Concepts Statistics Finland | -| Raw Material | Primary or secondary material, that is used for production of a product. | Pathfinder / PCF Rulebook | -| Recoverability | The ability of components and/or materials to be directed to a recovery process from the waste stream. | ISO 22628:2002-02 | -| Recoverability quote | The percentage of the mass of the new vehicle that can potentially be recovered and/or reused. | ISO 22628:2002-02 | -| Recovered Material | Material that would have otherwise been disposed of as waste or used for energy recovery, but has instead been collected and recovered [reclaimed] as a material input, in lieu of new primary material, for a recycling or a manufacturing process. | DIN ISO 14021 | -| Recyclate | Secondary raw materials that have been generated by means of the recovery of waste or are generated in the disposal of waste and are suitable for the production of products. | KrWG, Framework Waste Directive | -| Recyclability quote | The percentage of the mass of the new vehicle that can potentially be recycled and/or reused. | ISO 22628:2002-02 | -| Recycled Content | Proportion, by mass, of recycled material in a product or packaging. The recycled content is the sum of pre-consumer material and post-consumer material. | DIN ISO 14021 | -| Recycled Material | Material, that has been reprocessed from (reclaimed) material by means of a manufacturing process and made into a final product or into a component for incorporation into a product. | DIN ISO 14021 | -| Recycling | Recycling is the process of collecting, sorting, and processing waste to release materials that can be reused for their original purpose or other purposes, except for the energy recovery. Energy recovery is the use of combustible waste for energy production by direct combustion with or without other types of waste, but with the recovery of heat. | DIRECTIVE 2002/96/EC | -| Reduce | Increase efficiency in product manufacture or use by consuming fewer natural resources and materials | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Refurbish | Restore an old product and bring it up to date (to specified quality level) | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Refurbishment | Includes the same process steps as remanufacturing, that is repairing, restoring, rebuilding and/or replacing. A refurbished product is not comparable to a new one but has been updated to a specific quality level and should be fully functional. | Refurbishing – Wikipedia | -| Refuse | Make product redundant by abandoning its function or by offering the same function by a radically different (e.g. digital) product or service | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Remanufacture | Use parts of a discarded product in a new product with the same function (and as-new-condition) | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Remanufacturing | Remanufacturing is a standardized industrial process that restores used products to their original performance level or better, with a warranty equivalent to or surpassing that of newly manufactured products. The remanufacturing effort includes dismantling the product, restoring and replacing components, and testing individual parts and the whole product to ensure it meets its original design and performance specifications, as seen from the customer’s perspective. | BS 8887-2:2009 | -| Repair | Repair is the process of returning a faulty or broken product or component to a usable state. The effort put into the repair is minimal and only addresses the specified fault to ensure the useability of the product; however, the performance of the repaired part may not be guaranteed. The warranty for a repaired product is generally less than that of a new or remanufactured product and may only apply to the replaced or repaired component | BS 8887-2:2009 | -| Repurpose | Use a redundant product or its parts in a new product with different function | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Resource (Rohstoff) | Resource that is used or can be used in a process. A resource can be of a material or immaterial nature. When the term "resource" is used in the context of environmental science, it refers to a "natural resource". Unlike here, the term resource is often used very narrowly in the sense of raw materials. || -| Resource Protection | Economical use of natural resources with the aim of preserving their quantity and function. || -| Rethink | Make product use more intensive (e.g. through product-as-a service, reuse and sharing models or by putting multi-functional products on the market) | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| R-Strategies | R-Strategies, as part of circular economy, encompass a range of sustainable resource management approaches that prioritize actions such as reuse, remanufacturing, recycling, and recovery. These strategies aim to extend the life of products and materials, reduce waste generation, and minimize environmental impacts by promoting the efficient and responsible use of resources throughout their life cycle, thus contributing to the implementation of the circular economy model. | Inspired by Potting et al.: Potting, J.; Hekkert, M.P.; Worrell, E.; Hanemaaijer, A. Circular Economy: Measuring Innovation in the Product Chain; Planbureau voor de Leefomgeving: Hague, The Netherlands, 2017. | -| Re-use | Re-use of a product which is still in good condition and fulfils its original function (and is not waste) for the same purpose for which it was conceived | European Commission, Categorization System for the Circular Economy, doi:10.2777/172131, p. 7 | -| Reusability | The ability of components to be diverted from the waste stream and reused. | ISO 22628:2002-02 | -| Reutilization | Reutilization of materials such as rework, regrind, or scrap materials generated within the process and capable of being reused within the same process that generated it. | Adapted from ISO 14021 | -| Scrap | Iron and steel material in metallic form that is recovered in multiple life cycle stages, including steel production processes, the manufacturing processes of final products and the end of life of final products | Adapted from ISO 20915:2018 | -| Secondary Raw Material | Secondary materials are any materials that are not the primary products from manufacturing and other industrial sectors. These materials can include scrap and residuals from production processes and products that have been recovered at the end of their useful life. | [US EPA, 17.08.2023](https://www.epa.gov/smm/sustainable-management-industrial-non-hazardous-secondary-materials#:~:text=Secondary%20materials%20are%20any%20materials,end%20of%20their%20useful%20life) | -| Shredder | Any facility that is used to crush or shred end-of-life vehicles, including for the purpose of recovering directly reusable metal scrap. | Guideline 2000/53/EG | -| Treatment | Activities carried out after the end-of-life vehicle is handed over to a facility for the elimination of pollutants, dismantling, coarse crushing, shredding, recycling or preparation for disposal of shredder waste, as well as other activities related to the recycling and/or disposal of end-of-life vehicles and end-of-life vehicle components. | Guideline 2000/53/EG | -| Vehicle | Vehicles of classes M1 or N1 according to Annex II Section A of Directive 70/156/EC and three-wheeled vehicles according to Directive 92/61/EC, however excluding three-wheeled motorcycles. | Article 2 Definitions 200053EG | -| Vehicle mass | Unladen mass of the operational vehicle (code: ISO-M06), according to DIN ISO 1176, term 4.6: unladen mass of the dry vehicle (term 4.5) plus the mass of lubricants, coolant (if required), washing fluids, fuel (tank filled to at least 90% of the manufacturer's specified capacity), spare wheel(s), fire extinguisher, standard spare parts, wheel chocks, standard tool ship. | ISO 22628:2002-02 | -| Waste | Materials, co-products, products, or emissions without economic value that the holder intends or is required to dispose of. | DIN EN ISO 14067, PCF Rulebook, Pathfinder | -| Waste Prevention | Waste prevention is any measure taken to ensure that a substance, material or article does not become a waste. It is used to reduce the amount of waste, the harmful effects of the waste on people and the environment, or the content of harmful substances in materials and articles. | Closed Substance Cycle Waste Management Act | -| Weight | In science and engineering, the weight of an object is the _force_ acting on the object due to gravity. For disambiguation see definition of "Mass" above | Mass - Wikipedia | - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- Copyright (c) 2023,2024 BMW AG -- Copyright (c) 2023,2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IPK) -- Copyright (c) 2023,2024 BASF SE -- Copyright (c) 2023,2024 SAP Deutschland SE & Co.KG -- Copyright (c) 2023,2024 T-Systems International GmbH -- Copyright (c) 2023,2024 LRP Auto-Recycling Leipzig GmbH -- Copyright (c) 2023,2024 Robert Bosch GmbH -- Copyright (c) 2023,2024 tec4U-Ingenieurgesellschaft mbH -- Copyright (c) 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page_changelog.md deleted file mode 100644 index 01245fa306e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page_changelog.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: Changelog Circularity KIT -title: Changelog -description: "Circularity KIT" -sidebar_position: 1 ---- - -## [0.2.0] - 2024-03-08 - -- added: Secondary Material Chapter -- changed: integrated SMC Chapter into other KIT content -- removed: typos - -## [0.1.0] - 2023-12-08 - -### Added - -- add Circularity KIT to Tractus-X Repository - -### Changed - -### Removed diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/architecture.md b/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/architecture.md deleted file mode 100644 index 635d6be55f6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/architecture.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -sidebar_position: 2 -title: Architecture -description: Architecture -id: connector_kit_development_view_architecture ---- - - -## Overview - -The following diagram shows an example architecture including the Connector Kit. In this case the EDC is used as a sample implementation of the Connector Kit. - -![IMG: Connector Kit Architecture](https://raw.githubusercontent.com/eclipse-tractusx/eclipse-tractusx.github.io/main/static/img/architecture.drawio.svg) - -## Interactions - -The Connector interacts with the following other components: - -### Database - -The Connector requires a database for persistence. In the reference implementation, a database instance for each Connector is required. -This database does not store any of the actual asset data, but rather the metadata consisting of Contracts, Negotiations or Policies. -In the reference implementation, this metadata is generated by the management plane. - -### Secret Vault - -A Connector is a security-critical component. It handles credentials, secrets and short-lived that must be shielded from -unauthorized access and potential leaks. A ordinary database is unfit for this task, thus the setup requires a Secret Vault. -This is usually accomplished via a implementations such as Hashicorp Vault or Azure Vault. - -### Business Applications - -The reason to use a Connector in the first place is to make data available to or obtain it from other participants. -This data comes from or is used in your other Business Applications. -These interact with the Connector by providing addresses where said data can be found that are then wrapped in Assets by the Connector. -For the reference implementation, the interaction will usually pass through the Management API that is [documented in detail](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/docs) -in the tractusx-edc repository. - -### Other Connectors - -The interactions between different Connectors are specified by the DSP. - -### Catena X Portal - -Contact with the Catena X Portal is necessary to register as a participant and obtain a Business Partner Number. This ID is used in exchanges with other participants. - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Operation View/operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Operation View/operation-view.md deleted file mode 100644 index a5d255d122d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Operation View/operation-view.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -sidebar_position: 1 -title: Operatation View -description: Operatation View -id: connector_kit_operation_view ---- - -## Reference Implementation - -The reference implementation for the Connector kit is the [Eclipse Dataspace Connector](https://github.com/eclipse-edc/Connector). -Furthermore, it assumes the usage of a deployable EDC as provided by [Tractus-X EDC](https://github.com/eclipse-tractusx/tractusx-edc). - -## Configuration Parameters - -The EDC requires a few parameters for configuration. -They are detailed [here](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector#configure-the-chart). - -## Architecture - -For a summary of the architecture surrounding a Controller, take a look at the Development View's [architecture page](../Development%20View/architecture.md). - -## Deployment Resources - -### TractusX Helm Charts - -The [Helm charts](https://helm.sh/docs/) provided by TractusX form the basis for a deployable EDC. -The default configuration can be found [here](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/charts/README.md). -This configuration assumes a database for persistence and Hashicorp Vault for secret storage. -Other configurations are available in the same repository. - -### Minimum Viable Dataspace - -A minimal setup using [Terraform](https://developer.hashicorp.com/terraform) is available in the form of the -[Minimum Viable Dataspace](https://github.com/eclipse-edc/MinimumViableDataspace). - -Documentation on it can be found [here](https://eclipse-edc.github.io/docs/#/submodule/MinimumViableDataspace/). - -### Deployment Guide - -Specific configuration details are described more closely in the -[Deployment Guide](https://eclipse-tractusx.github.io/docs/tutorials/e2e/connect/deployComponents/). - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/page_changelog.md deleted file mode 100644 index 79563940738..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/page_changelog.md +++ /dev/null @@ -1,64 +0,0 @@ -# Changelog - -![Connector kit banner](@site/static/img/ConnectorKitIcon.png) - -## Connector KIT - -All notable changes to this Kit will be documented in this file. - -## [2.0.0] - 2024-02-01 - -- Removed automatic pipeline from eclipse-tractusx/tracutsx-edc -- Moved Management API documentation to [implementation repo](https://github.com/arnoweiss/tractusx-edc/tree/docs/cleanup-2/docs/usage/management-api-walkthrough) - -## [1.2.0] - 2023-05-16 - -

          Added

          - -- chart documentation for tractusx-connector-azure-vault - -

          Changed

          - -- helm chart documentation -> added needed properties and information about self-signed certificates for testing - -

          Removed

          - -- chart documentation for tractusx-connector-app -- unused files like charts, values.yaml - -## [1.1.0] - 2023-04-28 - -

          Added

          - -- documentation of the control-plane-adapter extension -- openAPI documentation of the control-plane-adapter extension -- documentation of the observability-api-customization -- migration documentation -- postman collection - -

          Changed

          - -- helm chart version for the edc components is now 0.3.3 -- switched the whole documentation structure from product-edc to tractusx-edc -- switched build tool from maven to gradle -- restructured the whole documentation structure and order - -

          Removed

          - -- ./. - -## [1.0.0] - 2023-03-01 - -

          Added

          - -- documentation of the management-api -- documentation of adoption view -- documentation of software development view - -

          Changed

          - -- ./. - -

          Removed

          - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_adoption-view.md deleted file mode 100644 index 574705b916a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_adoption-view.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: adoption-view -title: Adoption View -description: 'A first impression' -sidebar_position: 2 -toc_min_heading_level: 2 -toc_max_heading_level: 2 ---- - -![DCM kit banner](@site/static/img/DCMKitLogoIcon-min.png) - -## Vision & Mission - -The Catena-X-Standards for Demand- and Capacity-Management enable participants of the automotive supply chain to become more resilient and to increase the degree of collaboration aimed at avoiding or solving production bottlenecks as well as surplus situations in a tactical horizon of 1-2 years. - -Thereby the standards empower participants to share data in a secure and sovereign way while ensuring the interoperability of the different applications involved in the process. - -## Status Quo - -### Today's challenge for automotive companies - -Resilience has become imperative within Supply Chain Management, especially over the past years. With the growing complexity of supply chains and a rising number of global and local crises, small and medium enterprises (SMEs) as well as large enterprises (LEs) are facing an increased risk of serious disruptions in their supply chains, bullwhip effects and in the worst case even temporary production shutdowns with a high effort and costs of replanning. - -Inside the volatile and highly complex surroundings of the automotive industry nowadays, mostly tailor-made, proprietary and often fully manual IT solutions support the demand and capacity management processes along the value chain. On the one side there is no common understanding of these processes among the participants. On the other side, different data formats as well as application programming interfaces are used, which is increasing the complexity in the data exchange and which is leading to transfer problems, inconsistencies, or even loss of data. - -## Business Value - -### Why DCM KIT? - -The purpose and focus of Demand and Capacity Management (DCM) KIT is twofold: - -- Define a common understanding of the DCM process thus paving the way for more proactive and efficient collaboration. -- Establish process and application interoperability with the help of common semantics and unified interfaces for data exchange while ensuring the data sovereignty of data providers. - -Implementing the DCM standards will add the following core capabilities to business applications: - -- Provisioning and consumption of material demands data in a sovereign manner. -- Provisioning and consumption of capacity data in a sovereign manner. -- Discovery of bottlenecks and surplus capacity situations by employing a unified calculation logic. - -## Standards - -The DCM standard consists of three main elements: - -- **Core Business logic** – to focus on a **common understanding** of the **DCM processes** among the participants. **Version 1.0.0** (Release 24.03) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) -- **Data model** – to align the structure of the shared data and enable the adoption of the core business logic without misinterpretation. **Version 1.0.0** (Release 24.03) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) -- **APIs** – to make sure that data are transmitted and consumed properly as well as are identically interpreted across companies. **Version 1.0.0** (Release 24.03) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) - -### POWER of STANDARD - -Standards create trust. Customer and Supplier can form new partnerships confidently. Knowing that integration in the network will be dramatically simplified. Standardization can help reduce costs by eliminating redundancies and streamlining processes. By adopting a common set of practices and technologies, businesses can avoid the need to develop their own proprietary systems, which can be expensive and time-consuming. - -### DATA SOVEREIGNTY in FOCUS - -DCM KIT keeps up with Catena X commitment to data sovereignty. This KIT has the goal to always comply with the data sovereignty principle implemented by the Eclipse Dataspace Connector. That enables all participants in the supply chain to always stay in full control of their own data. - -This is how sharing data is fun. - -### INTEROPERABILITY at its BEST - -Application and Service Provider can reduce investments to integrate DCM data models/API specification from DCM KIT. - -The Kit enables the offering of value-add services and innovation based on process description of the core business logic and how a collaborative approach is a win-win-situation for customer and supplier. - -### COLLABORATION is KEY - -The DCM KIT enables better and faster issue resolution. We believe that collaboration is the key to creating and maintaining strong partnerships between customers and suppliers and, at the same time, enhancing problem solving to reach a more balanced and efficient supply and demand management. - -Of course, by realizing efficiency through improved collaboration all involved partners will gain competitive advantage over those that do not collaborate. - -## Semantic Models - -| Semantic Model | Link to GitHub Repository | -| ------------- | ------------- | -| WeekBasedCapacityGroup | | -| MaterialDemand | | -| IdBasedRequestForUpdate | | -| IdBasedComment | | - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG -- SPDX-FileCopyrightText: 2023,2024 BASF SE -- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG -- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA -- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) -- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_changelog.md deleted file mode 100644 index 9e2141dadaf..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_changelog.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: changelog -title: Changelog -description: 'What has changed recently?' -sidebar_position: 1 -toc_min_heading_level: 2 -toc_max_heading_level: 2 ---- - -![DCM kit banner](@site/static/img/DCMKitLogoIcon-min.png) - -## DCM KIT Changelog - -All notable changes to this Kit will be documented in this file. - -## [0.2.0] - 2024-03-08 - -### Added - -- Added Architecture View -- Added IdBasedRequestForUpdate data model reference to Adoption View -- Added IdBasedComment data model reference to Adoption View -- Added IdBasedRequestForUpdate data model chapter to Development View -- Added IdBasedComment data model chapter to Development View -- Added IdBasedRequestForUpdate API chapter to Development View -- Added IdBasedComment API chapter to Development View - -### Changed - -- Updated DCM standard references in Adoption View (Merged CX-0046, CX-0047 and CX-0048 into CX-0128) -- Updated data model references in Adoption View -- Updated MaterialDemand data model chapter to new data models and versions (Replaced WeekBasedMaterialDemand with MaterialDemand aspect model) -- Updated WeekBasedCapacityGroup data model chapter to new data models and versions -- Updated MaterialDemand API chapter to new API definitions -- Updated WeekBasedCapacityGroup API chapter to new API definitions - -### Removed - -n/a - -## [0.1.0] - 2023-03-01 - -### Added - -- Adoption View -- Development View - -### Changed - -n/a - -### Removed - -n/a diff --git a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_dcm-architecture-view.md b/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_dcm-architecture-view.md deleted file mode 100644 index bd0e13c0b26..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_dcm-architecture-view.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -id: architecture-view -title: Architecture View -description: The view from above -sidebar_position: 4 ---- - -![DCM kit banner](@site/static/img/DCMKitLogoIcon-min.png) - -## Why​ - -This page is relevant for you, if one of the following cases applies: - -1. You want to participate in the demand and capacity usecase as either a customer or a supplier and intend to adapt your existing custom application landscape to Catena-X DCM. -2. You want to offer business solutions to the aforementioned customers and suppliers by adapting your commercial software product for Catena-X DCM. - -If non of this applies to you or you are unsure, please refer to DCM guideline for solution adoption first. - -Note: if you purchase commercial software from a software vendor, the vendor needs to adopt their software for you. Please refer your vendor to this page. - -## Prerequisites - -In order to participate in the Catena-X network an Eclipse Dataspace Connector (EDC) is required, as the endpoints must not be called directly but only through an EDC. - -In addition use case participants need to be boarded onto the Catena-X network. - -Participants intending to act as a customer require at least one BPNL for their company as well as one BPNS for every site they intend to integrate into the Catena-X network. - -Participants intending to act as a supplier require at least one BPNL for their company. - -## How - -If you want to adapt your custom or commercial applications to work with the Catena-X DCM usecase you will have to - -1. Modify the source code of your application -2. Enable your software to offer multiple REST API endpoints in order to receive data -3. Enable your software to call multiple REST API endpoints in order to send data -4. Enable your software the communicate through an Eclipse Dataspace Connector (EDC), which is to be setup separately - -For details, please refer to the Catena-X standard [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library). This page provides a non-normative overview only. - -## Solution Overview - -For the exchange of the demand and capacity information required by the process, five REST APIs are used: - -- MaterialDemand API - used for the exchange of demand information -- WeekBasedCapacityGroup API - used for the exchange of capacity information -- RequestForUpdate API - used for requesting an update of MaterialDemand or WeekBasedCapacityGroup -- IdBasedComment API - used for the exchange of additional comments regarding MaterialDemand or WeekBasedCapacityGroup -- Asset Administration Shell (AAS) API - used when using DCM in combination with a Digital Twin Registry - -All those APIs are REST-based APIs. - -Implementing all endpoints is mandatory, except the AAS API endpoint, which is optional. - -Note that the software solutions used as well as the business process should be enabled in order to receive MaterialDemand information from customers and send WeekBasedCapacityGroup information back to those customers. Also, it needs to be possible to send the own MaterialDemand information to the suppliers and receive their WeekBasedCapacityGroup information in return. Therefore, the software tools used need to be able to send/receive these information and the users need to be able to work with the information in the planning processes. - -When implementing the API endpoints, it is important to follow the DCM standard closely in order to ensure compatibility with other solutions. This is not limited to technical aspects, but also extends to the business definition of demand and capacity. - -### Architecture Constraints - -| Constraint ID | Constraint | -| ------------- | ------------- | -| C-1 | Software and third party software must be compliant to the Catena-X and Eclipse Foundation Guidelines/Policies [eclipse_foundation](https://www.eclipse.org/projects/dev_process/) | -| C-2 | [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc/tree/main) (EDC) must be used for data transfer between different legal entities; e.g. the API endpoints listed above may only be called through an EDC | - -## Sequence Diagram - -The overall interaction between partners is illustrated by the following sequence diagram: - -```mermaid -sequenceDiagram - box rgb(80,80,80) Customer - participant Customer - participant CustomerApp as Customer App - participant CustomerConnector as Customer connector - end - box rgb(80,80,80) Core Services - participant CoreBpnlDiscovery as Core BPNL Discovery - participant CoreEdcDiscovery as Core EDC discovery - end - box rgb(80,80,80) Supplier - participant SupplierConnector as Supplier connector - participant SupplierApp as Supplier App - participant Supplier - end - - Customer ->> CustomerApp: Create MaterialDemand - activate CustomerApp - CustomerApp -->> Customer: MaterialDemand created - deactivate CustomerApp - Customer ->> CustomerApp: Finalize MaterialDemand - activate CustomerApp - CustomerApp ->> CoreBpnlDiscovery: Resolve Supplier Base Data into BPNL - activate CoreBpnlDiscovery - CoreBpnlDiscovery -->> CustomerApp: Supplier BPNL - deactivate CoreBpnlDiscovery - CustomerApp ->> CoreEdcDiscovery: Resolve Supplier BPNL into connector URL catalogue - activate CoreEdcDiscovery - CoreEdcDiscovery -->> CustomerApp: Connector URL catalogue - deactivate CoreEdcDiscovery - CustomerApp ->> CustomerApp: Find correct connector via URL catalogue inspection - CustomerApp ->> CustomerConnector: Transmit MaterialDemand - activate CustomerConnector - CustomerConnector ->> SupplierConnector: Resolve connector Endpoint and connector service catalogue into MaterialDemand API URL - activate SupplierConnector - SupplierConnector ->> CustomerConnector: Framework & Contract Negotiation - CustomerConnector -->> SupplierConnector: Framework & Contract Negotiation - SupplierConnector -->> CustomerConnector: MaterialDemand API URL - CustomerConnector ->> SupplierConnector: Transmit MaterialDemand - SupplierConnector ->> SupplierApp: Transmit MaterialDemand - activate SupplierApp - SupplierApp ->> Supplier: Transmit MaterialDemand - Supplier -->> SupplierApp: MaterialDemand received - SupplierApp -->> SupplierConnector: MaterialDemand received - deactivate SupplierApp - SupplierConnector -->> CustomerConnector: MaterialDemand received - deactivate SupplierConnector - CustomerConnector -->> CustomerApp: MaterialDemand received - deactivate CustomerConnector - CustomerApp -->> Customer: MaterialDemand finalized & synchronized - deactivate CustomerApp - - Supplier ->> SupplierApp: Create CapacityGroup - activate SupplierApp - SupplierApp -->> Supplier: CapacityGroup created - deactivate SupplierApp - Supplier ->> SupplierApp: Link Demands to CapacityGroup - activate SupplierApp - SupplierApp -->> Supplier: Demands Linked - deactivate SupplierApp - Supplier ->> SupplierApp: Finalize CapacityGroup - activate SupplierApp - SupplierApp ->> CoreBpnlDiscovery: Resolve Customer Base Data into BPNL - activate CoreBpnlDiscovery - CoreBpnlDiscovery -->> SupplierApp: Customer BPNL - deactivate CoreBpnlDiscovery - SupplierApp ->> CoreEdcDiscovery: Resolve Customer BPNL into connector URL catalogue - activate CoreEdcDiscovery - CoreEdcDiscovery -->> SupplierApp: connector URL catalogue - deactivate CoreEdcDiscovery - SupplierApp ->> SupplierApp: Find correct connector via URL catalogue inspection - SupplierApp ->> SupplierConnector: Transmit CapacityGroup - activate SupplierConnector - SupplierConnector ->> CustomerConnector: Resolve connector Endpoint and connector service catalogue into CapacityGroup API URL - activate CustomerConnector - CustomerConnector ->> SupplierConnector: Framework & Contract Negotiation - SupplierConnector -->> CustomerConnector: Framework & Contract Negotiation - CustomerConnector -->> SupplierConnector: CapacityGroup API Endpoint - SupplierConnector ->> CustomerConnector: Transmit CapacityGroup - CustomerConnector ->> CustomerApp: Transmit CapacityGroup - activate CustomerApp - CustomerApp ->> Customer: Transmit CapacityGroup - Customer -->> CustomerApp: CapacityGroup received - CustomerApp -->> CustomerConnector: CapacityGroup received - deactivate CustomerApp - CustomerConnector -->> SupplierConnector: CapacityGroup received - deactivate CustomerConnector - SupplierConnector -->> SupplierApp: CapacityGroup received - deactivate SupplierConnector - SupplierApp -->> Supplier: CapacityGroupfinalized & synchronized - deactivate SupplierApp -``` - -Note that the supplier does not need to immediately reply with capacity group after receiving demand information, although a timely reply is appreciated, there can be a considerable time in between instead. - -Digital Twins can also be used to reference parts, but are not shown in the sequence diagram for simplicity. diff --git a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_development-view.md b/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_development-view.md deleted file mode 100644 index 1efe32471b3..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/DCM-Kit/page_development-view.md +++ /dev/null @@ -1,1156 +0,0 @@ ---- -id: development-view -title: Development View -description: 'What do I have to implement?' -sidebar_position: 3 ---- - -![DCM kit banner](@site/static/img/DCMKitLogoIcon-min.png) - -This page describes the most important parts for the software implementation of the DCM standards. For the full -technical specification, please refer to the -standard [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library). - -## Introduction - -This document describes the `MaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedRequestForUpdate` and `IdBasedComment` -semantic models and the API definitions used in the DCM Catena-X network. - -## Aspect Models - -### Aspect Model "MaterialDemand" - -The material demand information MUST be sent from the customer to the supplier according to the API standard described -on this page. The data format described here MUST be followed for the exchange of the material demand information. - -The `MaterialDemand` data model MUST be implemented by all participants who wish to participate in the Catena-X DCM use -case as a customer or supplier. - -Companies that act as supplier in the Demand and Capacity Management process within Catena-X MUST be able to receive -material demand information. - -Companies that act as customer in the Demand and Capacity Management process within Catena-X MUST be able to send -material demand information. - -Companies that acts in both roles, MUST therefore be able to receive and send material demand information. It is -RECOMMENDED that participating companies implement both directions of data flows (sending & receiving). - -Every data provider of `MaterialDemand` data MUST provide the data conformant to the semantic model specified in this -document. - -The unique identifier of the semantic model specified in this document MUST be used by the data provider to define the -semantics of the data being transferred. - -Every business application relying on `MaterialDemand` data MUST be able to consume data conformant to the semantic -model specified in this document. - -#### Sample Data - -```json -{ - "unitOfMeasureIsOmitted": false, - "demandRate": { - "demandRateCode": "WKS" - }, - "unitOfMeasure": "unit:piece", - "materialDescriptionCustomer": "Spark Plug", - "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "materialDemandId": "0157ba42-d2a8-4e28-8565-7b07830c1110", - "materialNumberSupplier": "MNR-8101-ID146955.001", - "supplier": "{{CATENAX-SUPPLIER-BPNL}}", - "changedAt": "2023-11-05T08:15:30.123-05:00", - "demandSeries": [ - { - "expectedSupplierLocation": "{{CATENAX-SUPPLIER-BPNS}}", - "demands": [ - { - "demand": 1000, - "pointInTime": "2023-10-09" - } - ], - "customerLocation": "{{CATENAX-CUSTOMER-BPNS}}", - "demandCategory": { - "demandCategoryCode": "0001" - } - } - ], - "materialNumberCustomer": "MNR-7307-AU340474.002", - "customer": "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.material_demand:1.0.0 -``` - -This identifier MUST be used by the data provider to define the semantics of the data being transferred. - -The rdf turtle file, an instance of the Semantic Aspect Meta Model, is the master for generating additional file formats -and serializations. - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.material_demand/1.0.0/MaterialDemand.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used for generation of other file -formats like for example a JSON Schema, aasx for Asset Administration Shell Submodel template or a HTML documentation. - -### Aspect Model "WeekBasedCapacityGroup" - -The capacity group information MUST be sent from the supplier to the customer according to the API standard described on -this page. The data format described here MUST be followed for the exchange of the capacity group information. - -The `WeekBasedCapacityGroup` data model MUST be implemented by all participants who wish to participate in the Catena-X -DCM use case as a customer or supplier. - -Companies, who participate in the DCM use case as a supplier, MUST be able to send capacity group information. - -Companies, who participate in the DCM use case as a customer, MUST be able to receive capacity group information. - -Companies who participate in the DCM use case with both roles therefore MUST be able to receive and send capacity group -information. It is RECOMMENDED that participating companies implement both directions of data flows (sending & -receiving). - -Every data provider of `WeekBasedCapacityGroup` data MUST provide the data conformant to the semantic model specified in -this document. - -The unique identifier of the semantic model specified in this document MUST be used by the data provider to define the -semantics of the data being transferred. - -Every business application relying on `WeekBasedCapacityGroup` data MUST be able to consume data conformant to the -semantic model specified in this document. - -#### Sample Data - -```json -{ - "unitOfMeasureIsOmitted": false, - "unitOfMeasure": "unit:piece", - "linkedDemandSeries": [ - { - "loadFactor": 3.5, - "materialNumberCustomer": "MNR-7307-AU340474.002", - "materialNumberSupplier": "MNR-8101-ID146955.001", - "customerLocation": "{{CATENAX-CUSTOMER-BPNS}}", - "demandCategory": { - "demandCategoryCode": "0001" - } - } - ], - "supplier": "{{CATENAX-SUPPLIER-BPNL}}", - "linkedCapacityGroups": [ - "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" - ], - "name": "Spark Plugs on drilling machine for car model XYZ", - "supplierLocations": [ - "{{CATENAX-SUPPLIER-BPNS}}" - ], - "capacities": [ - { - "pointInTime": "2022-08-01", - "actualCapacity": 1000, - "maximumCapacity": 2000, - "deltaProductionResult": 400 - } - ], - "changedAt": "2023-03-10T12:27:11.320Z", - "capacityGroupId": "0157ba42-d2a8-4e28-8565-7b07830c1110", - "customer": "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.week_based_capacity_group:2.0.0 -``` - -This identifier MUST be used by the data provider to define the semantics of the data being transferred. - -The rdf turtle file, an instance of the Semantic Aspect Meta Model, is the master for generating additional file formats -and serializations. - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_capacity_group/2.0.0/WeekBasedCapacityGroup.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used for generation of other file -formats like for example a JSON Schema, aasx for Asset Administration Shell Submodel template or a HTML documentation. - -### Aspect Model "IdBasedRequestForUpdate" - -A request for update can be sent from the supplier to the customer or vice versa for one or more dedicated entities -according to the API standard described on this page. - -The data format described here MUST be followed for the receipt of the `IdBasedRequestForUpdate`. - -The `IdBasedRequestForUpdate` data model MUST be implemented by all participants who wish to participate in the Catena-X -DCM use case as a customer or supplier to be able to receive such a request. Being able to send -an `IdBasedRequestForUpdate` is OPTIONAL. It is RECOMMENDED that companies implement both ways of communication. - -Every sender of an `IdBasedRequestForUpdate` MUST provide the data conformant to the semantic model specified in this -document. - -The unique identifier of the semantic model specified in this document MUST be used by the requester to define the -semantics of the data being transferred. - -Every business application relying on the `IdBasedRequestForUpdate` data MUST be able to consume data conformant to the -semantic model specified in this document. - -#### Sample Data - -```json -{ - "materialDemand": [ - { - "materialDemandId": "0157ba42-d2a8-4e28-8565-7b07830c3456", - "changedAt": "2023-03-10T12:27:11.320Z" - } - ], - "weekBasedCapacityGroup": [ - { - "capacityGroupId": "0157ba42-d2a8-4e28-8565-7b07830c1110", - "changedAt": "2023-03-10T12:27:11.320Z" - } - ] -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.id_based_request_for_update:2.0.0 -``` - -This identifier MUST be used by the data provider to define the semantics of the data being transferred. - -The rdf turtle file, an instance of the Semantic Aspect Meta Model, is the master for generating additional file formats -and serializations. - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_request_for_update/2.0.0/IdBasedRequestForUpdate.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used for generation of other file -formats like for example a JSON Schema, aasx for Asset Administration Shell Submodel template or a HTML documentation. - -### Aspect Model "IdBasedComment" - -An `IdBasedComment` that refers to a `WeekBasedCapacityGroup`, it's weekly capacities, a `MaterialDemand` or it's weekly -demand series can be sent from the supplier to the customer or vice versa according to the API standard described on -this page. - -The data format described here MUST be followed for the exchange of the `IdBasedComment` information. - -The `IdBasedComment` data model MUST be implemented by all participants in the Catena-X DCM use case. - -Every data provider of `IdBasedComment` data MUST provide the data conformant to the semantic model specified in this -document. Every data consumer MUST be able to consume `IdBasedComment` data which is conformant to the semantic model -specified. - -The unique identifier of the semantic model specified in this document MUST be used by the data provider to define the -semantics of the data being transferred. - -#### Sample Data - -```json -{ - "postedAt": "2023-03-10T12:27:11.320Z", - "listOfReferenceDates": [ - "2023-11-05" - ], - "author": "someone@company.com", - "supplier": "{{CATENAX-SUPPLIER-BPNL}}", - "commentType": "information", - "commentId": "f5c151e4-30b5-4456-94fd-2a7b559b6121", - "changedAt": "2023-03-10T12:27:11.320Z", - "commentText": "Hello, this is a comment!", - "requestDelete": true, - "objectId": "dfeb1334-497e-4dab-97c1-4e6f4e1c0320", - "objectType": "urn:samm:io.catenax.week_based_capacity_group", - "customer": "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.id_based_comment:1.0.0 -``` - -This identifier MUST be used by the data provider to define the semantics of the data being transferred. - -The rdf turtle file, an instance of the Semantic Aspect Meta Model, is the master for generating additional file formats -and serializations. - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_comment/1.0.0/IdBasedComment.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used for generation of other file -formats like for example a JSON Schema, aasx for Asset Administration Shell Submodel template or a HTML documentation. - -## Application Programming Interfaces - -### Header - -In order to exchange data with a DCM partner, the following structure of a POST request payload MUST be adhered to. - -```json -{ - "messageHeader": , - "content": { - "informationObject": [ - , - - ] - } -} -``` - -This structure guarantees a separation of header and content information and allows a collection of multiple information -objects in the payload. `informationObject` can be either a `MaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedComment` -or `IdBasedRequestForUpdate`. The rdf turtle file, an instance of the Semantic Aspect Meta Model, is the master for -generating additional file formats and serializations. The rdf turtle file for the `messageHeaderObject` is defined in a -centralized shared aspect model which can be found under the following link: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/1.0.0/MessageHeaderAspect.ttl -``` - -The entities and characteristics of the rdf turtle itself contain the descriptions for the usage of the message header. - -### Catena-X Membership Verification - -Catena-X Membership MUST be verified in accordance with -standard [CX-0016 Company Attribute Verification](https://catena-x.net/de/standard-library) Company Attribute -Verification before any data is allowed to be exchanged via any of the following APIs - -### MaterialDemand API - -The MaterialDemand contains the material demand information which is send from the customer to the supplier. - -All participants participating in Catena-X DCM in the role of a customer MUST be able to send the `MaterialDemand`. All -participants participating in Catena-X DCM in the role of a supplier MUST be able to receive and process -the `MaterialDemand`. - -#### Data Exchange - -To support the exchange of `MaterialDemand` data, a business application MUST define a single endpoint supporting the -HTTP POST request method as described in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110). The structure of the -endpoint MAY be freely chosen. The address of the endpoint MUST be provided as part of the EDC Data Asset defined on -this page. - -The `MaterialDemand` data MUST be sent from the customer to the supplier using an HTTP POST request. The data format -described here MUST be followed for the exchange of the material demand information. - -Multiple `MaterialDemand` aspects MAY be sent in one transfer as a JSON list. If only one `MaterialDemand` aspect is -transmitted, it MUST still be sent as a list with one entry. - -The serialized JSON MUST NOT be larger than 15 MiB in size. - -The `MaterialDemand` endpoint MUST be implemented by all participants who wish to participate in the Catena-X DCM use -case as a supplier. Customers MUST be able to send `MaterialDemand` objects to their suppliers. - -The data payload itself MUST be a valid JSON string. - -All attributes marked as mandatory in the aspect model standard MUST be included in the dataset. Attributes marked as ' -optional' MAY be included in the data set. - -The usage of the attributes in the data model MUST follow the attribute descriptions of the respective aspect model and -the definitions on this page. - -While some attributes are technically a string, not any string is valid. For example, `expectedSupplierLocation` MUST be -formatted as a BPNS. - -For the data exchange between demand and capacity management applications the `demandRateCode` MUST be set to 'WKS' (= -weeks) in order to indicate, that the given granularity for the demands is on the level calendar weeks. - -The `pointInTime` property represents the calendar week as a date and MUST be set to a monday of the week for that -specific demand. The date format MUST be in accordance with ISO8601 and MUST be in the format YYYY-MM-DD (for example -2023-02-13) without a time zone. - -The attributes `demandCategory` and `unitOfMeasure` MUST be set to one of the defined values as defined -in [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library). If the customer -explicitly does not want to send a unit of measure to the supplier, then the `unitOfMeasure` property can be omitted in -the payload and the `unitOfMeasureIsOmitted` flag value MUST be set to `true`. - -The data series in the `MaterialDemand` SHOULD start already from week _n+2_, where n represents the current week. - -The demand for the current week (_n=0_) and the next week (_n=1_) MAY be included in the dataset. The `MaterialDemand` -MUST include at least one week other than the current or the next week (meaning it may not be empty). Every week MUST -NOT be included multiple times in the same `MaterialDemand`. - -If the demand for one of the weeks changes, the whole dataset MUST be sent to the supplier; sending the changes only ( -delta update / incremental update) is not possible. By this procedure, inconsistent or incomplete data sets are avoided. -One data transfer MUST contain at least one `MaterialDemand` data set. - -For the combination of the attributes `supplier`, `customer` and `materialNumberCustomer` in the -object `MaterialDemand`, there MUST NOT be more than one `MaterialDemand` object in existence. This means that the -customer needs to collect all demands for all factories and send them aggregated as one `MaterialDemand` to the -supplier. - -If the demand in a certain week has the value `0`, it MUST be explicitly included as such in the `MaterialDemand`, -meaning the week cannot be left out (as there is a difference between `null` and `0`). Weeks with an unknown demand ( -value `null`) SHOULD be left out. - -#### UUID generation and handling - -When exchanging demand data, the usage of UUIDv4 is required in order to reduce the probability of collision as well as -to eliminate certain attack vectors. For technical purposes the UUIDv4 MUST be treated as unique within the -supplier-customer relationship. For the combination of attributes `supplier`, `customer` and `materialNumberCustomer` in -the object `MaterialDemand` there MUST be exactly one unique UUIDv4. - -The UUIDv4 MUST be generated according to [RFC4122](https://www.rfc-editor.org/rfc/rfc4122). - -#### EDC Data Asset Structure - -The HTTP POST endpoint introduced MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via -an EDC communication. Therefore, the endpoint MUST be offered as an EDC Data Asset. The latter MUST have a -property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmMaterialDemand`. It can be -abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This -property SHOULD be used to identify the asset when searching the assets catalog of a supplier. Because the asset -reflects the contractual relationship between a supplier and its customers, only one asset with the aforementioned -property for one version MUST be visible to the customer at any time to avoid ambiguity. - -The API version described in this standard document MUST be published in the in the -property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST -be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD -choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a -compatible version with their own, the requester MUST terminate the data transfer. - -Each supplier MUST ensure that only their customers have access to the asset by using access and usage policies and -respective contract definitions. - -An example EDC Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} must be substituted with a corresponding value. -> -> // Asset definition example for EDC management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmMaterialDemand" - }, - "description": "Endpoint for provisioning of material demands", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-MATERIALDEMAND-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error Handling and payload validation - -For error handling and payload validation instructions please refer to -the [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) standard. - -### WeekBasedCapacityGroup API - -The `WeekBasedCapacityGroup` contains the capacity group information which is send from the supplier to the customer. - -All participants participating in Catena-X DCM in the role of a supplier MUST be able to send -the `WeekBasedCapacityGroup`. All participants participating in Catena-X DCM in the role of a customer MUST be able to -receive and process the `WeekBasedCapacityGroup`. - -#### Data Exchange - -To support the exchange of `WeekBasedCapacityGroup` data, a business application MUST define a single endpoint -supporting the HTTP POST request method as described in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110). The structure -of the endpoint MAY be freely chosen. The address of the endpoint MUST be provided as part of the EDC Data Asset defined -on this page. - -The `WeekBasedCapacityGroup` data MUST be sent from the supplier to the customer using an HTTP POST request. The data -format described here MUST be followed for the exchange of the capacity group information. - -Multiple `WeekBasedCapacityGroup` aspects MAY be sent in one transfer as a JSON list as described on this page. If only -one `WeekBasedCapacityGroup` aspect is transmitted, it MUST still be sent as a list with one entry. - -The serialized JSON MUST NOT be larger than 15 MiB in size. - -The `WeekBasedCapacityGroup` endpoint MUST be implemented by all participants who wish to participate in the Catena-X -DCM use case as a customer. Suppliers MUST be able to send `WeekBasedCapacityGroup` objects to their customers. - -The data payload itself MUST be a valid JSON string. - -All attributes marked as mandatory in the aspect model standard MUST be included in the dataset. Attribute marked as ' -optional' MAY be included in the data set. - -The usage of the attributes in the data model MUST follow the attribute descriptions of the respective aspect model and -the definitions in [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library). For -example, an exact definition of the different capacities is provided there and needs to be observed. - -While some attributes are technically a string, not any string is valid. For example, `supplier` MUST be formatted as a -BPNL. - -The `pointInTime` property represents the calendar week of a capacities series as a date and MUST be set to a monday of -the week for that specific capacity. The date format MUST be in accordance with ISO8601 and MUST be in the format -YYYY-MM-DD (for example 2023-02-13) without a time zone. - -The attributes `demandCategory` and `unitOfMeasure` MUST be set to one of the defined values as defined on this page. If -the supplier explicitly does not want to send a unit of measure to the customer, then the `unitOfMeasure` property can -be omitted in the payload and the `unitOfMeasureIsOmitted` flag value MUST be set to `true`. - -The capacities for the current week (_n=0_) and the next week (_n=1_) MAY be included in the dataset. -The `WeekBasedCapacityGroup` MUST include at least one week other than the current or the next week (meaning it may not -be empty). Every week MUST NOT be included multiple times in the same `WeekBasedCapacityGroup`. - -If the capacity for one of the weeks changes, the whole dataset MUST be sent to the customer, sending the changes only ( -delta update / incremental update) is NOT possible. By this procedure, inconsistent or incomplete data sets are avoided. -One data transfer MUST contain at least one `WeekBasedCapacityGroup` data set. - -Additional business-process related rules are specified -in [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library), these MUST be -followed as well. For example, the process defines a capacity and how it is to be interpreted or that a demand must be -consistent with other exchanged information such as call-offs. All `WeekBasedCapacityGroup` objects MUST only use a -mutually agreed unit of measure (as defined -in [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library)). - -The property `linkedDemandSeries` is used to indicate to which MaterialDemand object a `WeekBasedCapacityGroup` object -refers to. More specifically, the linkedDemandSeries refers to a demand for a -specific `demandCategory` / `customerLocation` / `materialNumberCustomer` combination. - -One specific combination of `demandCategory` / `customerLocation` / `materialNumberCustomer` MAY be referred to in -multiple `WeekBasedCapacityGroup` objects. Therefore, one `materialNumberCustomer` MAY be contained -in `linkedDemandSeries` of several different `WeekBasedCapacityGroup` objects. - -The order of the entries listed in the `linkedDemandSeries` of a `WeekBasedCapacityGroup` is arbitrary and MUST be -treated as such. - -#### UUID generation and handling - -When exchanging capacity data, the usage of UUIDv4 is required in order to reduce the probability of collision as well -as to eliminate certain attack vectors. For technical purposes the UUIDv4 MUST be treated as unique within the -supplier-customer relationship. - -The UUIDv4 MUST be generated according to [RFC4122](https://www.rfc-editor.org/rfc/rfc4122). - -#### EDC Data Asset Structure - -The HTTP POST endpoint introduced MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via -an EDC communication. Therefore, the endpoint MUST be offered as an EDC Data Asset. The latter MUST have a -property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmWeekBasedCapacityGroup`. It -can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This -property SHOULD be used to identify the asset when searching the assets catalog of a customer. Because the asset -reflects the contractual relationship between a customer and its suppliers, only one asset with the aforementioned -property for one version MUST be visible to the supplier at any time to avoid ambiguity. - -The API version described in this standard document MUST be published in the -property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST -be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD -choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a -compatible version with their own, the requester MUST terminate the data transfer. - -Each customer MUST ensure that only their suppliers have access to the asset by using access and usage policies and -respective contract definitions. - -An example EDC Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} must be substituted with a corresponding value. -> -> // Asset definition example for EDC management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmWeekBasedCapacityGroup" - }, - "description": "Endpoint for provisioning of Week Based Capacity Groups", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-WEEKBASEDCAPACITYGROUP-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error Handling and payload validation - -For error handling and payload validation instructions please refer to -the [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) standard. - -### RequestForUpdate API - -The Request for Update (RfU) allows either supplier or customer to request updates of some or even all `MaterialDemand` -or `WeekBasedCapacityGroup` objects. For example, RfU could be used in case of updating demands as well as capacity -values in the requesting application. - -Customer and supplier MUST be capable of receiving and correctly responding to a RfU. Being able send a RfU is -RECOMMENDED. - -The correct response to a RfU entails: - -1. Answering with the appropriate HTTP status code -2. If that status code is 200 OK: Sending the requested material demands and capacity groups via `MaterialDemand` API - or `WeekBasedCapacityGroup` API respectively. - -It is RECOMMENDED that this functionality SHOULD NOT be an end-user functionality which can be executed in an user -interface. - -#### Data Exchange - -To support RequestForUpdate, a business application MUST define a single endpoint supporting the HTTP POST request -method as described in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110). The structure of the endpoint MAY be freely -chosen. The address of the endpoint MUST be provided as part of the EDC Data Asset defined on this page. - -The RequestForUpdate data MUST be sent from the customer to the supplier or vice versa using an HTTP POST request. The -data format described here MUST be followed in order to successfully facilitate a RfU. - -An empty RfU payload requests all data within the specific customer-supplier relationship. - -A RfU payload MAY specify that only MaterialDemands OR WeekBasedCapacityGroups are requested within the specific -customer-supplier relationship. - -A RfU payload MAY specify that only certain data objects, identified by their respective UUID, are requested within the -specific customer-supplier relationship. - -A RfU payload MAY specify that only certain data objects, that have been updated, identified by their respective UUID -and ChangedAt value, are requested within the specific customer-supplier relationship. - -The following example payloads are intended to illustrate the different possible payloads of an RequestForUpdate: - -RfU: Send Everything - -```json -{ -} -``` - -RfU: Send only Material Demands - -```json -{ - "materialDemand": [ - ] -} -``` - -RfU: Send only Capacity Groups - -```json -{ - "weekBasedCapacityGroups": [ - ] -} -``` - -RfU: Send only certain Objects - -```json -{ - "materialDemand": [ - { - "materialDemandId": "278e333d-f06b-4b59-8e95-22862f69807f" - }, - { - "materialDemandId": "46adfa5d-36b7-4a9b-9ac6-508dac500dd2" - } - ] -}, -{ -"weekBasedCapacityGroup": [ -{ -"capacityGroupId": "a2fc69ac-ede7-48d3-bee5-04de665d49f0"}, -{ -"capacityGroupId": "34238729-990a-4b61-b0c6-336da7b71675"} -] -} -``` - -RfU: Send only certain Objects and only if my version is not up to date - -```json -{ - "materialDemand": [ - { - "materialDemandId": "278e333d-f06b-4b59-8e95-22862f69807f" - }, - { - "materialDemandId": "46adfa5d-36b7-4a9b-9ac6-508dac500dd2" - } - ] -}, -{ -"weekBasedCapacityGroup": [ -{ -"capacityGroupId": "a2fc69ac-ede7-48d3-bee5-04de665d49f0"}, -{ -"capacityGroupId": "34238729-990a-4b61-b0c6-336da7b71675", -"changedAt": "2023-03-08T11:44:27.701+01:00" -} -] -} -``` - -#### EDC Data Asset Structure - -The HTTP POST endpoint introduced MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via -an EDC communication. Therefore, the endpoint MUST be offered as an EDC Data Asset. The latter MUST have a -property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmIdBasedRequestForUpdate`. It -can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This -property SHOULD be used to identify the asset when searching the assets catalog of a partner. Because the asset reflects -the contractual relationship between two DCM partners, only one asset with the aforementioned property for one version -MUST be visible to the partner at any time to avoid ambiguity. - -The API version described in this standard document MUST be published in the -property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST -be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD -choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a -compatible version with their own, the requester MUST terminate the data transfer. - -Each DCM participant MUST ensure that only their business partners have access to the asset by using access and usage -policies and respective contract definitions. - -An example EDC Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} must be substituted with a corresponding value. -> -> // Asset definition example for EDC management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmIdBasedRequestForUpdate" - }, - "description": "Endpoint for requesting updates", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-IDBASEDREQUESTFORUPDATE-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error Handling and payload validation - -For error handling and payload validation instructions please refer to -the [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) standard. - -### IdBasedComment API - -The `IdBasedComment` contains the information for a comment referencing the UUID of an object and can be sent from the -supplier to the customer and vice versa. The `IdBasedComment` MUST reference an object UUID of a MaterialDemand or a -WeekBasedCapacityGroup which is exchanged between both business partners. - -All participants participating in Catena-X DCM in the role of a supplier or a customer MUST be able to send and receive -the `IdBasedComment`. - -#### Data Exchange - -To support the exchange of `IdBasedComment` data, a business application MUST define a single endpoint supporting the -HTTP POST request method as described in [RFC9110](https://www.rfc-editor.org/rfc/rfc9110). The structure of the -endpoint MAY be freely chosen. The address of the endpoint MUST be provided as part of the EDC Data Asset defined in on -this page. - -The applications of the customer and supplier MUST be able to send and receive `IdBasedComment` data using an HTTP POST -request. The data format described on this page MUST be followed for the exchange of the comment information. - -Multiple `IdBasedComment` aspects MAY be sent in one transfer as a JSON list. If only one `IdBasedComment` aspect is -transmitted, it MUST still be sent as a list with one entry. - -The serialized JSON MUST NOT be larger than 15 MiB in size. - -The `IdBasedComment` endpoint MUST be implemented by all participants who wish to participate in the Catena-X DCM use -case as a customer or supplier. - -The data payload itself MUST be a valid JSON string. - -All attributes marked as mandatory in the respective aspect model standard MUST be included in the dataset. Attributes -marked as 'optional' MAY be included in the data set. - -The usage of the attributes in the data model MUST follow the attribute descriptions of the respective aspect model and -the definitions in [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library). - -While some attributes are technically a string, not any string is valid. For example, `objectType` MUST be as a Catena-X -aspect model unique identifier (defined on this page) without a version. For reusability reasons of the aspect model -there are no enum values defined in the characteristic of this property. - -The `author` MUST either be a valid email address of the sending user of the comment or a BPNL of the sending company in -case the sending user wants to stay anonymous. - -The comment MUST be sent with reference to an `objectId`, which MUST be either a `WeekBasedCapacityGroup` UUID or -a `MaterialDemand` UUID. - -The `listOfReferenceDates` property MAY contain all calendar weeks the sending user wants to refer to. The calendar -weeks MUST be set to a monday of the week the commented demand or capacity belongs to without a time zone. The date -format MUST be in accordance with ISO8601 and MUST be in the format YYYY-MM-DD (for example 2023-02-13). - -In case the sending user wants to delete a comment in a Catena-X partners system, the sending application MUST send the -value `true` in the property `requestDelete`. As a consequence of a `true` value in the property `requestDelete`, the -receiving application MUST delete the comment with the respective UUID including all its history following the GDPR. A -comment deleted once MUST never be sent by the application or be stored by the receiving application again. When -deleting a comment the sending application MAY send the mandatory properties plus the `requestDelete` property only. - -For deletion of a comment the receiving application MAY only check if the `commentID` exists in a business partner -relation between customer and supplier, in case `objectId` and or `objectType` do not match the data currently available -at the receiver side. - -The sending application SHOULD remember the `IdBasedComment` UUIDs created by itself, so that no other app can delete -comments unauthorized. - -An `IdBasedComment` SHOULD always be sent with as much information as is available, so that the receiving application -can better decide how to process the comment. - -For different actions that MUST be executed on a comment, there are conditional mandatory properties that the data model -cannot map. - -Depending on the action that must be executed on a given comment, by both receiving and sending application, the sending -application MUST contain the following properties in the payload (properties in bold are defined as non-optional in the -data model): - -| Property \ Action | create | update | delete | -|----------------------|--------------------------------------------------------|--------------------------------------------------------|--------| -| **commentId** | MUST | MUST | MUST | -| **objectId** | MUST | MUST | MUST | -| **objectType** | MUST | MUST | MUST | -| **supplier** | MUST | MUST | MUST | -| **customer** | MUST | MUST | MUST | -| commentType | SHOULD - if not, receiver can set value 'default' | SHOULD - if not, receiver can set value 'default' | MAY | -| author | SHOULD - if not, receiver can set sender BPNL from EDC | SHOULD - if not, receiver can set sender BPNL from EDC | MAY | -| postedAt | SHOULD - if not, receiver can set timestamp of receipt | SHOULD - MUST NOT differ from time of creation | MAY | -| listOfReferenceDates | MAY | MAY | MAY | -| changedAt | MAY | SHOULD - if not receiver can set timestamp of receipt | MAY | -| commentText | SHOULD | SHOULD | MAY | -| requestDelete | MUST NOT | MUST NOT | MUST | - -#### UUID generation and handling - -When exchanging comment data, the usage of UUIDv4 is required in order to reduce the probability of collision as well as -to eliminate certain attack vectors. For technical purposes the UUIDv4 MUST be treated as unique within the -supplier-customer relationship. - -The UUIDv4 MUST be generated according to [RFC4122](https://www.rfc-editor.org/rfc/rfc4122). - -#### EDC Data Asset Structure - -The HTTP POST endpoint introduced MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via -an EDC communication. Therefore, the endpoint MUST be offered as an EDC Data Asset. The latter MUST have a -property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmIdBasedComment`. It can be -abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This -property SHOULD be used to identify the asset when searching the assets catalog of a partner. Because the asset reflects -the contractual relationship between two DCM partners, only one asset with the aforementioned property for one version -MUST be visible to the partner at any time to avoid ambiguity. - -The API version described in this standard document MUST be published in the -property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST -be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD -choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a -compatible version with their own, the requester MUST terminate the data transfer. - -Each DCM participant MUST ensure that only their business partners have access to the asset by using access and usage -policies and respective contract definitions. - -An example EDC Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} must be substituted with a corresponding value. -> -> // Asset definition example for EDC management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmIdBasedComment" - }, - "description": "Endpoint for receiving comments", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-IDBASEDCOMMENT-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error Handling and payload validation - -For error handling and payload validation instructions please refer to -the [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) standard. - -### DCM Asset Administration Shell API (AAS API) - -Data Providers MAY adopt the DCM AAS API. If they choose otherwise, none of the obligations of this section apply. - -The `MaterialDemand` contains the demand information which is sent from the customer to the supplier. The supplier -maintains a set of Submodels (one for each `MaterialDemand`) and registers them in their Digital Twin Registry. Both -follow the definitions of [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). - -The `WeekBasedCapacityGroup` contains the capacity information which is sent from the supplier to the customer. The -customer maintains a set of Submodels (one for each `WeekBasedCapacityGroup`) and registers them in their Digital Twin -Registry. Both follow the definitions of [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). - -All Catena-X DCM participating companies, acting as a supplier, MUST be able to host and correctly expose -the `MaterialDemand`-Submodel and update the customer-hosted `WeekBasedCapacityGroup`-Submodel. - -All Catena-X DCM participating companies, acting as a customer, MUST be able to host and correctly expose -the `WeekBasedCapacityGroup`-Submodel and update the supplier-hosted `MaterialDemand`-Submodel. - -If a company acts both as a supplier and a customer they MUST be able to host and update both Submodels. - -#### API Specification - -##### API Endpoints & Resources - -Exchanging Data via the DCM AAS API requires customers and suppliers to both act in the roles of data provider and data -consumer. The API is a superset of [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library) with -the following specializations: - -- A supplier MUST host and expose a Submodel `MaterialDemand` via the Submodel-API as defined - in [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). -- A customer MUST host and expose a Submodel `WeekBasedCapacityGroup` via the Submodel-API as defined - in [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). -- Additionally, suppliers and customers MUST offer the PatchSubmodel-Operation with the content-modifier `$value` on all - Submodels as defined - in [AAS Pt.2](https://www.plattform-i40.de/IP/Redaktion/EN/Downloads/Publikation/Details_of_the_Asset_Administration_Shell_Part2_V1.html). - - A supplier MUST client-side be capable to update the `WeekBasedCapacityGroup`-Submodel hosted by the customer. - - A customer MUST client-side be capable to update the `MaterialDemand`-Submodel hosted by the supplier. - -##### Data Exchange - -Restrictions on the exchanged data can be retrieved from the data models. Additionally, the definitions on this page -apply. - -##### UUID generation and handling - -When exchanging demand and capacity data, the usage of UUIDv4 is required in order to reduce the probability of -collision as well as to eliminate certain attack vectors. For technical purposes the UUIDv4 MUST be treated as unique -within the supplier-customer relationship. For the combination of attributes: supplier, customer and -materialNumberCustomer in the object `MaterialDemand` there MUST be exactly one unique UUIDv4. - -The UUIDv4 MUST be generated according to [RFC4122](https://www.rfc-editor.org/rfc/rfc4122). - -##### Available Data Types - -The API MUST use JSON as the payload transported via HTTPS. - -##### DTR Registration - -As mandated by [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library), all Data-Providers must -provide a Digital Twin Registry and use it to link their Submodels to identified assets. Assets in the DTR are -identified via `specificAssetIds`. - -When registering Submodels with semanticId `MaterialDemand`, the data provider (supplier) MUST reuse the IDs mandated -in [CX-0126 Industry Core: Part Type](https://catena-x.net/de/standard-library), section 2.3.1. - -When registering Submodels with semanticId `WeekBasedCapacityGroup`, the data provider (customer) MUST create a -single `specificAssetId` with key `creationEntityId` and value a UUIDv4 as value. - -All other attributes are standardized in [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library) -or [AAS Pt.2](https://www.plattform-i40.de/IP/Redaktion/EN/Downloads/Publikation/Details_of_the_Asset_Administration_Shell_Part2_V1.html) -respectively. - -Example: - -```json -{ - "id": "{{id of the AAS}}", - "idShort": "{{short name of your AAS}}", - "specificAssetIds": [ - { - "name": "creationEntityId", - "value": "{{someUuidV4}}", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "*" - } - ] - } - } - ], - "submodelDescriptors": [ - { - "id": "{{someSubmodelId}}", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:samm:io.catenax.week_based_capacity_group:2.0.0#WeekBasedCapacityGroup" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "{{dataplane baseurl extended with the appropriate path ending on /submodel}}", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id={{ID of the edc asset the submodel is living behind}};dspEndpoint={{controlPlaneEndpoint}}", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ] - } - ] -} -``` - -##### EDC Registration - -Obligations for the EDC Asset Definition of the Digital Twin Registry are adopted -from [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). - -Obligations for the EDC Asset Definition of a Submodel are adopted -from [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library). Of the example below, only the " -properties"- section is defined as normative there. Please note that the example below only signifies a single -registered Submodel. While bundling several Submodels into a single EDC Asset, there are no normative requirements for -EDC Asset properties. - -##### EDC Data Asset - -There are no normative statements on the section dataAddress for the EDC Asset. - -```json -{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#", - "ctx": "https://w3id.org/catenax/taxonomy#", - "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" - }, - "@id": "{{ID for the EDC Asset}}", - "properties": { - "dct:type": { - "@id": "ctx:Submodel" - }, - "cx-common:version": "3.0", - "aas-semantics:semanticId": "{{URN of MaterialDemand or WeekBasedCapacityGroup Submodel}}" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "proxyPath": "true", - "proxyBody": "true", - "proxyMethod": "true", - "proxyQueryParams": "true", - "baseUrl": "{{Submodel endpoint ending before /submodel}}" - } -} -``` - -##### EDC Policy Definition - -This policy is an example to let a single business partner pass. It could be used as (part of) either a accessPolicy or -contractPolicy. - -```json -{ - "@context": { - "@vocab": "https://w3id.org/edc/v0.0.1/ns/", - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "PolicyDefinition", - "@id": "{{POLICY-DEFINITION-ID}}", - "policy": { - "odrl:permission": [ - { - "odrl:action": "USE", - "odrl:constraint": [ - { - "odrl:leftOperand": "{{BPN attribute in Data Consumer VC}}", - "odrl:operator": "=", - "odrl:rightOperand": "{{hard-coded BPN of privileged consumer}}" - } - ] - } - ], - "odrl:prohibition": [], - "odrl:obligation": [] - } -} -``` - -##### EDC Contract Definition - -This example for an EDC contract definition connects the defined policy to the defined asset. - -```json -{ - "@context": { - "@vocab": "https://w3id.org/edc/v0.0.1/ns/" - }, - "@type": "ContractDefinition", - "@id": "contract-definition-id", - "accessPolicyId": "{{POLICY-DEFINITION-ID}}", - "contractPolicyId": "{{POLICY-DEFINITION-ID}}", - "assetsSelector": [ - { - "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id", - "operator": "=", - "operandRight": "{{ID for the EDC Asset}}" - } - ] -} -``` - -##### Error Handling - -Error Handling is specified by [CX-0002 Digital Twins in Catena-X](https://catena-x.net/de/standard-library) -and [AAS Pt.2](https://www.plattform-i40.de/IP/Redaktion/EN/Downloads/Publikation/Details_of_the_Asset_Administration_Shell_Part2_V1.html). diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-batch-order.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-batch-order.api.mdx deleted file mode 100644 index d37699af972..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-batch-order.api.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: cancel-batch-order -title: "Cancel a batch order for a given orderId." -description: "Cancel a batch order for a given orderId." -sidebar_label: "Cancel a batch order for a given orderId." -hide_title: true -hide_table_of_contents: true -api: {"description":"Cancel a batch order for a given orderId.","operationId":"cancelBatchOrder","parameters":[{"description":"Id of the order.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"orderId","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"batchChecksum":1,"batches":[{"batchId":"f253718e-a270-4367-901b-9d50d9bd8462","batchNumber":1,"batchProcessingState":"PARTIAL","batchUrl":"https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462","jobsInBatchChecksum":1}],"orderId":"f253718e-a270-4367-901b-9d50d9bd8462","state":"COMPLETED"}}},"schema":{"type":"object","additionalProperties":false,"description":"BatchOrderAck Payload Response.","properties":{"batchChecksum":{"type":"integer","format":"int32","description":"Expected number of batches in order."},"batches":{"type":"array","description":"Array of batches.","items":{"type":"object","additionalProperties":false,"description":"Batch model.","properties":{"batchId":{"type":"string","format":"uuid","description":"Id of the batch.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"batchNumber":{"type":"integer","format":"int32","description":"Sequential number begins with first (1.) batch."},"batchProcessingState":{"type":"string","description":"The state of the batch.","enum":["INITIALIZED","COMPLETED","PROCESSING","PARTIAL","ERROR"]},"batchTotal":{"type":"integer","format":"int32","description":"The total number of batches."},"completedOn":{"type":"string","format":"date-time"},"jobs":{"type":"array","description":"Array of jobs.","items":{"type":"object","additionalProperties":false,"properties":{"completedOn":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"startedOn":{"type":"string","format":"date-time"},"state":{"type":"string","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]}}},"maxItems":2147483647},"jobsInBatchChecksum":{"type":"integer","format":"int32","description":"Expected number of jobs in batch."},"orderId":{"type":"string","format":"uuid","description":"Id of the order.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"startedOn":{"type":"string","format":"date-time"},"totalJobs":{"type":"integer","format":"int32","description":"Total amount of jobs inside the order."}}},"maxItems":2147483647},"orderId":{"type":"string","format":"uuid","description":"Id of the order.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"state":{"type":"string","description":"The state of the order.","enum":["INITIALIZED","COMPLETED","PROCESSING","PARTIAL","ERROR"]}}}}},"description":"Cancel a batch order for a given orderId."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return Batch Order failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Batch Order with the requested orderId not found."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"put","path":"/irs/orders/{orderId}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Cancel a batch order for a given orderId.","description":{"content":"Cancel a batch order for a given orderId.","type":"text/plain"},"url":{"path":["irs","orders",":orderId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the order.","type":"text/plain"},"type":"any","value":"","key":"orderId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Cancel a batch order for a given orderId. - - - -Cancel a batch order for a given orderId. - -
          Path Parameters
          - -Cancel a batch order for a given orderId. - -
          Schema
            batches object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Array of batches. - -
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            jobs object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Array of jobs. - -
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
          - -Return Batch Order failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Batch Order with the requested orderId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-job-by-job-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-job-by-job-id.api.mdx deleted file mode 100644 index 573901c8b70..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/cancel-job-by-job-id.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: cancel-job-by-job-id -title: "Cancel job for requested jobId." -description: "Cancel job for requested jobId." -sidebar_label: "Cancel job for requested jobId." -hide_title: true -hide_table_of_contents: true -api: {"description":"Cancel job for requested jobId.","operationId":"cancelJobByJobId","parameters":[{"description":"Id of the job.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"completedOn":"2022-02-03T14:48:54.709Z","globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","id":"6c311d29-5753-46d4-b32c-19b918ea93b0","lastModifiedOn":"2022-02-03T14:48:54.709Z","startedOn":"2022-02-03T14:48:54.709Z","state":"CANCELED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Executable unit with meta information and item graph result.","properties":{"completedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"createdOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"exception":{"type":"object","additionalProperties":false,"description":"Job error details.","properties":{"errorDetail":{"type":"string","example":"Timeout while requesting Digital Registry","description":"Detailed exception information.","maxLength":4000},"exception":{"type":"string","description":"Exception name.","example":"IrsTimeoutException","maxLength":100},"exceptionDate":{"type":"string","format":"date-time","description":"Datetime error occurs.","example":"2022-02-03T14:48:54.709Z"}}},"globalAssetId":{"type":"string","description":"Part global unique id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"id":{"type":"string","format":"uuid","example":"e5347c88-a921-11ec-b909-0242ac120002","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"lastModifiedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"owner":{"type":"string","description":"The IRS api consumer."},"parameter":{"type":"object","additionalProperties":false,"description":"Job parameter of job processing.","properties":{"aspects":{"type":"string","example":"SerialPart"},"bomLifecycle":{"type":"string","example":"asBuilt","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"callbackUrl":{"type":"string","example":"https://hostname.com/callback?id={id}&state={state}"},"collectAspects":{"type":"boolean","example":false},"depth":{"type":"integer","format":"int32","example":1,"maximum":2147483647,"minimum":0},"direction":{"type":"string","example":"upward","description":"Item graph traversal direction.","enum":["upward","downward"]},"lookupBPNs":{"type":"boolean","example":false}}},"startedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"state":{"type":"string","example":"COMPLETED","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]},"summary":{"type":"object","additionalProperties":false,"description":"Summary of the job with statistics of the job processing.","properties":{"asyncFetchedItems":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}},"bpnLookups":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}}}}},"required":["globalAssetId","id","state"]}}},"description":"Job with requested jobId canceled."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Cancel job failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Job for requested jobId not found."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"put","path":"/irs/jobs/{id}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Cancel job for requested jobId.","description":{"content":"Cancel job for requested jobId.","type":"text/plain"},"url":{"path":["irs","jobs",":id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the job.","type":"text/plain"},"type":"any","value":"","key":"id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"PUT","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Cancel job for requested jobId. - - - -Cancel job for requested jobId. - -
          Path Parameters
          - -Job with requested jobId canceled. - -
          Schema
            exception object
            - -Job error details. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>= 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            parameter object
            - -Job parameter of job processing. - -
            summary object
            - -Summary of the job with statistics of the job processing. - -
            asyncFetchedItems object
            - -Statistics of job execution. - -
            bpnLookups object
            - -Statistics of job execution. - -
          - -Cancel job failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Job for requested jobId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/delete-allowed-policy.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/delete-allowed-policy.api.mdx deleted file mode 100644 index d334dbbc3e4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/delete-allowed-policy.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: delete-allowed-policy -title: "Removes a policy that should no longer be accepted in EDC negotiation." -description: "Removes a policy that should no longer be accepted in EDC negotiation." -sidebar_label: "Removes a policy that should no longer be accepted in EDC negotiation." -hide_title: true -hide_table_of_contents: true -api: {"description":"Removes a policy that should no longer be accepted in EDC negotiation.","operationId":"deleteAllowedPolicy","parameters":[{"in":"path","name":"policyId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Policy deletion failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"delete","path":"/irs/policies/{policyId}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Removes a policy that should no longer be accepted in EDC negotiation.","description":{"content":"Removes a policy that should no longer be accepted in EDC negotiation.","type":"text/plain"},"url":{"path":["irs","policies",":policyId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"policyId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Removes a policy that should no longer be accepted in EDC negotiation. - - - -Removes a policy that should no longer be accepted in EDC negotiation. - -
          Path Parameters
          - -OK - -
          - -Policy deletion failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-all-aspect-models.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-all-aspect-models.api.mdx deleted file mode 100644 index 044c49dccd6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-all-aspect-models.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-all-aspect-models -title: "Get all available aspect models from semantic hub or local models." -description: "Get all available aspect models from semantic hub or local models." -sidebar_label: "Get all available aspect models from semantic hub or local models." -hide_title: true -hide_table_of_contents: true -api: {"description":"Get all available aspect models from semantic hub or local models.","operationId":"getAllAspectModels","responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"lastUpdated":"2023-02-13T08:18:11.990659500Z","models":[{"urn":"urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt","name":"SingleLevelBomAsBuilt","status":"RELEASED","type":"BAMM","version":"1.0.0"},{"urn":"urn:bamm:io.catenax.serial_part:1.0.0#SerialPart","name":"SerialPart","status":"RELEASED","type":"BAMM","version":"1.0.0"}]}}},"schema":{"type":"object","additionalProperties":false,"properties":{"lastUpdated":{"type":"string"},"models":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"},"urn":{"type":"string"},"version":{"type":"string"}}}}}}}},"description":"Returns all available aspect models."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Aspect Models"],"method":"get","path":"/irs/aspectmodels","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Get all available aspect models from semantic hub or local models.","description":{"content":"Get all available aspect models from semantic hub or local models.","type":"text/plain"},"url":{"path":["irs","aspectmodels"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get all available aspect models from semantic hub or local models. - - - -Get all available aspect models from semantic hub or local models. - -
          - -Returns all available aspect models. - -
          Schema
            models object[]
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-allowed-policies.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-allowed-policies.api.mdx deleted file mode 100644 index f3721afaf98..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-allowed-policies.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-allowed-policies -title: "Lists the registered policies that should be accepted in EDC negotiation." -description: "Lists the registered policies that should be accepted in EDC negotiation." -sidebar_label: "Lists the registered policies that should be accepted in EDC negotiation." -hide_title: true -hide_table_of_contents: true -api: {"description":"Lists the registered policies that should be accepted in EDC negotiation.","operationId":"getAllowedPolicies","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"createdOn":{"type":"string","format":"date-time"},"permissions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","example":"USE","enum":["ACCESS","USE"]},"constraints":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"and":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"type":"string","example":"eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]},"rightOperand":{"type":"array","items":{"type":"string"},"example":["string"]}}}},"or":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"type":"string","example":"eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]},"rightOperand":{"type":"array","items":{"type":"string"},"example":["string"]}}}}}}}}}},"policyId":{"type":"string","example":"f253718e-a270-4367-901b-9d50d9bd8462"},"validUntil":{"type":"string","format":"date-time"}}}}}},"description":"Returns the policies."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"get","path":"/irs/policies","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Lists the registered policies that should be accepted in EDC negotiation.","description":{"content":"Lists the registered policies that should be accepted in EDC negotiation.","type":"text/plain"},"url":{"path":["irs","policies"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Lists the registered policies that should be accepted in EDC negotiation. - - - -Lists the registered policies that should be accepted in EDC negotiation. - -
          - -Returns the policies. - -
          Schema array
            permissions object[]
            constraints object[]
            and object[]
            or object[]
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch-order.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch-order.api.mdx deleted file mode 100644 index 1997632405e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch-order.api.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: get-batch-order -title: "Get a batch order for a given orderId." -description: "Get a batch order for a given orderId." -sidebar_label: "Get a batch order for a given orderId." -hide_title: true -hide_table_of_contents: true -api: {"description":"Get a batch order for a given orderId.","operationId":"getBatchOrder","parameters":[{"description":"Id of the order.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"orderId","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"batchChecksum":1,"batches":[{"batchId":"f253718e-a270-4367-901b-9d50d9bd8462","batchNumber":1,"batchProcessingState":"PARTIAL","batchUrl":"https://../irs/orders/f253718e-a270-4367-901b-9d50d9bd8462/batches/f253718e-a270-4367-901b-9d50d9bd8462","jobsInBatchChecksum":1}],"orderId":"f253718e-a270-4367-901b-9d50d9bd8462","state":"COMPLETED"}}},"schema":{"type":"object","additionalProperties":false,"description":"BatchOrderAck Payload Response.","properties":{"batchChecksum":{"type":"integer","format":"int32","description":"Expected number of batches in order."},"batches":{"type":"array","description":"Array of batches.","items":{"type":"object","additionalProperties":false,"description":"Batch model.","properties":{"batchId":{"type":"string","format":"uuid","description":"Id of the batch.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"batchNumber":{"type":"integer","format":"int32","description":"Sequential number begins with first (1.) batch."},"batchProcessingState":{"type":"string","description":"The state of the batch.","enum":["INITIALIZED","COMPLETED","PROCESSING","PARTIAL","ERROR"]},"batchTotal":{"type":"integer","format":"int32","description":"The total number of batches."},"completedOn":{"type":"string","format":"date-time"},"jobs":{"type":"array","description":"Array of jobs.","items":{"type":"object","additionalProperties":false,"properties":{"completedOn":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"startedOn":{"type":"string","format":"date-time"},"state":{"type":"string","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]}}},"maxItems":2147483647},"jobsInBatchChecksum":{"type":"integer","format":"int32","description":"Expected number of jobs in batch."},"orderId":{"type":"string","format":"uuid","description":"Id of the order.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"startedOn":{"type":"string","format":"date-time"},"totalJobs":{"type":"integer","format":"int32","description":"Total amount of jobs inside the order."}}},"maxItems":2147483647},"orderId":{"type":"string","format":"uuid","description":"Id of the order.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"state":{"type":"string","description":"The state of the order.","enum":["INITIALIZED","COMPLETED","PROCESSING","PARTIAL","ERROR"]}}}}},"description":"Get a batch order for a given orderId."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return Batch Order failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Batch Order with the requested orderId not found."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"get","path":"/irs/orders/{orderId}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Get a batch order for a given orderId.","description":{"content":"Get a batch order for a given orderId.","type":"text/plain"},"url":{"path":["irs","orders",":orderId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the order.","type":"text/plain"},"type":"any","value":"","key":"orderId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get a batch order for a given orderId. - - - -Get a batch order for a given orderId. - -
          Path Parameters
          - -Get a batch order for a given orderId. - -
          Schema
            batches object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Array of batches. - -
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            jobs object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Array of jobs. - -
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
          - -Return Batch Order failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Batch Order with the requested orderId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch.api.mdx deleted file mode 100644 index b14623e5941..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-batch.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: get-batch -title: "Get a batch with a given batchId for a given orderId." -description: "Get a batch with a given batchId for a given orderId." -sidebar_label: "Get a batch with a given batchId for a given orderId." -hide_title: true -hide_table_of_contents: true -api: {"description":"Get a batch with a given batchId for a given orderId.","operationId":"getBatch","parameters":[{"description":"Id of the order.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"orderId","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}},{"description":"Id of the batch.","example":"4bce40b8-64c7-41bf-9ca3-e9432c7fef98","in":"path","name":"batchId","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"batchId":"f253718e-a270-4367-901b-9d50d9bd8462","batchNumber":1,"batchProcessingState":"COMPLETED","batchTotal":1,"completedOn":"2022-02-03T14:48:54.709Z","jobs":[{"completedOn":"2022-02-03T14:48:54.709Z","id":"6c311d29-5753-46d4-b32c-19b918ea93b0","startedOn":"2022-02-03T14:48:54.709Z","state":"COMPLETED"}],"jobsInBatchChecksum":1,"orderId":"f253718e-a270-4367-901b-9d50d9bd8462","startedOn":"2022-02-03T14:48:54.709Z","totalJobs":1}}},"schema":{"type":"object","additionalProperties":false,"description":"Batch model.","properties":{"batchId":{"type":"string","format":"uuid","description":"Id of the batch.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"batchNumber":{"type":"integer","format":"int32","description":"Sequential number begins with first (1.) batch."},"batchProcessingState":{"type":"string","description":"The state of the batch.","enum":["INITIALIZED","COMPLETED","PROCESSING","PARTIAL","ERROR"]},"batchTotal":{"type":"integer","format":"int32","description":"The total number of batches."},"completedOn":{"type":"string","format":"date-time"},"jobs":{"type":"array","description":"Array of jobs.","items":{"type":"object","additionalProperties":false,"properties":{"completedOn":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"startedOn":{"type":"string","format":"date-time"},"state":{"type":"string","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]}}},"maxItems":2147483647},"jobsInBatchChecksum":{"type":"integer","format":"int32","description":"Expected number of jobs in batch."},"orderId":{"type":"string","format":"uuid","description":"Id of the order.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"startedOn":{"type":"string","format":"date-time"},"totalJobs":{"type":"integer","format":"int32","description":"Total amount of jobs inside the order."}}}}},"description":"Get a batch with a given batchId for a given orderId."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return batch failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Batch with the requested orderId and batchId not found."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"get","path":"/irs/orders/{orderId}/batches/{batchId}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Get a batch with a given batchId for a given orderId.","description":{"content":"Get a batch with a given batchId for a given orderId.","type":"text/plain"},"url":{"path":["irs","orders",":orderId","batches",":batchId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the order.","type":"text/plain"},"type":"any","value":"","key":"orderId"},{"disabled":false,"description":{"content":"(Required) Id of the batch.","type":"text/plain"},"type":"any","value":"","key":"batchId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Get a batch with a given batchId for a given orderId. - - - -Get a batch with a given batchId for a given orderId. - -
          Path Parameters
          - -Get a batch with a given batchId for a given orderId. - -
          Schema
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            jobs object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Array of jobs. - -
            = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
          - -Return batch failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Batch with the requested orderId and batchId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-bpn-investigation.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-bpn-investigation.api.mdx deleted file mode 100644 index 0cddde7bbf5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-bpn-investigation.api.mdx +++ /dev/null @@ -1,154 +0,0 @@ ---- -id: get-bpn-investigation -title: "Return job with additional supplyChainImpacted information." -description: "Return job with additional supplyChainImpacted information." -sidebar_label: "Return job with additional supplyChainImpacted information." -hide_title: true -hide_table_of_contents: true -api: {"description":"Return job with additional supplyChainImpacted information.","operationId":"getBPNInvestigation","parameters":[{"description":"Id of the job.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"bpns":[{"manufacturerId":"BPNL00000003AAXX","manufacturerName":"AB CD"}],"job":{"completedOn":"2022-02-03T14:48:54.709Z","createdOn":"2022-02-03T14:48:54.709Z","exception":{"errorDetail":"Timeout while requesting Digital Registry","exception":"IrsTimeoutException","exceptionDate":"2022-02-03T14:48:54.709Z"},"globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","id":"e5347c88-a921-11ec-b909-0242ac120002","lastModifiedOn":"2022-02-03T14:48:54.709Z","owner":"","parameter":{"aspects":["SerialPart","AddressAspect"],"bomLifecycle":"asBuilt","collectAspects":false,"depth":1,"direction":"downward","lookupBPNs":false},"startedOn":"2022-02-03T14:48:54.709Z","state":"COMPLETED","summary":{"asyncFetchedItems":{"completed":3,"failed":0,"running":0},"bpnLookups":{"completed":3,"failed":0}}},"relationships":[{"catenaXId":"urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447","linkedItem":{"assembledOn":"2022-02-03T14:48:54.709Z","childCatenaXId":"urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9","hasAlternatives":false,"lastModifiedOn":"2022-02-03T14:48:54.709Z","lifecycleContext":"asBuilt","quantity":{"measurementUnit":{"datatypeURI":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece","lexicalValue":"piece"},"quantityNumber":1}}}],"shells":[{"description":[{"language":"en","text":"The shell for a vehicle"}],"globalAssetId":"urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9","id":"urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8","idShort":"future concept x","specificAssetIds":[{"name":"engineserialid","value":"12309481209312"}],"submodelDescriptors":[{"description":[{"language":"en","text":"Provides base vehicle information"}],"endpoints":[{"interface":"HTTP","protocolInformation":{"endpointProtocol":"HTTPS","endpointProtocolVersion":["1.0"],"href":"https://catena-x.net/vehicle/basedetails/","subprotocol":"DSP","subprotocolBody":"id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net","subprotocolBodyEncoding":"plain"}}],"id":"urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d","idShort":"SingleLevelBomAsPlanned","semanticId":{"keys":[{"type":"ExternalReference","value":"urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned"}],"type":"ModelReference"}},{"description":[{"language":"en","text":"Provides base vehicle information"}],"endpoints":[{"interface":"HTTP","protocolInformation":{"endpointProtocol":"HTTPS","endpointProtocolVersion":["1.0"],"href":"https://catena-x.net/vehicle/partdetails/","subprotocol":"DSP","subprotocolBody":"id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net","subprotocolBodyEncoding":"plain"}}],"id":"urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90","idShort":"vehicle part details","semanticId":{"keys":[{"type":"Submodel","value":"urn:bamm:com.catenax.vehicle:0.1.1#PartDetails"}],"type":"ModelReference"}}]}],"submodels":[{"aspectType":"supply_chain_impacted","identification":"urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff","payload":{"supplyChainImpacted":"YES"}}],"tombstones":[{"catenaXId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","endpointURL":"https://catena-x.net/vehicle/partdetails/","processingError":{"errorDetail":"Details to reason of failure","lastAttempt":"2022-02-03T14:48:54.709Z","processStep":"SchemaValidation","retryCounter":0}}]}}},"schema":{"type":"object","additionalProperties":false,"description":"Container for a job with item graph.","properties":{"bpns":{"type":"array","description":"Collection of bpn mappings","items":{"type":"object","additionalProperties":false,"description":"Business partner id with name","properties":{"manufacturerId":{"type":"string","example":"BPNL00000003AYRE"},"manufacturerName":{"type":"string","example":"OEM A"}}},"maxItems":2147483647,"uniqueItems":true},"job":{"type":"object","additionalProperties":false,"description":"Executable unit with meta information and item graph result.","properties":{"completedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"createdOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"exception":{"type":"object","additionalProperties":false,"description":"Job error details.","properties":{"errorDetail":{"type":"string","example":"Timeout while requesting Digital Registry","description":"Detailed exception information.","maxLength":4000},"exception":{"type":"string","description":"Exception name.","example":"IrsTimeoutException","maxLength":100},"exceptionDate":{"type":"string","format":"date-time","description":"Datetime error occurs.","example":"2022-02-03T14:48:54.709Z"}}},"globalAssetId":{"type":"string","description":"Part global unique id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"id":{"type":"string","format":"uuid","example":"e5347c88-a921-11ec-b909-0242ac120002","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"lastModifiedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"owner":{"type":"string","description":"The IRS api consumer."},"parameter":{"type":"object","additionalProperties":false,"description":"Job parameter of job processing.","properties":{"aspects":{"type":"string","example":"SerialPart"},"bomLifecycle":{"type":"string","example":"asBuilt","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"callbackUrl":{"type":"string","example":"https://hostname.com/callback?id={id}&state={state}"},"collectAspects":{"type":"boolean","example":false},"depth":{"type":"integer","format":"int32","example":1,"maximum":2147483647,"minimum":0},"direction":{"type":"string","example":"upward","description":"Item graph traversal direction.","enum":["upward","downward"]},"lookupBPNs":{"type":"boolean","example":false}}},"startedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"state":{"type":"string","example":"COMPLETED","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]},"summary":{"type":"object","additionalProperties":false,"description":"Summary of the job with statistics of the job processing.","properties":{"asyncFetchedItems":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}},"bpnLookups":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}}}}},"required":["globalAssetId","id","state"]},"relationships":{"type":"array","description":"Relationships between parent and child items.","items":{"type":"object","additionalProperties":false,"description":"Relationships between parent and child items.","properties":{"aspectType":{"type":"string","example":"SingleLevelBomAsBuilt"},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"linkedItem":{"type":"object","additionalProperties":false,"description":"Set of child parts the parent object is assembled by (one structural level down).","properties":{"assembledOn":{"type":"string","format":"date-time","description":"Datetime of assembly.","example":"2022-02-03T14:48:54.709Z"},"childCatenaXId":{"type":"string","description":"CatenaX child global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"hasAlternatives":{"type":"boolean","description":"Expresses whether the part is built-in or whether it is one of several options."},"lastModifiedOn":{"type":"string","format":"date-time","description":"Last datetime item was modified.","example":"2022-02-03T14:48:54.709Z"},"lifecycleContext":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"],"example":"asBuilt"},"quantity":{"type":"object","additionalProperties":false,"description":"Quantity component.","properties":{"measurementUnit":{"type":"object","additionalProperties":false,"properties":{"datatypeURI":{"type":"string","example":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece"},"lexicalValue":{"type":"string","example":"piece"}}},"quantityNumber":{"type":"number","example":1,"format":"double","maximum":2147483647,"minimum":0}}}}}}},"maxItems":2147483647},"shells":{"type":"array","description":"AAS shells.","items":{"type":"object","additionalProperties":false,"description":"AAS shells.","properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"},"id":{"type":"string","example":"882fc530-b69b-4707-95f6-5dbc5e9baaa8"},"idShort":{"type":"string","example":"future concept x"},"specificAssetIds":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","example":"engineserialid"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"subjectId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"value":{"type":"string","example":"12309481209312"}}},"maxItems":2147483647},"submodelDescriptors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"endpoints":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"interface":{"type":"string","example":"HTTP"},"protocolInformation":{"type":"object","additionalProperties":false,"properties":{"href":{"example":"https://edc.data.plane/{path}/submodel","type":"string"},"endpointProtocol":{"example":"HTTPS","type":"string"},"endpointProtocolVersion":{"type":"array","example":["1.0"],"items":{"type":"string"}},"subprotocol":{"type":"string"},"subprotocolBody":{"type":"string"},"subprotocolBodyEncoding":{"type":"string"}}}}},"maxItems":2147483647},"id":{"type":"string"},"idShort":{"type":"string"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}}}},"maxItems":2147483647}}},"maxItems":2147483647},"submodels":{"type":"array","description":"Collection of requested Submodels","items":{"type":"object","additionalProperties":false,"description":"Submodel with identification of SubmodelDescriptor, aspect type and payload as String","properties":{"aspectType":{"type":"string"},"identification":{"type":"string"},"payload":{"type":"object","additionalProperties":{"type":"object"}}}},"maxItems":2147483647},"tombstones":{"type":"array","description":"Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL.","items":{"type":"object","additionalProperties":false,"description":"Tombstone with information about request failure","properties":{"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"endpointURL":{"type":"string"},"processingError":{"type":"object","additionalProperties":false,"properties":{"errorDetail":{"type":"string"},"lastAttempt":{"type":"string","format":"date-time"},"processStep":{"type":"string","enum":["SubmodelRequest","DigitalTwinRequest","SchemaValidation","SchemaRequest","BpdmRequest","BpdmValidation","UsagePolicyValidation","EssValidation"]},"retryCounter":{"type":"integer","format":"int32","maximum":2147483647,"minimum":0}}}}},"maxItems":2147483647}}}}},"description":"Return job with item graph for the requested id."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return job failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Job with the requested jobId not found."}},"security":[{"oAuth2":[]}],"tags":["Environmental and Social Standards"],"method":"get","path":"/ess/bpn/investigations/{id}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Return job with additional supplyChainImpacted information.","description":{"content":"Return job with additional supplyChainImpacted information.","type":"text/plain"},"url":{"path":["ess","bpn","investigations",":id"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the job.","type":"text/plain"},"type":"any","value":"","key":"id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Return job with additional supplyChainImpacted information. - - - -Return job with additional supplyChainImpacted information. - -
          Path Parameters
          - -Return job with item graph for the requested id. - -
          Schema
            bpns object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of bpn mappings - -
            job object
            - -Executable unit with meta information and item graph result. - -
            exception object
            - -Job error details. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>= 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            parameter object
            - -Job parameter of job processing. - -
            summary object
            - -Summary of the job with statistics of the job processing. - -
            asyncFetchedItems object
            - -Statistics of job execution. - -
            bpnLookups object
            - -Statistics of job execution. - -
            relationships object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Relationships between parent and child items. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            linkedItem object
            - -Set of child parts the parent object is assembled by (one structural level down). - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            quantity object
            - -Quantity component. - -
            measurementUnit object
            shells object[]
            - -**Possible values:** `<= 2147483647` - -
            - -AAS shells. - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            specificAssetIds object[]
            - -**Possible values:** `<= 2147483647` - -
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            subjectId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodelDescriptors object[]
            - -**Possible values:** `<= 2147483647` - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            endpoints object[]
            - -**Possible values:** `<= 2147483647` - -
            protocolInformation object
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodels object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of requested Submodels - -
            payload object
          • property name* object
          • tombstones object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            processingError object
          - -Return job failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Job with the requested jobId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-job-for-job-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-job-for-job-id.api.mdx deleted file mode 100644 index adc8c9a6a82..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-job-for-job-id.api.mdx +++ /dev/null @@ -1,262 +0,0 @@ ---- -id: get-job-for-job-id -title: "Return job with optional item graph result for requested id." -description: "Return job with optional item graph result for requested id." -sidebar_label: "Return job with optional item graph result for requested id." -hide_title: true -hide_table_of_contents: true -api: {"description":"Return job with optional item graph result for requested id.","operationId":"getJobForJobId","parameters":[{"description":"Id of the job.","example":"6c311d29-5753-46d4-b32c-19b918ea93b0","in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid","maxLength":36,"minLength":36}},{"description":"\\ Return job with current processed item graph. \\ Return job with item graph if job is in state COMPLETED, otherwise job.","in":"query","name":"returnUncompletedJob","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"bpns":[{"manufacturerId":"BPNL00000003AYRE","manufacturerName":"OEM A"}],"job":{"completedOn":"2022-02-03T14:48:54.709Z","createdOn":"2022-02-03T14:48:54.709Z","exception":{"errorDetail":"Timeout while requesting Digital Registry","exception":"IrsTimeoutException","exceptionDate":"2022-02-03T14:48:54.709Z"},"globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","id":"e5347c88-a921-11ec-b909-0242ac120002","lastModifiedOn":"2022-02-03T14:48:54.709Z","owner":"","parameter":{"aspects":["SerialPart","AddressAspect"],"bomLifecycle":"asBuilt","collectAspects":false,"depth":1,"direction":"downward","lookupBPNs":false},"startedOn":"2022-02-03T14:48:54.709Z","state":"COMPLETED","summary":{"asyncFetchedItems":{"completed":0,"failed":0,"running":0}}},"relationships":[{"catenaXId":"urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447","linkedItem":{"assembledOn":"2022-02-03T14:48:54.709Z","childCatenaXId":"urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9","hasAlternatives":false,"lastModifiedOn":"2022-02-03T14:48:54.709Z","lifecycleContext":"asBuilt","quantity":{"measurementUnit":{"datatypeURI":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece","lexicalValue":"piece"},"quantityNumber":1}}}],"shells":[{"description":[{"language":"en","text":"The shell for a vehicle"}],"globalAssetId":"urn:uuid:a45a2246-f6e1-42da-b47d-5c3b58ed62e9","id":"urn:uuid:882fc530-b69b-4707-95f6-5dbc5e9baaa8","idShort":"future concept x","specificAssetIds":[{"name":"engineserialid","value":"12309481209312"}],"submodelDescriptors":[{"description":[{"language":"en","text":"Provides base vehicle information"}],"endpoints":[{"interface":"HTTP","protocolInformation":{"endpointProtocol":"HTTPS","endpointProtocolVersion":["1.0"],"href":"https://catena-x.net/vehicle/basedetails/","subprotocol":"DSP","subprotocolBody":"id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net","subprotocolBodyEncoding":"plain"}}],"idShort":"SingleLevelBomAsPlanned","id":"urn:uuid:5d25a897-6571-4800-b98c-a3352fbf996d","semanticId":{"type":"ModelReference","keys":[{"type":"ExternalReference","value":"urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned"}]}},{"description":[{"language":"en","text":"Provides base vehicle information"}],"endpoints":[{"interface":"HTTP","protocolInformation":{"href":"https://catena-x.net/vehicle/partdetails/","endpointProtocol":"HTTPS","endpointProtocolVersion":["1.0"],"subprotocol":"DSP","subprotocolBody":"id=urn:uuid:c8159379-4613-48b8-ad52-6baed7afe923;dspEndpoint=https://irs-provider-controlplane3.dev.demo.catena-x.net","subprotocolBodyEncoding":"plain"}}],"id":"urn:uuid:dae4d249-6d66-4818-b576-bf52f3b9ae90","idShort":"vehicle part details","semanticId":{"keys":[{"type":"Submodel","value":"urn:bamm:com.catenax.vehicle:0.1.1#PartDetails"}],"type":"ModelReference"}}]}],"submodels":[{"aspectType":"urn:bamm:io.catenax.single_level_bom_as_built:1.0.0","identification":"urn:uuid:fc784d2a-5506-4e61-8e34-21600f8cdeff","payload":{"catenaXId":"urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447","childItems":[{"createdOn":"2022-02-03T14:48:54.709Z","catenaXId":"urn:uuid:d9bec1c6-e47c-4d18-ba41-0a5fe8b7f447","lastModifiedOn":"2022-02-03T14:48:54.709Z","lifecycleContext":"AsBuilt","quantity":{"measurementUnit":{"datatypeURI":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece","lexicalValue":"piece"},"quantityNumber":1}}]}}],"tombstones":[{"catenaXId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","endpointURL":"https://catena-x.net/vehicle/partdetails/","processingError":{"errorDetail":"Details to reason of failure","lastAttempt":"2022-02-03T14:48:54.709Z","processStep":"SchemaValidation","retryCounter":0}}]}}},"schema":{"type":"object","additionalProperties":false,"description":"Container for a job with item graph.","properties":{"bpns":{"type":"array","description":"Collection of bpn mappings","items":{"type":"object","additionalProperties":false,"description":"Business partner id with name","properties":{"manufacturerId":{"type":"string","example":"BPNL00000003AYRE"},"manufacturerName":{"type":"string","example":"OEM A"}}},"maxItems":2147483647,"uniqueItems":true},"job":{"type":"object","additionalProperties":false,"description":"Executable unit with meta information and item graph result.","properties":{"completedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"createdOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"exception":{"type":"object","additionalProperties":false,"description":"Job error details.","properties":{"errorDetail":{"type":"string","example":"Timeout while requesting Digital Registry","description":"Detailed exception information.","maxLength":4000},"exception":{"type":"string","description":"Exception name.","example":"IrsTimeoutException","maxLength":100},"exceptionDate":{"type":"string","format":"date-time","description":"Datetime error occurs.","example":"2022-02-03T14:48:54.709Z"}}},"globalAssetId":{"type":"string","description":"Part global unique id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"id":{"type":"string","format":"uuid","example":"e5347c88-a921-11ec-b909-0242ac120002","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"lastModifiedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"owner":{"type":"string","description":"The IRS api consumer."},"parameter":{"type":"object","additionalProperties":false,"description":"Job parameter of job processing.","properties":{"aspects":{"type":"string","example":"SerialPart"},"bomLifecycle":{"type":"string","example":"asBuilt","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"callbackUrl":{"type":"string","example":"https://hostname.com/callback?id={id}&state={state}"},"collectAspects":{"type":"boolean","example":false},"depth":{"type":"integer","format":"int32","example":1,"maximum":2147483647,"minimum":0},"direction":{"type":"string","example":"upward","description":"Item graph traversal direction.","enum":["upward","downward"]},"lookupBPNs":{"type":"boolean","example":false}}},"startedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"state":{"type":"string","example":"COMPLETED","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]},"summary":{"type":"object","additionalProperties":false,"description":"Summary of the job with statistics of the job processing.","properties":{"asyncFetchedItems":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}},"bpnLookups":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}}}}},"required":["globalAssetId","id","state"]},"relationships":{"type":"array","description":"Relationships between parent and child items.","items":{"type":"object","additionalProperties":false,"description":"Relationships between parent and child items.","properties":{"aspectType":{"type":"string","example":"SingleLevelBomAsBuilt"},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"linkedItem":{"type":"object","additionalProperties":false,"description":"Set of child parts the parent object is assembled by (one structural level down).","properties":{"assembledOn":{"type":"string","format":"date-time","description":"Datetime of assembly.","example":"2022-02-03T14:48:54.709Z"},"childCatenaXId":{"type":"string","description":"CatenaX child global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"hasAlternatives":{"type":"boolean","description":"Expresses whether the part is built-in or whether it is one of several options."},"lastModifiedOn":{"type":"string","format":"date-time","description":"Last datetime item was modified.","example":"2022-02-03T14:48:54.709Z"},"lifecycleContext":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"],"example":"asBuilt"},"quantity":{"type":"object","additionalProperties":false,"description":"Quantity component.","properties":{"measurementUnit":{"type":"object","additionalProperties":false,"properties":{"datatypeURI":{"type":"string","example":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece"},"lexicalValue":{"type":"string","example":"piece"}}},"quantityNumber":{"type":"number","example":1,"format":"double","maximum":2147483647,"minimum":0}}}}}}},"maxItems":2147483647},"shells":{"type":"array","description":"AAS shells.","items":{"type":"object","additionalProperties":false,"description":"AAS shells.","properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"},"id":{"type":"string","example":"882fc530-b69b-4707-95f6-5dbc5e9baaa8"},"idShort":{"type":"string","example":"future concept x"},"specificAssetIds":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","example":"engineserialid"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"subjectId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"value":{"type":"string","example":"12309481209312"}}},"maxItems":2147483647},"submodelDescriptors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"endpoints":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"interface":{"type":"string","example":"HTTP"},"protocolInformation":{"type":"object","additionalProperties":false,"properties":{"href":{"example":"https://edc.data.plane/{path}/submodel","type":"string"},"endpointProtocol":{"example":"HTTPS","type":"string"},"endpointProtocolVersion":{"type":"array","example":["1.0"],"items":{"type":"string"}},"subprotocol":{"type":"string"},"subprotocolBody":{"type":"string"},"subprotocolBodyEncoding":{"type":"string"}}}}},"maxItems":2147483647},"id":{"type":"string"},"idShort":{"type":"string"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}}}},"maxItems":2147483647}}},"maxItems":2147483647},"submodels":{"type":"array","description":"Collection of requested Submodels","items":{"type":"object","additionalProperties":false,"description":"Submodel with identification of SubmodelDescriptor, aspect type and payload as String","properties":{"aspectType":{"type":"string"},"identification":{"type":"string"},"payload":{"type":"object","additionalProperties":{"type":"object"}}}},"maxItems":2147483647},"tombstones":{"type":"array","description":"Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL.","items":{"type":"object","additionalProperties":false,"description":"Tombstone with information about request failure","properties":{"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"endpointURL":{"type":"string"},"processingError":{"type":"object","additionalProperties":false,"properties":{"errorDetail":{"type":"string"},"lastAttempt":{"type":"string","format":"date-time"},"processStep":{"type":"string","enum":["SubmodelRequest","DigitalTwinRequest","SchemaValidation","SchemaRequest","BpdmRequest","BpdmValidation","UsagePolicyValidation","EssValidation"]},"retryCounter":{"type":"integer","format":"int32","maximum":2147483647,"minimum":0}}}}},"maxItems":2147483647}}}}},"description":"Return job with item graph for the requested id."},"206":{"content":{"application/json":{"examples":{"complete":{"value":{"bpns":[],"job":{"completedOn":"2022-02-03T14:48:54.709Z","createdOn":"2022-02-03T14:48:54.709Z","exception":{"errorDetail":"Timeout while requesting Digital Registry","exception":"IrsTimeoutException","exceptionDate":"2022-02-03T14:48:54.709Z"},"globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","id":"e5347c88-a921-11ec-b909-0242ac120002","lastModifiedOn":"2022-02-03T14:48:54.709Z","owner":"","parameter":{"aspects":["SerialPart","AddressAspect"],"bomLifecycle":"asBuilt","collectAspects":false,"depth":1,"direction":"downward","lookupBPNs":false},"startedOn":"2022-02-03T14:48:54.709Z","state":"RUNNING","summary":{"asyncFetchedItems":{"completed":0,"failed":0,"running":0}}},"relationships":[],"submodels":[],"tombstones":[]}}},"schema":{"type":"object","additionalProperties":false,"description":"Container for a job with item graph.","properties":{"bpns":{"type":"array","description":"Collection of bpn mappings","items":{"type":"object","additionalProperties":false,"description":"Business partner id with name","properties":{"manufacturerId":{"type":"string","example":"BPNL00000003AYRE"},"manufacturerName":{"type":"string","example":"OEM A"}}},"maxItems":2147483647,"uniqueItems":true},"job":{"type":"object","additionalProperties":false,"description":"Executable unit with meta information and item graph result.","properties":{"completedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"createdOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"exception":{"type":"object","additionalProperties":false,"description":"Job error details.","properties":{"errorDetail":{"type":"string","example":"Timeout while requesting Digital Registry","description":"Detailed exception information.","maxLength":4000},"exception":{"type":"string","description":"Exception name.","example":"IrsTimeoutException","maxLength":100},"exceptionDate":{"type":"string","format":"date-time","description":"Datetime error occurs.","example":"2022-02-03T14:48:54.709Z"}}},"globalAssetId":{"type":"string","description":"Part global unique id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"id":{"type":"string","format":"uuid","example":"e5347c88-a921-11ec-b909-0242ac120002","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"},"lastModifiedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"owner":{"type":"string","description":"The IRS api consumer."},"parameter":{"type":"object","additionalProperties":false,"description":"Job parameter of job processing.","properties":{"aspects":{"type":"string","example":"SerialPart"},"bomLifecycle":{"type":"string","example":"asBuilt","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"callbackUrl":{"type":"string","example":"https://hostname.com/callback?id={id}&state={state}"},"collectAspects":{"type":"boolean","example":false},"depth":{"type":"integer","format":"int32","example":1,"maximum":2147483647,"minimum":0},"direction":{"type":"string","example":"upward","description":"Item graph traversal direction.","enum":["upward","downward"]},"lookupBPNs":{"type":"boolean","example":false}}},"startedOn":{"type":"string","format":"date-time","example":"2022-02-03T14:48:54.709Z"},"state":{"type":"string","example":"COMPLETED","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]},"summary":{"type":"object","additionalProperties":false,"description":"Summary of the job with statistics of the job processing.","properties":{"asyncFetchedItems":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}},"bpnLookups":{"type":"object","additionalProperties":false,"description":"Statistics of job execution.","properties":{"completed":{"type":"integer","format":"int32","description":"Number of completed item transfers.","maximum":2147483647,"minimum":0},"failed":{"type":"integer","format":"int32","description":"Number of failed item transfers.","maximum":2147483647,"minimum":0},"running":{"type":"integer","format":"int32","description":"Number of running item transfers.","maximum":2147483647,"minimum":0}}}}}},"required":["globalAssetId","id","state"]},"relationships":{"type":"array","description":"Relationships between parent and child items.","items":{"type":"object","additionalProperties":false,"description":"Relationships between parent and child items.","properties":{"aspectType":{"type":"string","example":"SingleLevelBomAsBuilt"},"bpn":{"type":"string","example":"BPNL00000003AYRE"},"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"linkedItem":{"type":"object","additionalProperties":false,"description":"Set of child parts the parent object is assembled by (one structural level down).","properties":{"assembledOn":{"type":"string","format":"date-time","description":"Datetime of assembly.","example":"2022-02-03T14:48:54.709Z"},"childCatenaXId":{"type":"string","description":"CatenaX child global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"hasAlternatives":{"type":"boolean","description":"Expresses whether the part is built-in or whether it is one of several options."},"lastModifiedOn":{"type":"string","format":"date-time","description":"Last datetime item was modified.","example":"2022-02-03T14:48:54.709Z"},"lifecycleContext":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"],"example":"asBuilt"},"quantity":{"type":"object","additionalProperties":false,"description":"Quantity component.","properties":{"measurementUnit":{"type":"object","additionalProperties":false,"properties":{"datatypeURI":{"type":"string","example":"urn:bamm:io.openmanufacturing:meta-model:1.0.0#piece"},"lexicalValue":{"type":"string","example":"piece"}}},"quantityNumber":{"type":"number","example":1,"format":"double","maximum":2147483647,"minimum":0}}}}}}},"maxItems":2147483647},"shells":{"type":"array","description":"AAS shells.","items":{"type":"object","additionalProperties":false,"description":"AAS shells.","properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"},"id":{"type":"string","example":"882fc530-b69b-4707-95f6-5dbc5e9baaa8"},"idShort":{"type":"string","example":"future concept x"},"specificAssetIds":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","example":"engineserialid"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"subjectId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}},"value":{"type":"string","example":"12309481209312"}}},"maxItems":2147483647},"submodelDescriptors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"administration":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":"string"},"version":{"type":"string"}}},"description":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"language":{"type":"string","example":"en"},"text":{"type":"string","example":"The shell for a vehicle"}}},"maxItems":2147483647},"endpoints":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"interface":{"type":"string","example":"HTTP"},"protocolInformation":{"type":"object","additionalProperties":false,"properties":{"href":{"example":"https://edc.data.plane/{path}/submodel","type":"string"},"endpointProtocol":{"example":"HTTPS","type":"string"},"endpointProtocolVersion":{"type":"array","example":["1.0"],"items":{"type":"string"}},"subprotocol":{"type":"string"},"subprotocolBody":{"type":"string"},"subprotocolBodyEncoding":{"type":"string"}}}}},"maxItems":2147483647},"id":{"type":"string"},"idShort":{"type":"string"},"semanticId":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","example":"urn:bamm:com.catenax.vehicle:0.1.1"},"value":{"type":"string","example":"Submodel"}}},"maxItems":2147483647}}}}},"maxItems":2147483647}}},"maxItems":2147483647},"submodels":{"type":"array","description":"Collection of requested Submodels","items":{"type":"object","additionalProperties":false,"description":"Submodel with identification of SubmodelDescriptor, aspect type and payload as String","properties":{"aspectType":{"type":"string"},"identification":{"type":"string"},"payload":{"type":"object","additionalProperties":{"type":"object"}}}},"maxItems":2147483647},"tombstones":{"type":"array","description":"Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL.","items":{"type":"object","additionalProperties":false,"description":"Tombstone with information about request failure","properties":{"catenaXId":{"type":"string","description":"CATENA-X global asset id in the format urn:uuid:uuid4.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"endpointURL":{"type":"string"},"processingError":{"type":"object","additionalProperties":false,"properties":{"errorDetail":{"type":"string"},"lastAttempt":{"type":"string","format":"date-time"},"processStep":{"type":"string","enum":["SubmodelRequest","DigitalTwinRequest","SchemaValidation","SchemaRequest","BpdmRequest","BpdmValidation","UsagePolicyValidation","EssValidation"]},"retryCounter":{"type":"integer","format":"int32","maximum":2147483647,"minimum":0}}}}},"maxItems":2147483647}}}}},"description":"Return job with current processed item graph for the requested id."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return job failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Not found","messages":["NotFoundException"],"statusCode":"404 NOT_FOUND"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Job with the requested jobId not found."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"get","path":"/irs/jobs/{id}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Return job with optional item graph result for requested id.","description":{"content":"Return job with optional item graph result for requested id.","type":"text/plain"},"url":{"path":["irs","jobs",":id"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"\\ Return job with current processed item graph. \\ Return job with item graph if job is in state COMPLETED, otherwise job.","type":"text/plain"},"key":"returnUncompletedJob","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) Id of the job.","type":"text/plain"},"type":"any","value":"","key":"id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Return job with optional item graph result for requested id. - - - -Return job with optional item graph result for requested id. - -
          Path Parameters
          Query Parameters
            Return job with current processed item graph. \\ Return job with item graph if job is in state COMPLETED, otherwise job.","in":"query","name":"returnUncompletedJob","required":false,"schema":{"type":"boolean","default":true}}}>
          - -Return job with item graph for the requested id. - -
          Schema
            bpns object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of bpn mappings - -
            job object
            - -Executable unit with meta information and item graph result. - -
            exception object
            - -Job error details. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>= 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            parameter object
            - -Job parameter of job processing. - -
            summary object
            - -Summary of the job with statistics of the job processing. - -
            asyncFetchedItems object
            - -Statistics of job execution. - -
            bpnLookups object
            - -Statistics of job execution. - -
            relationships object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Relationships between parent and child items. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            linkedItem object
            - -Set of child parts the parent object is assembled by (one structural level down). - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            quantity object
            - -Quantity component. - -
            measurementUnit object
            shells object[]
            - -**Possible values:** `<= 2147483647` - -
            - -AAS shells. - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            specificAssetIds object[]
            - -**Possible values:** `<= 2147483647` - -
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            subjectId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodelDescriptors object[]
            - -**Possible values:** `<= 2147483647` - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            endpoints object[]
            - -**Possible values:** `<= 2147483647` - -
            protocolInformation object
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodels object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of requested Submodels - -
            payload object
          • property name* object
          • tombstones object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            processingError object
          - -Return job with current processed item graph for the requested id. - -
          Schema
            bpns object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of bpn mappings - -
            job object
            - -Executable unit with meta information and item graph result. - -
            exception object
            - -Job error details. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>= 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            parameter object
            - -Job parameter of job processing. - -
            summary object
            - -Summary of the job with statistics of the job processing. - -
            asyncFetchedItems object
            - -Statistics of job execution. - -
            bpnLookups object
            - -Statistics of job execution. - -
            relationships object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Relationships between parent and child items. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            linkedItem object
            - -Set of child parts the parent object is assembled by (one structural level down). - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            quantity object
            - -Quantity component. - -
            measurementUnit object
            shells object[]
            - -**Possible values:** `<= 2147483647` - -
            - -AAS shells. - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            specificAssetIds object[]
            - -**Possible values:** `<= 2147483647` - -
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            subjectId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodelDescriptors object[]
            - -**Possible values:** `<= 2147483647` - -
            administration object
            description object[]
            - -**Possible values:** `<= 2147483647` - -
            endpoints object[]
            - -**Possible values:** `<= 2147483647` - -
            protocolInformation object
            semanticId object
            keys object[]
            - -**Possible values:** `<= 2147483647` - -
            submodels object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of requested Submodels - -
            payload object
          • property name* object
          • tombstones object[]
            - -**Possible values:** `<= 2147483647` - -
            - -Collection of not resolvable endpoints as tombstones. Including cause of error and endpoint URL. - -
            = 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            processingError object
          - -Return job failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - -Job with the requested jobId not found. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-jobs-by-job-states.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-jobs-by-job-states.api.mdx deleted file mode 100644 index c553f302c25..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/get-jobs-by-job-states.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: get-jobs-by-job-states -title: "Returns paginated jobs with state and execution times." -description: "Returns paginated jobs with state and execution times." -sidebar_label: "Returns paginated jobs with state and execution times." -hide_title: true -hide_table_of_contents: true -api: {"description":"Returns paginated jobs with state and execution times.","operationId":"getJobsByJobStates","parameters":[{"description":"Requested job states.","explode":false,"in":"query","name":"states","required":false,"schema":{"type":"array","items":{"type":"string","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]},"maxItems":2147483647}},{"description":"Zero-based page index (0..N)","in":"query","name":"page","required":false,"schema":{"type":"integer","default":0}},{"description":"The size of the page to be returned","in":"query","name":"size","required":false,"schema":{"type":"integer","default":20}},{"description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","in":"query","name":"sort","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"content":{"application/json":{"examples":{"complete":{"value":{"content":[{"completedOn":"2022-02-03T14:48:54.709Z","id":"6c311d29-5753-46d4-b32c-19b918ea93b0","startedOn":"2022-02-03T14:48:54.709Z","state":"COMPLETED"}],"pageCount":1,"pageNumber":0,"pageSize":10,"totalElements":1}}},"schema":{"type":"object","additionalProperties":false,"properties":{"content":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"completedOn":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"startedOn":{"type":"string","format":"date-time"},"state":{"type":"string","enum":["UNSAVED","INITIAL","RUNNING","TRANSFERS_FINISHED","COMPLETED","CANCELED","ERROR"]}}}},"pageCount":{"type":"integer","format":"int32"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"}}}}},"description":"Paginated list of jobs with state and execution times for requested job states."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Return jobs for requested job states failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"get","path":"/irs/jobs","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Returns paginated jobs with state and execution times.","description":{"content":"Returns paginated jobs with state and execution times.","type":"text/plain"},"url":{"path":["irs","jobs"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Requested job states.","type":"text/plain"},"key":"states","value":""},{"disabled":false,"description":{"content":"Zero-based page index (0..N)","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"The size of the page to be returned","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","type":"text/plain"},"key":"sort","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns paginated jobs with state and execution times. - - - -Returns paginated jobs with state and execution times. - -
          Query Parameters
          - -Paginated list of jobs with state and execution times for requested job states. - -
          Schema
            content object[]
          - -Return jobs for requested job states failed. - -
          Schema
          - -No valid authentication credentials. - -
          Schema
          - -Authorization refused by server. - -
          Schema
          - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx deleted file mode 100644 index 5238d2efac3..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: irs-api -title: "IRS API" -description: "The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 2.1.0 - -# IRS API - - - -The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners. - -

          Authentication

          Security Scheme Type:oauth2
          clientCredentials OAuth Flow:

          Token URL: https://localhost

          Scopes:
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/receive-edc-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/receive-edc-notification.api.mdx deleted file mode 100644 index a072f39b7bd..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/receive-edc-notification.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: receive-edc-notification -title: "Accepts notifications sent via EDC." -description: "Accepts notifications via EDC. Notifications are filtered by their type and processed accordingly." -sidebar_label: "Accepts notifications sent via EDC." -hide_title: true -hide_table_of_contents: true -api: {"description":"Accepts notifications via EDC. Notifications are filtered by their type and processed accordingly.","operationId":"receiveEdcNotification","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"content":{"type":"object","additionalProperties":false,"properties":{"hops":{"type":"integer","format":"int32"},"bpn":{"type":"string"},"result":{"type":"string"}}},"header":{"type":"object","additionalProperties":false,"description":"EDC notification header information","properties":{"notificationId":{"type":"string"},"notificationType":{"type":"string"},"originalNotificationId":{"type":"string"},"recipientBpn":{"type":"string"},"replyAssetId":{"type":"string"},"replyAssetSubPath":{"type":"string"},"senderBpn":{"type":"string"},"senderEdc":{"type":"string"}},"required":["notificationId","notificationType","recipientBpn","senderBpn"]}},"required":["content","header"]}}},"required":true},"responses":{"200":{"description":"Notification received successfully."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Notification malformed."}},"tags":["Environmental and Social Standards"],"method":"post","path":"/ess/notification/receive","servers":[{"url":"http://localhost:8080"}],"security":[{"oAuth2":[]}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"content":{"hops":0,"bpn":"string","result":"string"},"header":{"notificationId":"string","notificationType":"string","originalNotificationId":"string","recipientBpn":"string","replyAssetId":"string","replyAssetSubPath":"string","senderBpn":"string","senderEdc":"string"}},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Accepts notifications sent via EDC.","description":{"content":"Accepts notifications via EDC. Notifications are filtered by their type and processed accordingly.","type":"text/plain"},"url":{"path":["ess","notification","receive"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Accepts notifications sent via EDC. - - - -Accepts notifications via EDC. Notifications are filtered by their type and processed accordingly. - -
            Request Body required
              content object required
              header object required
              - -EDC notification header information - -
            - -Notification received successfully. - -
            - -Notification malformed. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-allowed-policy.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-allowed-policy.api.mdx deleted file mode 100644 index 4f9ff2d31ed..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-allowed-policy.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: register-allowed-policy -title: "Register a policy that should be accepted in EDC negotiation." -description: "Register a policy that should be accepted in EDC negotiation." -sidebar_label: "Register a policy that should be accepted in EDC negotiation." -hide_title: true -hide_table_of_contents: true -api: {"description":"Register a policy that should be accepted in EDC negotiation.","operationId":"registerAllowedPolicy","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Request to add a policy","properties":{"permissions":{"type":"array","description":"List of permissions that will be added to the Policy on creation.","items":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","example":"USE","enum":["ACCESS","USE"]},"constraints":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"and":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"type":"string","example":"eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]},"rightOperand":{"type":"array","items":{"type":"string"},"example":["string"]}}}},"or":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"leftOperand":{"type":"string","example":"string"},"operator":{"type":"string","example":"eq","enum":["eq","neq","lt","gt","in","lteq","gteq","isA","hasPart","isPartOf","isOneOf","isAllOf","isNoneOf"]},"rightOperand":{"type":"array","items":{"type":"string"},"example":["string"]}}}}}}}}}},"policyId":{"type":"string","description":"The ID of the policy to add"},"validUntil":{"type":"string","format":"date-time","description":"Timestamp after which the policy will no longer be accepted in negotiations"}},"required":["permissions","policyId","validUntil"]}}},"required":true},"responses":{"201":{"description":"Created"},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Policy registration failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"post","path":"/irs/policies","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"permissions":[{"action":"USE","constraints":[{"and":[{"leftOperand":"string","operator":"eq","rightOperand":["string"]}],"or":[{"leftOperand":"string","operator":"eq","rightOperand":["string"]}]}]}],"policyId":"string","validUntil":"2023-12-08"},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Register a policy that should be accepted in EDC negotiation.","description":{"content":"Register a policy that should be accepted in EDC negotiation.","type":"text/plain"},"url":{"path":["irs","policies"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Register a policy that should be accepted in EDC negotiation. - - - -Register a policy that should be accepted in EDC negotiation. - -
            Request Body required
              permissions object[] required
              - -List of permissions that will be added to the Policy on creation. - -
              constraints object[]
              and object[]
              or object[]
            - -Created - -
            - -Policy registration failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-bpn-investigation.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-bpn-investigation.api.mdx deleted file mode 100644 index f2d0777f349..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-bpn-investigation.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: register-bpn-investigation -title: "Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId." -description: "Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId." -sidebar_label: "Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId." -hide_title: true -hide_table_of_contents: true -api: {"description":"Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.","operationId":"registerBPNInvestigation","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"The requested job definition.","properties":{"bomLifecycle":{"example":"asPlanned","type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"callbackUrl":{"type":"string","description":"Callback url to notify requestor when job processing is finished. There are two uri variable placeholders that can be used: jobId and jobState.","example":"https://hostname.com/callback?jobId={jobId}&jobState={jobState}"},"key":{"type":"object","additionalProperties":false,"description":"Key object contains required attributes for identify part chain entry node.","properties":{"bpn":{"type":"string","description":"BPN of partner providing the initial asset","example":"BPNL0123456789XX","maxLength":16,"minLength":16},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},"required":["bpn","globalAssetId"]},"incidentBPNSs":{"type":"array","items":{"type":"string","pattern":"(BPN)[LSA][\\w\\d]{10}[\\w\\d]{2}"},"maxItems":2147483647}},"required":["incidentBPNSs","key"]}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"complete":{"value":{"id":"6c311d29-5753-46d4-b32c-19b918ea93b0"}}},"schema":{"type":"object","additionalProperties":false,"description":"The unique jobId handle of the just processed job.","properties":{"id":{"type":"string","format":"uuid","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"}}}}},"description":"Returns id of registered job."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Job registration failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Environmental and Social Standards"],"method":"post","path":"/ess/bpn/investigations","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"bomLifecycle":"asPlanned","callbackUrl":"https://hostname.com/callback?jobId={jobId}&jobState={jobState}","key":{"bpn":"BPNL0123456789XX","globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"},"incidentBPNSs":["string"]},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.","description":{"content":"Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.","type":"text/plain"},"url":{"path":["ess","bpn","investigations"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId. - - - -Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId. - -
            Request Body required
              key object required
              - -Key object contains required attributes for identify part chain entry node. - -
              = 16 characters` and `<= 16 characters`"} defaultValue={undefined}>= 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            - -Returns id of registered job. - -
            Schema
              = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            - -Job registration failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-ess-investigation-order.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-ess-investigation-order.api.mdx deleted file mode 100644 index 02be16d3cb1..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-ess-investigation-order.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: register-ess-investigation-order -title: "Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches." -description: "Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches." -sidebar_label: "Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches." -hide_title: true -hide_table_of_contents: true -api: {"description":"Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches.","operationId":"registerESSInvestigationOrder","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Request body for registering a new Batch Order for ESS Investigation Job.","properties":{"batchSize":{"type":"integer","format":"int32","default":20,"description":"Size of the batch.","maximum":100,"minimum":10},"batchStrategy":{"type":"string","description":"The strategy how the batch is processed internally in IRS.","enum":["PRESERVE_BATCH_JOB_ORDER","PRESERVE_JOB_ORDER","PRESERVE_BATCH_ORDER"]},"bomLifecycle":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"callbackUrl":{"type":"string","description":"Callback url to notify requestor when job processing is finished. There are four uri variable placeholders that can be used: orderId, batchId, orderState and batchState.","example":"https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}"},"incidentBPNSs":{"type":"array","items":{"type":"string","pattern":"(BPN)[LSA][\\w\\d]{10}[\\w\\d]{2}"},"maxItems":2147483647},"jobTimeout":{"type":"integer","format":"int32","default":3600,"description":"Timeout in seconds for each job processing inside the complete order.","maximum":7200,"minimum":60},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"description":"Key object contains required attributes for identify part chain entry node.","properties":{"bpn":{"type":"string","description":"BPN of partner providing the initial asset","example":"BPNL0123456789XX","maxLength":16,"minLength":16},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},"required":["bpn","globalAssetId"]},"maxItems":2147483647},"timeout":{"type":"integer","format":"int32","default":43200,"description":"Timeout in seconds for the complete batch order processing.","maximum":86400,"minimum":60}},"required":["incidentBPNSs","keys"]}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"complete":{"value":{"id":"6c311d29-5753-46d4-b32c-19b918ea93b0"}}},"schema":{"type":"object","additionalProperties":false,"description":"Id of the created Batch order.","properties":{"id":{"type":"string","format":"uuid","description":"Id of the Batch Order."}}}}},"description":"Returns orderId of registered Batch order."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Batch Order registration failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Environmental and Social Standards"],"method":"post","path":"/irs/ess/orders","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"batchSize":20,"batchStrategy":"PRESERVE_BATCH_JOB_ORDER","bomLifecycle":"asBuilt","callbackUrl":"https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}","incidentBPNSs":["string"],"jobTimeout":3600,"keys":[{"bpn":"BPNL0123456789XX","globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"}],"timeout":43200},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches.","description":{"content":"Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches.","type":"text/plain"},"url":{"path":["irs","ess","orders"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches. - - - -Registers an order for an ESS investigation with an array of {globalAssetIds}. Each globalAssetId will be processed in an separate job, grouped in batches. - -
            Request Body required
              = 10` and `<= 100`"} defaultValue={20}>= 60` and `<= 7200`"} defaultValue={3600}>
              keys object[] required
              - -**Possible values:** `<= 2147483647` - -
              = 16 characters` and `<= 16 characters`"} defaultValue={undefined}>= 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
              = 60` and `<= 86400`"} defaultValue={43200}>
            - -Returns orderId of registered Batch order. - -
            Schema
            - -Batch Order registration failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-job-for-global-asset-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-job-for-global-asset-id.api.mdx deleted file mode 100644 index 3a167566633..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-job-for-global-asset-id.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: register-job-for-global-asset-id -title: "Register an IRS job to retrieve an item graph for given {globalAssetId}." -description: "Register an IRS job to retrieve an item graph for given {globalAssetId}." -sidebar_label: "Register an IRS job to retrieve an item graph for given {globalAssetId}." -hide_title: true -hide_table_of_contents: true -api: {"description":"Register an IRS job to retrieve an item graph for given {globalAssetId}.","operationId":"registerJobForGlobalAssetId","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"The requested job definition.","properties":{"aspects":{"type":"array","description":"List of aspect names that will be collected if \\ flag is set to true.","items":{"type":"string"},"maxItems":2147483647},"bomLifecycle":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"callbackUrl":{"type":"string","description":"Callback url to notify requestor when job processing is finished. There are two uri variable placeholders that can be used: id and state.","example":"https://hostname.com/callback?id={id}&state={state}"},"collectAspects":{"type":"boolean","description":"Flag to specify whether aspects should be requested and collected. Default is false."},"depth":{"type":"integer","format":"int32","description":"Max depth of the item graph returned. If no depth is set item graph with max depth is returned.","maximum":100,"minimum":1},"direction":{"type":"string","default":"downward","description":"Item graph traversal direction.","enum":["upward","downward"]},"key":{"type":"object","additionalProperties":false,"description":"Key object contains required attributes for identify part chain entry node.","properties":{"bpn":{"type":"string","description":"BPN of partner providing the initial asset","example":"BPNL0123456789XX","maxLength":16,"minLength":16},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},"required":["bpn","globalAssetId"]},"lookupBPNs":{"type":"boolean","description":"Flag to specify whether BPNs should be collected and resolved via the configured BPDM URL. Default is false."}},"required":["key"]}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"complete":{"value":{"id":"6c311d29-5753-46d4-b32c-19b918ea93b0"}}},"schema":{"type":"object","additionalProperties":false,"description":"The unique jobId handle of the just processed job.","properties":{"id":{"type":"string","format":"uuid","description":"Id of the job.","maxLength":36,"minLength":36,"pattern":"/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i"}}}}},"description":"Returns id of registered job."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Job registration failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"post","path":"/irs/jobs","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"aspects":["string"],"bomLifecycle":"asBuilt","callbackUrl":"https://hostname.com/callback?id={id}&state={state}","collectAspects":true,"depth":0,"direction":"downward","key":{"bpn":"BPNL0123456789XX","globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"},"lookupBPNs":true},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Register an IRS job to retrieve an item graph for given {globalAssetId}.","description":{"content":"Register an IRS job to retrieve an item graph for given {globalAssetId}.","type":"text/plain"},"url":{"path":["irs","jobs"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Register an IRS job to retrieve an item graph for given {globalAssetId}. - - - -Register an IRS job to retrieve an item graph for given {globalAssetId}. - -
            Request Body required
              flag is set to true."} schemaName={"string[]"} qualifierMessage={"**Possible values:** `<= 2147483647`"} defaultValue={undefined}>= 1` and `<= 100`"} defaultValue={undefined}>
              key object required
              - -Key object contains required attributes for identify part chain entry node. - -
              = 16 characters` and `<= 16 characters`"} defaultValue={undefined}>= 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
            - -Returns id of registered job. - -
            Schema
              = 36 characters` and `<= 36 characters`, Value must match regular expression `/^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i`"} defaultValue={undefined}>
            - -Job registration failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-order.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-order.api.mdx deleted file mode 100644 index 508715809f7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/register-order.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: register-order -title: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches." -description: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches." -sidebar_label: "Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches." -hide_title: true -hide_table_of_contents: true -api: {"description":"Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches.","operationId":"registerOrder","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Request body for registering a new Batch Order.","properties":{"aspects":{"type":"array","items":{"type":"string"},"maxItems":2147483647},"batchSize":{"type":"integer","format":"int32","default":20,"description":"Size of the batch.","maximum":100,"minimum":10},"batchStrategy":{"type":"string","description":"The strategy how the batch is processed internally in IRS.","enum":["PRESERVE_BATCH_JOB_ORDER","PRESERVE_JOB_ORDER","PRESERVE_BATCH_ORDER"]},"bomLifecycle":{"type":"string","description":"The lifecycle context in which the child part was assembled into the parent part.","enum":["asBuilt","asPlanned","asSpecified"]},"callbackUrl":{"type":"string","description":"Callback url to notify requestor when job processing is finished. There are four uri variable placeholders that can be used: orderId, batchId, orderState and batchState.","example":"https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}"},"collectAspects":{"type":"boolean","description":"Flag to specify whether aspects should be requested and collected. Default is false."},"depth":{"type":"integer","format":"int32","description":"Max depth of the item graph returned. If no depth is set item graph with max depth is returned.","maximum":100,"minimum":1},"direction":{"type":"string","default":"downward","description":"Item graph traversal direction.","enum":["upward","downward"]},"jobTimeout":{"type":"integer","format":"int32","default":3600,"description":"Timeout in seconds for each job processing inside the complete order.","maximum":7200,"minimum":60},"keys":{"type":"array","items":{"type":"object","additionalProperties":false,"description":"Key object contains required attributes for identify part chain entry node.","properties":{"bpn":{"type":"string","description":"BPN of partner providing the initial asset","example":"BPNL0123456789XX","maxLength":16,"minLength":16},"globalAssetId":{"type":"string","description":"Id of global asset.","example":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0","maxLength":45,"minLength":45,"pattern":"^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},"required":["bpn","globalAssetId"]},"maxItems":2147483647},"lookupBPNs":{"type":"boolean","description":"Flag to specify whether BPNs should be collected and resolved via the configured BPDM URL. Default is false."},"timeout":{"type":"integer","format":"int32","default":43200,"description":"Timeout in seconds for the complete batch order processing.","maximum":86400,"minimum":60}},"required":["keys"]}}},"required":true},"responses":{"201":{"content":{"application/json":{"examples":{"complete":{"value":{"id":"6c311d29-5753-46d4-b32c-19b918ea93b0"}}},"schema":{"type":"object","additionalProperties":false,"description":"Id of the created Batch order.","properties":{"id":{"type":"string","format":"uuid","description":"Id of the Batch Order."}}}}},"description":"Returns orderId of registered Batch order."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Batch Order registration failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"post","path":"/irs/orders","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"aspects":["string"],"batchSize":20,"batchStrategy":"PRESERVE_BATCH_JOB_ORDER","bomLifecycle":"asBuilt","callbackUrl":"https://hostname.com/callback?orderId={orderId}&batchId={batchId}&orderState={orderState}&batchState={batchState}","collectAspects":true,"depth":0,"direction":"downward","jobTimeout":3600,"keys":[{"bpn":"BPNL0123456789XX","globalAssetId":"urn:uuid:6c311d29-5753-46d4-b32c-19b918ea93b0"}],"lookupBPNs":true,"timeout":43200},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches.","description":{"content":"Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches.","type":"text/plain"},"url":{"path":["irs","orders"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches. - - - -Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches. - -
            Request Body required
              = 10` and `<= 100`"} defaultValue={20}>= 1` and `<= 100`"} defaultValue={undefined}>= 60` and `<= 7200`"} defaultValue={3600}>
              keys object[] required
              - -**Possible values:** `<= 2147483647` - -
              = 16 characters` and `<= 16 characters`"} defaultValue={undefined}>= 45 characters` and `<= 45 characters`, Value must match regular expression `^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`"} defaultValue={undefined}>
              = 60` and `<= 86400`"} defaultValue={43200}>
            - -Returns orderId of registered Batch order. - -
            Schema
            - -Batch Order registration failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js deleted file mode 100644 index c072d04232a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/irs-api"},{"type":"category","label":"Environmental- and Social Standards","link":{"type":"generated-index","title":"Environmental- and Social Standards","slug":"/category/kits/Data Chain Kit/Software Development View/Job Api/environmental-and-social-standards"},"items":[{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/register-bpn-investigation","label":"Registers an IRS job to start an investigation if a given bpn is contained in a part chain of a given globalAssetId.","className":"api-method post"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-bpn-investigation","label":"Return job with additional supplyChainImpacted information.","className":"api-method get"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/receive-edc-notification","label":"Accepts notifications sent via EDC.","className":"api-method post"}]},{"type":"category","label":"Item Relationship Service","link":{"type":"generated-index","title":"Item Relationship Service","slug":"/category/kits/Data Chain Kit/Software Development View/Job Api/item-relationship-service"},"items":[{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-jobs-by-job-states","label":"Returns paginated jobs with state and execution times.","className":"api-method get"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/register-job-for-global-asset-id","label":"Register an IRS job to retrieve an item graph for given {globalAssetId}.","className":"api-method post"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-job-for-job-id","label":"Return job with optional item graph result for requested id.","className":"api-method get"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/cancel-job-by-job-id","label":"Cancel job for requested jobId.","className":"api-method put"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/register-order","label":"Registers an IRS order with an array of {globalAssetIds}. Each globalAssetId will be processed in an IRS Job, grouped in batches.","className":"api-method post"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-batch-order","label":"Get a batch order for a given orderId.","className":"api-method get"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/cancel-batch-order","label":"Cancel a batch order for a given orderId.","className":"api-method put"},{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-batch","label":"Get a batch with a given batchId for a given orderId.","className":"api-method get"}]},{"type":"category","label":"Aspect Models","link":{"type":"generated-index","title":"Aspect Models","slug":"/category/kits/Data Chain Kit/Software Development View/Job Api/aspect-models"},"items":[{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/get-all-aspect-models","label":"Get all available aspect models from semantic hub or local models.","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/update-allowed-policy.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/update-allowed-policy.api.mdx deleted file mode 100644 index 6b905171f9d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/Job Api/update-allowed-policy.api.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: update-allowed-policy -title: "Updates an existing policy with new validUntil value." -description: "Updates an existing policy with new validUntil value." -sidebar_label: "Updates an existing policy with new validUntil value." -hide_title: true -hide_table_of_contents: true -api: {"description":"Updates an existing policy with new validUntil value.","operationId":"updateAllowedPolicy","parameters":[{"in":"path","name":"policyId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Request to add a policy","properties":{"validUntil":{"type":"string","format":"date-time","description":"Timestamp after which the policy will no longer be accepted in negotiations"}},"required":["validUntil"]}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Bad request","messages":["BadRequestException"],"statusCode":"400 BAD_REQUEST"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Policy update failed."},"401":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Unauthorized","messages":["UnauthorizedException"],"statusCode":"401 UNAUTHORIZED"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"No valid authentication credentials."},"403":{"content":{"application/json":{"examples":{"error":{"value":{"error":"Forbidden","messages":["ForbiddenException"],"statusCode":"403 FORBIDDEN"}}},"schema":{"type":"object","additionalProperties":false,"description":"Error response.","properties":{"error":{"type":"string","description":"Error."},"messages":{"type":"array","description":"List of error messages.","items":{"type":"string"},"maxItems":2147483647},"statusCode":{"type":"string","description":"Error code.","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]}}}}},"description":"Authorization refused by server."}},"security":[{"oAuth2":[]}],"tags":["Item Relationship Service"],"method":"put","path":"/irs/policies/{policyId}","servers":[{"url":"http://localhost:8080"}],"securitySchemes":{"oAuth2":{"flows":{"clientCredentials":{"scopes":{},"tokenUrl":"https://localhost"}},"type":"oauth2"}},"jsonRequestBodyExample":{"validUntil":"2023-12-08"},"info":{"description":"The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.","title":"IRS API","version":"2.1.0"},"postman":{"name":"Updates an existing policy with new validUntil value.","description":{"content":"Updates an existing policy with new validUntil value.","type":"text/plain"},"url":{"path":["irs","policies",":policyId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"policyId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"oauth2","oauth2":[]}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/Data Chain Kit/Software Development View/Job Api/irs-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Updates an existing policy with new validUntil value. - - - -Updates an existing policy with new validUntil value. - -
            Path Parameters
            Request Body required
            - -OK - -
            - -Policy update failed. - -
            Schema
            - -No valid authentication credentials. - -
            Schema
            - -Authorization refused by server. - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index b59aa1b35dd..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -id: Specification -title: Specification -sidebar_position: 2 ---- - -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) - -### Data Chain KIT - -## IRS REST API - -The IRS Rest API provides an easy to use Interface for applications to access cross company data chains. - -## IRS REST API Standard - -The IRS REST API is standardized through the Catena-X e.V. and can be found here: - -- [> CX-0005 Item Relationship Service API](https://catena-x.net/de/standard-library) - -- [> CX-0045 Data Chain Template](https://catena-x.net/de/standard-library) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_adoption-view.md deleted file mode 100644 index 3225f5db623..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_adoption-view.md +++ /dev/null @@ -1,438 +0,0 @@ ---- -id: Adoption View Data Chain Kit -title: Adoption View -description: 'Data Chain Kit' -sidebar_position: 1 ---- - -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) - -### Data Chain Kit - -## Vision & Mission - -### Vision - -DataChainKit brings valuable data chain information to your use-cases and services through connected data that can help -Business Owner and Catena-X participants to be up-to-date and prepared. It's easy to use the DataChainKit with an Open -Source Software package, which can easily deployed via HELM or docker-compose. The DataChainKit enables to apply -business logic along a distributed data chains, for example aggregation of certificates along the value chain. Also, -ad-hoc provisioning of continuous data chains across company boundaries for empowerment of use cases Circular Economy, -Traceability, Quality and the European supply chain act. - -(#GreenIT#DataSovereignty#Interoperability#ConnectedData) - -### Mission - -The Data Chain KIT provides a reference implementation as functional federated component to handle ad-hoc data chains -across n-tiers within the Catena-X network. To realize these data chains, the Data Chain Kit relies on data models of -the Traceability use case and provides the federated data chains to customers or applications. Furthermore, the target -picture of the IRS includes the enablement of new business areas by means of data chains along the value chain in the -automotive industry. - -All described specifications in the KIT are based on Catena-X standards and refer to other Catena-X KITs like the -Connector KIT (EDC) and Digital Twin Registry to ensure interoperability and data sovereignty according to IDSA and -Gaia-X principles. - -### Customer Journey - -With the Data Chain KIT, we support the Catena-X customer journey for our adopters and solutions providers. - -There are few steps for your Customer Journey: - -- Step 1: Inform yourself & take the decision to become part -- Step 2: Connect your company & teams to Catena-X. -- Step 3: Boost data readiness and governance -- Step 4: Adopt a data driven business process and create instant value -- Step 5: Utilize the full power of collaboration in your business team - - - -## Business Value - -### IRS Iterative - -- Application and Service provider can reduce integrate or migrate due to one API specification -- The IRS Iterative API enables an easy interface for complex network tasks -- Potential to scale and optimize network traffic -- The IRS Iterative API is providing one Endpoint to access and collect widely distributed data -- The Data Chain Kit enables interoperability for Data Chains along the value chain to extend - -### IRS Recursive - -- Application and Service provider can reduce integrate or migrate due to one API specification -- The IRS Recursive API enables an easy interface for complex network tasks -- The IRS Recursive API enables different use cases which collect insights over distributed data by not disclosing the - supply chain -- The solution enables interoperability with other solutions along the value chain to extend - - - -## Use Case - -### Environmental Social Responsibility (ESR) - -_Use Case for achieving compliance for Environmental Social Responsibility (ESR) for a component in the supply chain ( -multi-tier)_ - -In the use case, it was assumed that a company in the supply chain is considered "compliant" if that company can show -the ISO 14001 certificate. Presenting means that either the company itself provides it as a data provider or deposits it -in a certificate repository with a service provider. - -The benefit of the solution is to obtain an automated overview of the supply chain's compliance and to be able to check -it again and again on a cyclical basis. The companies in the supply chain are not disclosed, which follows the Catena-X -specifications. - -The decentralized implementation at Catena-X "traverses" from the OEM to the direct supplier and from the direct -supplier to its next supplier and thus through the supply chain for a specific component. Each partner determines its -direct supplier automatically via the parts list stored by it in Catena-X's Item Relationship Service (IRS). - -Aggregated information on the compliance of the upstream suppliers is returned to the OEM via each stage of the supply -chain. From this, the OEM can finally read how many companies are compliant and how many are non-compliant in its supply -chain for the component. - -The names of the suppliers further down the supply chain are not disclosed to follow the Catena-X data sovereignty -principle one-up-one-down, but each intermediate level sees which of the direct suppliers are non-compliant and can act, -so that perspectively the whole supply chain is assessed as compliant. - -### Environmental and Social Standards (ESS) Top-Down - -With the entry into force of the German Supply Chain Due Diligence Act as from January 1st, 2023, German companies are -obliged to implement the corresponding requirements of this law. In addition, the following European directives on this -subject have also been adopted: EU regulation 2018/858. This regulation is legally binding to all EU member states. - -This use-case facilitates the [IRS Recursive](#irs-recursive-1) approach and enables data providers to provide the BoM -as planned aspect models via the Catena-X defined solution -stack (i.e. EDC). The BoM as planned aspect models consists of three aspect models: - -- SingleLevelBomAsPlanned - The single-level bill of material (BoM) represents one sub-level of an assembly and does not - include any lower-level subassemblies. In the As-Planned lifecycle state all variants are covered ("120% BoM"). If - multiple versions of child parts exist that can be assembled into the same parent part, all versions of the child part - are included in the BoM. If there are multiple suppliers for the same child part, each supplier has an entry for their - child part in the BoM. -- PartAsPlanned - representation of an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status in a - specific version. This also includes information about the validityPeriod - the period of time during which the Part - is offered by the manufacturer and can be purchased by customers. -- PartSiteInformationAsPlanned - Site related information for a given as planned item. A site is a delimited - geographical area where a legal entity does business. In the "as planned" lifecycle context all potentially related - sites are listed including all sites where e.g. production of this part (type) is planned. - -#### Step 0: Process initiation - -The process is initiated by an ESS incident, that is received by (or created within) the inquiring company. This ESS -incident acts as the root incident for the overall process. The incident contains a company name (incl. address) and a -valid BPN exists for that company. The BPN (a BPNL or BPNS) can be looked up in BPDM. - -#### Step 1: Check direct suppliers - -The inquiring company checks, if the company of the incident is a direct supplier of them. In order to perform this -check, the following data must be available in the inquiring company: - -- Full list of direct suppliers -- Full list of parts supplied by those direct suppliers - -In case the company of the incident is a direct supplier of the inquiring company, the process ends. In case the company -of the incident is not a direct supplier of the inquiring company, Step 2 is executed. - -#### Step 2: Forward Incident - -The incident is forwarded to all direct suppliers. Each direct supplier is sent a "personalized" request to evaluate, if -the inquiring company is impacted by the incident. The incident is enhanced with additional data by the inquiring -company: - -- List of parts, that are supplied to the inquiring company by their direct supplier. - -Each direct supplier executes Step 1. - -#### Step 3: Gather Responses - -The inquiring company collects the (asynchronous) responses. The response of each direct supplier may contain the -following results: - -- YES → The company of the incident was found in the supply chain of the given list of parts. In this case, the result - also contains the BPN of the direct supplier where the incident occurred alongside the number of hops (i.e. how many - levels down the chain) to where the incident occurred -- NO → The company of the incident was not found in the supply chain of the given list of parts -- UNKNOWN → The query timed out or some other error occurred - -In case at least one "YES" is received, the process step 3 ends - -### Environmental and Social Standards (ESS) Bottom-Up - -The occasion related traceability helps stakeholders to identify if a company that is detected for social or -environmental misbehavior is part of its own supply chain. In case of a hit, the inquiring company and the originator -company will be informed by the response, and therefore if the specific company has to start investigations. - -Similar to the ESS use-case Top-Down, ESS Bottom-Up focuses on notifying customers about incidents in the supply chain. -The difference to Top-Down is that the Bottom-Up approach only investigates on one level and does not send any -notifications. To achieve this goal, IRS uses these aspect models: - -- SingleLevelUsageAsPlanned - The aspect provides the information in which parent part(s)/product(s) the given item is - assembled in. This could be a 1:1 relationship in terms of e.g. a brake component or 1:n for e.g. coatings. The given - item as well as the parent item must refer to an object from as-planned lifecycle phase. If multiple versions of - parent parts exist that the child part can be assembled into, all versions of the parent part are included in the - usage list. -- PartAsPlanned - representation of an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status in a - specific version. This also includes information about the validityPeriod - the period of time during which the Part - is offered by the manufacturer and can be purchased by customers. -- PartSiteInformationAsPlanned - Site related information for a given "as planned" item. A site is a delimited - geographical area where a legal entity does business. In the "as planned" lifecycle context all potentially related - sites are listed including all sites where e.g. production of this part (type) is planned. - -For the originator company, IRS validates whether the requested BPNS is part of their PartSiteInformationAsPlanned and -whether the provided validityTimestamp is within the validityPeriod of PartAsPlanned. If this is the case, IRS will then -collect all the BPNLs of the direct customer and return the affected parts in the following structure for an incident -company to handle further incident management: - -```json -{ - "customers": [ - { - "businessPartnerNumberLegalEntity": "", - "customerParts": [ - { - "globalAssetId": "", - "sites": [ - { - - } - ] - }, - ... - ] - } - ] -} -``` - -### Data Integrity Layer (DIL) - Spike - -The use-case Data Integrity Layer is an additional Layer in IRS processing. It aims to verify integrity along the data -chain by introducing a new aspect model: DataIntegrity. This model contains hashes and signatures of semantic models in -a parent - child structure, similar to SingleLevelBomAsBuilt: - -```json -{ - "catenaXId": "urn:uuid:123", - "childParts": [ - { - "catenaXId": "urn:uuid:456", - "references": [ - { - "semanticModelUrn": "urn:bamm:io.catenax.data_integrity:1.0.0#DataIntegrity", - "hash": "5a4cc1c6817b0045b26d3e842482753b5ad1cf20fbedebed2ee3c09936800821", - "signature": "e71196ddd321cc0f87cca372c304d74b9e741d8a5a3ddd5b953877b1f65a5206815d20f53bb51cf3d7725ed14fb5e18bd7b65e0ba9ef0e2f0cb44b5d5fc42e4197ce004ce4d0369e15c0429c7097099d46ce8640ff7197ac57f8045d3db996df1deaf8e7f01b447118d62876d2cd44484d2e2c49fac4a47c8a6ea9177142d8efdc032fd5638968dcd8982349b65cc6f75409dccc2386aa5e76c397d77e54e0fe4add1c870af5eab754c911595e8dc4b6e33643d15b95c2f8b62524702e30bf49736063e71761f6382aca8b46fffbd529495bba075e29fc540cd0a9b11c349512ddd97c371b9eb7e56196b5236f31290912f2f282786042a6a81017030a6d82eb" - }, - { - "semanticModelUrn": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", - "hash": "823dd4d758f2aafd5cf63de1144b178118cfe97388678d9b42eabe65a7e66e55", - "signature": "4ac7a5feb1724bbf5e6f9ba8ed55f09133185b9f9c49b627f6bc7f36b49e42f4dcfecd19bb64ad0bdc93742bab5add7a45f67ff7a2603f93e62f2b2bd4ed606b0d637f075df73b5aef91e8f20128dd55e62cce2f059beb59723927835e6e108c84170d7ca03a11fc65a9d57d618156c69fde6112955e53dca04bd0f860b75477eb7b58ee10ab8e5d3bcaacdfa1b6ba0f86e6d2518154642c1da8a42397221a556cfc536614298afeeaf5098c18f5aaf260bf78bfea30e066316819d0f442491fdf4cdc10929605ebefef05c5a503b62b8788d6bb9c76b8a9108987beca19cb5eae50bd83a5f29e241689f1450d4c06a7524955f4fbf6c4d773ef3a94e4a3a1a8" - }, - { - "semanticModelUrn": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", - "hash": "e2efea25b47bec2b5ce2a65b4785172240d97acfbd7f223ae009f9686a155e16", - "signature": "a0b344cd9fc3c5d51738a5f1b76ba079319ea9d270f181b0e691ff7a6bbc6eaab3955c324d9b7b8db679473408961cb06826532bb4bd54321d9e04539f6bd520def9b648e3a06a4ee035f4d961212a46404ac512ea64d72224af474ebe004ae87ec121078db994e7750324e7a2de66667512b3b2c0e60ba8c1391dcfcfe57f21b51256fc1a794cdace47a70561136328a7b8fce8539533c971d6ef29ea57c04fb6f87e873c0b66ca21c70f8689696b42bec47c718d9145f2de8bea38d9dc1718322ddc6014b6d781db846446c0dcb4ce3c6dda8e018be2732b32f414fd074dfadf87fa605ca57598095df7d139432015a0ba6a125089f835ee0af4db8a733074" - } - ] - }, - ... - ] -} -``` - -Based on the DataIntegrity aspect IRS can compare the data received by a data provider with the given hash and verify -that the data was not altered or manipulated after initial provision. - -## Success Stories - -### Circularity Dashboard Success Story - -Due to the large number of producers and consumers, however, the implementation of the circular economy is challenging: -Information on the individual lifecycles is mostly only available locally and therefore does not provide any meaningful -assessment of reuse, recycling or remanufacturing. - -![success](@site/static/img/irs-circularity-dashboard-successstory.png) - -Therefore, the circularity dashboard, gives the user information about materials of the product and of all their -composites. This is only possible, if participants of the supply chain, the direct manufactures of the composites of a -vehicle are sharing information about the materials used. -The ability to access provided data in the Catena-X network could be done in two different ways. Way one is to handle -each request separately, or use the IRS, which manages the retrieval of digital twins, checks and validates the results -against the semantics and provides an easy-to-use API to interact with the decentral stored data. -In the SAP Industry Network for Automotive, circularity cockpit API specification and IRS implementation are serving as -a reference. Thus, we were able to develop IRS functionality to best fit the SAP tech stack, which we decided to use for -the circularity cockpit. -This enables us, to have a controlled access to distributed data in an interoperable setup to access data chains. To -abstract the data consumption layer brings benefits in stability and resiliency to our application, because we could -easily change to different providers or services of a IRS implementation. - -### Trace-X Success Story - -![Trace-X-Screenshot](@site/static/img/Trace-X/Trace-X_App-mypartsview.png) - -The Open-Source Traceability application is developed within the Catena-X project and enables all companies to -participate in Parts Traceability. -Trace-X offers capabilities to ingest data for serialized parts and batches as well as their child components. Within -CX, we strive to establish a standardized, data-sovereign and interoperable exchange of traceability data along the -value creation chain. - -The application gives an overview of the supplier network and the supply chain. A high level of transparency across the -supplier network enables faster intervention based on recorded events in the supply chain. Additionally, automated -massages regarding Quality related incidents. -All this saves' costs by seamlessly tracking parts as well as creates trust through clearly defined and secure data -access by the companies and persons involved in the process. - -![success2](@site/static/img/IRS2.png) - -Applying and using the Item Relationship Service had the following benefits: - -- With the decision using the IRS we could speed our development of Trace-X throughout the scope of their helm charts - including a running service with test data. That alone was very beneficial to have a stable environment with data -- The IRS fulfills a high level of quality in code which provides a reliable service -- The deployment via helm charts has been built so that it can fit in existing architecture components throughout - configuration like the Digital Twin Registry, the EDC, Semantic Hub, Keycloak and others. This enabled Trace-X to - configure the Service smoothly into the architecture of the application -- The IRS abstracts the communication with partners along the supply chain, that makes it easy to build business - processes on that. It abstracts a technical level to a logical level to enhance the speed of implementation of a - Software Provider -- The IRS with the standardized API provides a data interoperability level on data chains -- The Team behind the IRS is fast in implementing and adapting new features - -![Trace-XScreenshot1](@site/static/img/Trace-X/01.png) - -![Trace-XScreenshot2](@site/static/img/Trace-X/02.png) - -![Trace-XScreenshot3](@site/static/img/Trace-X/03.png) - -![Trace-XScreenshot4](@site/static/img/Trace-X/04.png) - -## Logic & Schema - -### Building Block Architecture Overview - -![Building Block View](@site/static/img/irs_buidling_block_decentral.svg) - -#### IRS Components - -| Components | Description | -|:----------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| IRS | The IRS builds a digital representation of a product (digital twin) and the relationships of items the product consists of in a hierarchical structure. The result is an item graph in which each node represents a digital item of the product - this graph is called "Item Graph". | -| IRS API | The IRS API is the Interface over which the Data Consumer is communicating. | -| IrsController | The IrsController provides a REST Interface for retrieving IRS processed data and job details of the current item graph retrieval process. | -| IrsItemGraphQueryService | The IrsItemGraphQueryService implements the REST Interface of the IrsController. | -| JobOrchestrator | The JobOrchestrator is a component which manages (start, end, cancel, resume) the jobs which execute the item graph retrieval process. | -| RecursiveJobHandler | The RecursiveJobHandler handles the job execution recursively until a given abort criteria is reached or the complete item graph is build. | -| TransferProcessManager | The TransferProcessManager handles the outgoing requests to the various data services. | -| Policy Store | The Policy Store provides an Interface for getting, adding and deleting accepted IRS EDC policies. These policies will be used to validate EDC contract offers. | -| BlobStore | The BlobStore is the database where the relationships and tombstones are stored for a requested item. | -| JobStore | The JobStore is the database where the jobs with the information about the requested item are stored. | -| Digital Twin Registry Client | The Digital Twin Registry Client is the interface to the Digital Twin Registry. It provides an interface for the Asset Administration Shells. | -| Decentralized Digital Twin Client | In a decentralized network, the Digital Twin Client connects to the EDC which then proxies the requests to the digital twin registry on provider side. | -| EDC Client | The EDC Client is used to communicate with the EDC network, negotiate contracts and retrieve submodel data. | - -#### Catena-X Core Services - -| Subsystem | Description | -|:----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Digital Twin Registry | The Digital Twin Registry acts as an address book for Digital Twins. Data Providers register their Digital Twins in the Digital Twin Registry. Data consumers query the Digital Twin Registry to find Digital Twins and interact with them further. A Digital Twin contains endpoint references to submodel endpoints. Calling a submodel endpoint returns data compliant to a semantic model. A semantic model describes the data that a Submodel endpoint returns. [Repository of the Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry). | -| Eclipse Dataspace Connector (EDC) | The Eclipse Dataspace Connector provides a framework for sovereign, inter-organizational data exchange. It will implement the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems. [Repository of the Catena-X specific EDC](https://github.com/eclipse-tractusx/tractusx-edc). | -| Discovery Service | The Discovery Service interface is a CX network public available endpoint which can get used to retrieve EDC Discovery Service or BPN Discovery Services via a given type. | -| Portal | The Catena-X Portal and Marketplace is the heart of Catena-X and the entry point for all activities in the automotive network/value chain. Every user of the automotive value chain, no matter if it is a consumer, app provider, IT administrator or IT support will connect via the portal to the value bringing services. The whole eco-system on the automotive value chain is connected at one place. | | -| EDC Discovery Finder | The EDC dataspace discovery interface is a CX network public available endpoint which can get used to retrieve edc endpoints and the related BPNs, as well as search for endpoints via the BPN | - -## Business Process - -The DataChainKit acts as a middleware between consumers and manufacturers. This section describes the Business Process -of DataChainKit. Who are its users, and with which other systems does it interact with. - -### Consumer - -The DataChainKit by IRS API is the essential component of the business app Trace-X FOSS to be able to build data chains -in upwards and downwards direction for BOM lifecycles asBuilt and asPlanned. -The DataChainKit by IRS API is being consumed by the dismantler dashboard and other parties which are part of the -Catena-X network. They need to provide valid credentials issued by the Catena-X Portal/IdP. Additionally, they must -provide a base global asset identifier to retrieve information for as well as configuration details for the view on that -information. - -### Catena-X network - -The IRS retrieves data from the Catena-X network (using the necessary infrastructure, see Technical Context), aggregates -it and provides it back to the consumers. This connection is mandatory. If the Catena-X services are unavailable, the -IRS cannot perform any work. - -As of now, the IRS uses technical user credentials provided by the portal to gather the required data. This might be -changed to use the consumer credentials in the future. - -## Standards - -Our relevant standards can be downloaded from the -official [Catena-X Standard Library](https://catena-x.net/de/standard-library) - -- [CX - 0005 Item Relationship Service API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0005-ItemRelationshipServiceApi-v1.1.1.pdf) -- [CX - 0045 Aspect Model Template Data Chain](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0045-AspectModelDataChainTemplate-v1.1.1.pdf) - -## Why Data Chain Kit - -What is in for you to use the Data Chain Kit. On what is it built on. - -![Why use Datachain Kit](@site/static/img/why_data_chain-minified.png) - -## IRS Iterative - -The IRS iterative iterates through the different digital twin aspects, which are representing a relationship. For -Release 3.2 this is the SingleLevelBOMasBuilt aspect, which connects serialized parts. This service can access the -digital twins for which an EDC policy and a data contract exists. In this case the consumer needs a contract which each -participant of the data chain. - -![IRS iterative diagram](@site/static/img/irs-minified.svg) - -The following general conditions apply: - -- Access control through policies and contracts is done by the EDC -- Direct data exchange between supply-chain partners -- Catena-X partners of the accessible value chain are known to the data-consumer - -## IRS Recursive - -The IRS recursive works different as the IRS iterative. It does not consume the digital twins of the partners in the -supply chain in a direct way, it triggers the IRS of a partner to start an IRS job to retrieve data of the sub-partners. -This is done to keep the structure below intransparent to the value chain above, even though it is still possible to -aggregate results; pass information along the value chain. - -![IRS recursive diagram](@site/static/img/irs-recursive-minified.svg) - -The following general conditions apply: - -- The IRS recursive is for use-cases, which want to apply business logic with data along the value chain. For example, - to summarize, or check for existence of values or certificates. -- Each participant has the possibility to check their values, before passing them to next in line -- Access control through policies and contracts is done by the EDC -- Direct data exchange between supply-chain partners -- Business logic is being applied with an extension concept - -The recursive approach is based on a decentralized network in which only the next level of a relationship between two -companies (one level down approach) is known. (Relationship: Customer - Supplier) - -1. Company OEM initiate request using a consumer application. -2. Company (supplier) is identified on the next lower level - then a message is sent to the IRS instance of this - supplier. -3. After receiving the message on supplier level, the IRS determines the suppliers on the next lower level and also - sends a message to the IRS instances of the suppliers. -4. This is repeated until a leaf node (a company has no more suppliers or the company is not part of the C-X network) is - reached. -5. In this case the leaf node is responding with a message to the customer company. -6. The IRS on customer company level receives and aggregates the messages from all requested suppliers and responds - again to the customer until OEM level is reached. -7. OEM shows result of recursive investigation according to the given use case in consumer application. - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2021, 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2022, 2023 BOSCH AG -- SPDX-FileCopyrightText: 2021, 2022 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2022 ISTOS GmbH -- SPDX-FileCopyrightText: 2021, 2023 Contributors to the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/item-relationship-service](https://github.com/eclipse-tractusx/item-relationship-service) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_changelog.md deleted file mode 100644 index 2aeb7fef070..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_changelog.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -id: data chain kit changelog -title: Changelog -description: 'Data Chain Kit Changelog' -sidebar_position: 10 ---- - -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) - -### Data Chain KIT - -All notable changes to this Kit will be documented in this file. - -## Unreleased - -### Added - -- Adoption View: added use-case Environmental and Social Standards Top-Down -- Adoption View: added use-case Environmental and Social Standards Bottom-UP -- Adoption View: added use-case Data Integrity Layer -- Adoption View: added visualization for IRS-Recursive - -### Changed - -- Development View: Update request collection to latest state of IRS -- Documentation: Update Arc42 and Admin guide to latest state of IRS -- Moved Success Stories to Adoption View - -### Fixed - -- Update documentation: Local deployment currently requires IRS version 2.4.0. - See https://github.com/eclipse-tractusx/item-relationship-service/issues/247. - -## [1.1.0] - 2023-08-25 - -### Added - -- Adoption View: added NOTICE section according to TRG 7.0.7 Legal notice for non-code (e.g. documentation) -- Adoption View: added Vision & Mission -- Adoption View: added Customer Journey -- Adoption View: added Business Value -- Adoption View: added IRS Components and Catena-X Core Services -- Adoption View: added Business Process -- Adoption View: added Standards -- Adoption View: added irs building block for decentral architecture - -### Changed - -- Adoption View: adaption to new structure of Adoption View - -## [1.0.0] - 2023-03-01 - -### Added - -- documentation of the IRS API -- documentation of adoption view -- documentation of software development view -- documentation of the IRS reference implementation -- two success stories how this Kit is used - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_software-operation-view.md deleted file mode 100644 index 0a97d4570ee..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/page_software-operation-view.md +++ /dev/null @@ -1,268 +0,0 @@ ---- -id: Operation View -title: Operation View -description: 'Data Chain Kit' -sidebar_position: 2 ---- - -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) - -### Data Chain KIT - -## Local Deployment - -> **Please note that this demo is currently based on IRS version 2.4.0.** - -Run a working demo scenario of the Item Relationship Service with a mocked Catena-X network to retrieve data chains with the following components: - -* Item Relationship Service -* Eclipse Dataspace Connector for accessing data -* Eclipse Dataspace Connector for data provisioning -* a submodel server and testdata for provisioning test digital twins -* an OIDC authentication provider mock -* Registry Service to register test digital twins -* Item Relationship Service Debugging View to visualize the results of the Item Relationship Service - -This emulates the communication over EDC, retrieving assets via a registry and building one continuous data chain with data from different companies. - -This local deployment is an easy installation with helm. This setup is built to run on a kubernetes cluster. - -| Step | Action | Description | -|-------------------------------------------------|---------------------------------------------------------------|------------------------------------------------------------------------------------------| -| ![arrow down](@site/static/img/arrow_down.png) | **[Install the prerequisites](#step-1-prerequisites)** | Install all necessary tools for this setup | -| ![vector](@site/static/img/vector.png) | **[Check out the Code](#step-2-check-out-the-code)** | Get all necessary code to deploy the service and dependencies to the kuberneetes cluster | -| ![check](@site/static/img/check.png) | **[Installing the Service](#step-3-installing-the-services)** | Start cluster and interact with the Item Relationship Service | - -### Step 1: Prerequisites - -1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of memory -2. [helm](https://helm.sh/docs/intro/install/) is installed -3. [Minikube](https://minikube.sigs.k8s.io/docs/start/) is installed and running. - You can also use any other local Kubernetes cluster, this guide is just using Minikube as a reference. - - ```bash - minikube start --memory 8192 --cpus 2 - ``` - - _Optional_: enable minikube metrics - - ```bash - minikube addons enable metrics-server - ``` - -4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed -5. [Python3](https://www.python.org/downloads/) is installed -6. [Ruby](https://www.ruby-lang.org/de/documentation/installation/) is installed -7. [psql](https://www.compose.com/articles/postgresql-tips-installing-the-postgresql-client/) client is installed - -### Step 2: Check out the code - -Check out the project [Item Relationship Service](https://github.com/eclipse-tractusx/item-relationship-service) or download a [released version](https://github.com/eclipse-tractusx/item-relationship-service/releases) of the Item Relationship Service - -> 👉 **Please use [tag 2.6.0](https://github.com/eclipse-tractusx/item-relationship-service/releases/tag/2.6.0) instead -of the latest version currently (this is the version compatible with IRS 2.4.0).** -> -> ```git clone -b 2.6.0 https://github.com/catenax-ng/tx-item-relationship-service``` - -### Step 3: Installing the services - -#### 1. Start the cluster - -To deploy the services on kubernetes, run - -```bash -cd local/deployment/full-irs -./start.sh true true -``` - -The script takes 2 parameters as input: - -* INSTALL_EDC: default is set to true. If this is passed as true, will delete all helm charts related to EDC (vault, DAPS, EDC consumer and EDC provider) and install them again. -* INSTALL_IRS: default is set to true. If this is passed as true, will delete all helm charts related to IRS (dependencies, IRS backend and IRS frontend) and install them again. - -This can take up to **20 minutes**. - -When the deployment is finished you can expect that 13 deployments can be seen in the minikube dashboard: - -* irs-frontend -* irs -* irs-minio -* keycloak (mocked Service) -* digital-twin-registry -* semantic-hub (mocked Service) -* irs-provider-backend -* edc-provider-control-plane -* edc-provider-data-plane -* edc-consumer-control-plane -* edc-consumer-data-plane -* edc-vault-agent-injector - -Also in total 17 Pods are up and running. - -**INFO**: sometimes you will get the following message during deployment, which can be ignored. This is caused when a service takes longer than 90 seconds to be available. - -```bash --e Waiting for the deployments to be available -error: timed out waiting for the condition on deployments/irs-frontend -``` - -##### 1.1 Get the status of the deployment - -The minikube dashboard will give you feedback on how the status of the deployment currently is: - -```bash - minikube dashboard -``` - -Make sure you select the namespace **irs**: - -![expected status](@site/static/img/minikube-dashboard-overview.png) - -#### 2. Forward ports - -When the deployment has been finished, please use the script to forward the ports: - -```bash -./forwardingPorts.sh -``` - -After that you can access the: - -* **Digital Twin Registry:** [http://localhost:10200](http://localhost:10200) -* **IRS Frontend:** [http://localhost:3000](http://localhost:3000) - -#### 3. Prepare test data - -> Only if Step 2 has been applied and the ports are forwarded. - -To provision testdata to the provider EDC and register the testdata with the Digital Twin Registry, use the following script: - -```bash -./upload-testdata.sh -``` - -If you like, you can remove the test data with: - -```bash -./deleteIRSTestData.sh -``` - -### Step 4: Access the Debugging View - -Open [http://localhost:3000/](http://localhost:3000/) and you should see the Item Relationship Service login screen. **Just press Login.** - -![irs-login](@site/static/img/irs-login.png) - -## Testing the Item Relationship Service - -You can use several approaches to interact with the IRS. One is through the **IRS API** and another way is through the **IRS API Frontend**. - -### Valid Global Asset IDs for testing - -Use these globalAssetId's for testing: - -| globalAssetId | type | -|------------------------------------------------|----------------------------| -| urn:uuid:d3c0bf85-d44f-47c5-990d-fec8a36065c6 | vehicle combustion engine | -| urn:uuid:61a22b1c-5725-41fb-8e1e-dccaaba83838 | vehicle combustion engine | -| urn:uuid:513d7be8-e7e4-49f4-a22b-8cd31317e454 | vehicle combustion engine | - -### Valid test requests for testing - -Use these snippets for testing purposes. - -```json -{ - "aspects": [ - "AssemblyPartRelationship", - "SerialPartTypization" - ], - "bomLifecycle": "asBuilt", - "collectAspects": true, - "direction": "downward", - "depth": 10, - "globalAssetId": "urn:uuid:d387fa8e-603c-42bd-98c3-4d87fef8d2bb" -} -```` - -```json -{ - "aspects": [ - "SerialPartTypization" - ], - "depth": 1, - "globalAssetId": "urn:uuid:d387fa8e-603c-42bd-98c3-4d87fef8d2bb" -} -``` - - - -### Testing the IRS API endpoints - -#### Precondition - -* Visual Studio extension: [REST Client by Huachao Mao](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) -* All installation steps have been conducted successfully -* A valid Global Asset ID - -#### Test-steps - -1. To interact with the API Endpoints, you need a valid token. You can generate an access token by using the ``` ./test/keycloack-service.rest ```. -2. **copy & paste** the valid token into line 8 of ``` ./test/irs-backend-service.rest ``` -3. **copy & paste** a valid globalAssetId into the request body -4. **execute the request** ```./test/irs-backend-service.rest``` - -### Testing with the IRS frontend - -#### Precondition - -* All installation steps have been conducted successfully - -#### Test-steps - -1. **open** [http://localhost:3000](http://localhost:3000) and click 'Login' -2. **copy & paste** a valid globalAssetId into the request body - ![irs-new-job](@site/static/img/irs-new-job.png) -3. **click** 'Build Data Chain' to start a new IRS job -4. **click** 'Visualization' to see the result of the job - ![irs-job-list](@site/static/img/irs-job-list.png) - -### Step 2: Verify Results - -The following example shows a visual overview of all retrieved data assets and digital twins of a data chain. -![irs-login](@site/static/img/irs-vis-overview.png) -_Item Relationship Service visualization overview_ - -With the following snippet, all clickable objects will be explained: - -* **Digital Twin:** the box itself is clickable and will open an overlay to show more information on this object. -* **Aspect:** the green button is clickable and represents an Aspect or Submodel of the twin. -* **Relationship Aspect:** the line between Digital Twins is clickable and will give detailed Information about the relationship between the twins. - -![irs-login](@site/static/img/irs-vis-clickable.png) -_Item Relationship Service clickable objects_ - -## Stopping the cluster - -1. stop minikube - - ```bash - minikube stop - ``` - -2. stop the processes used for port forwarding and minikube dashboard -3. shut down the Docker daemon - -## How to debug an application in the cluster - -If you want to connect your IDE to one of the applications in the cluster, you need to enable debug mode for that application by overriding the entrypoint (using the `command` and `args` fields in the deployment resource). How to do this depends on the application. For the IRS, as it is based on Spring Boot and Java, you would need to add this flag to the start command: - -```bash --agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -``` - -Then you can forward the port 8000 for the IRS deployment to your host machine and connect your IDE to that port. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx deleted file mode 100644 index 08dea9e47f6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: dotaas-part-2-http-rest-discovery-service-specification -title: "DotAAS Part 2 | HTTP/REST | Discovery Service Specification" -description: "The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0_SSP-001 - -# DotAAS Part 2 | HTTP/REST | Discovery Service Specification - - - -The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023 - -

            Contact

            Industrial Digital Twin Association (IDTA): info@idtwin.org

            License

            CC BY 4.0
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx deleted file mode 100644 index 47b373a2912..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-administration-shell-ids-by-asset-link.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-all-asset-administration-shell-ids-by-asset-link -title: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -description: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -sidebar_label: "Returns a list of Asset Administration Shell ids linked to specific Asset identifiers" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Basic Discovery API"],"operationId":"GetAllAssetAdministrationShellIdsByAssetLink","parameters":[{"name":"assetIds","in":"query","description":"A list of specific Asset identifiers","required":false,"style":"form","explode":true,"schema":{"type":"array","example":"[ { \"name\": \"some-asset-id\", \"value\": \"http://example-company.com/myAsset\", \"externalSubjectId\": { \"keys\": [ { \"type\": \"GlobalReference\", \"value\": \"http://example-company.com/example-companys-asset-keys\" } ], \"type\": \"GlobalReference\" } }, { \"name\": \"some-other-asset-id\", \"value\": \"12345ABC\", \"externalSubjectId\": { \"keys\": [ { \"type\": \"GlobalReference\", \"value\": \"http://my-own-company.com/keys\" } ], \"type\": \"GlobalReference\" } } ]","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}}},{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requested Asset Administration Shell ids","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetAdministrationShellIdsByAssetLink/3/0"],"description":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","method":"get","path":"/lookup/shells","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","description":{"type":"text/plain"},"url":{"path":["lookup","shells"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"A list of specific Asset identifiers","type":"text/plain"},"key":"assetIds","value":""},{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of Asset Administration Shell ids linked to specific Asset identifiers - - - -Returns a list of Asset Administration Shell ids linked to specific Asset identifiers - -
            Query Parameters
            - -Requested Asset Administration Shell ids - -
            Schema array
            • string
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx deleted file mode 100644 index 4f31609fee2..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-all-asset-links-by-id.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: get-all-asset-links-by-id -title: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -description: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -sidebar_label: "Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Basic Discovery API"],"operationId":"GetAllAssetLinksById","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested specific Asset identifiers","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetLinksById/3/0"],"description":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","method":"get","path":"/lookup/shells/{aasIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","description":{"type":"text/plain"},"url":{"path":["lookup","shells",":aasIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content - - - -Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content - -
            Path Parameters
            - -Requested specific Asset identifiers - -
            Schema array
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              externalSubjectId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
            - -Not Found - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx deleted file mode 100644 index 521f8f82b01..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/get-description.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["AssetAdministrationShellServiceSpecification/V3.0","AssetAdministrationShellServiceSpecification/V3.0-MinimalProfile","SubmodelServiceSpecification/V3.0","SubmodelServiceSpecification/V3.0-ValueProfile","SubmodelServiceSpecification/V3.0-MinimalProfile","AasxFileServerServiceSpecification/V3.0","RegistryServiceSpecification/V3.0","RegistryServiceSpecification/V3.0- AssetAdministrationShellRegistry","RegistryServiceSpecification/V3.0-SubmodelRegistry","RepositoryServiceSpecification/V3.0","RepositoryServiceSpecification/V3.0-MinimalProfile","AssetAdministrationShellRepositoryServiceSpecification/V3.0","AssetAdministrationShellRepositoryServiceSpecification/V3.0-MinimalProfile","SubmodelRepositoryServiceSpecification/V3.0","SubmodelRepositoryServiceSpecification/V3.0-MinimalProfile","RegistryAndDiscoveryServiceSpecification/V3.0"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"RepositoryServiceSpecification/V3.0-MinimalProfile\",\n \"RegistryServiceSpecification/V3.0\"\n ]\n}"}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Discovery Service Specification","description":"The entire Full Profile of the Discovery Service Specification as part of Details of the Asset Administration Shell Part 2. Publisher: Industrial Digital Twin Association (IDTA) 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-001"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
            - -Requested Description - -
            Schema
              = 1`"} defaultValue={undefined}>
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js deleted file mode 100644 index 7db655518ea..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Discovery/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//dotaas-part-2-http-rest-discovery-service-specification"},{"type":"category","label":"Asset Administration Shell Basic Discovery API","link":{"type":"generated-index","title":"Asset Administration Shell Basic Discovery API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery/asset-administration-shell-basic-discovery-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-all-asset-administration-shell-ids-by-asset-link","label":"Returns a list of Asset Administration Shell ids linked to specific Asset identifiers","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-all-asset-links-by-id","label":"Returns a list of specific Asset identifiers based on an Asset Administration Shell id to edit discoverable content","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Discovery//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx deleted file mode 100644 index 3b413b7c2bb..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: dotaas-part-2-http-rest-registry-service-specification -title: "DotAAS Part 2 | HTTP/REST | Registry Service Specification" -description: "The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0_SSP-002 - -# DotAAS Part 2 | HTTP/REST | Registry Service Specification - - - -The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023 - -

            Contact

            Industrial Digital Twin Association (IDTA): info@idtwin.org

            License

            CC BY 4.0
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx deleted file mode 100644 index 750e2627547..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-asset-administration-shell-descriptors.api.mdx +++ /dev/null @@ -1,290 +0,0 @@ ---- -id: get-all-asset-administration-shell-descriptors -title: "Returns all Asset Administration Shell Descriptors" -description: "Returns all Asset Administration Shell Descriptors" -sidebar_label: "Returns all Asset Administration Shell Descriptors" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAllAssetAdministrationShellDescriptors","parameters":[{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}},{"name":"assetKind","in":"query","description":"The Asset's kind (Instance or Type)","required":false,"schema":{"type":"string","enum":["Instance","NotApplicable","Type"]}},{"name":"assetType","in":"query","description":"The Asset's type (UTF8-BASE64-URL-encoded)","required":false,"schema":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"}}],"responses":{"200":{"description":"Requested Asset Administration Shell Descriptors","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"paging_metadata":{"type":"object","properties":{"cursor":{"type":"string","example":"wJlCDLIl6KTWypN7T6vc6nWEmEYe99Hjf1XY1xmqV-M=#"}}}}},{"type":"object","properties":{"result":{"type":"array","items":{"required":["id"],"type":"object","example":"{ \"id\": \"https://example.org/aas/motor\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"},{"properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"assetKind":{"type":"string","enum":["Instance","NotApplicable","Type"]},"assetType":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"globalAssetId":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"specificAssetIds":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"submodelDescriptors":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptors/3/0","https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetKind/3/0","https://admin-shell.io/aas/API/GetAllAssetAdministrationShellDescriptorsByAssetType/3/0"],"description":"Returns all Asset Administration Shell Descriptors","method":"get","path":"/shell-descriptors","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns all Asset Administration Shell Descriptors","description":{"type":"text/plain"},"url":{"path":["shell-descriptors"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""},{"disabled":false,"description":{"content":"The Asset's kind (Instance or Type)","type":"text/plain"},"key":"assetKind","value":""},{"disabled":false,"description":{"content":"The Asset's type (UTF8-BASE64-URL-encoded)","type":"text/plain"},"key":"assetType","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all Asset Administration Shell Descriptors - - - -Returns all Asset Administration Shell Descriptors - -
            Query Parameters
            - -Requested Asset Administration Shell Descriptors - -
            Schema
              paging_metadata object
              result object[]
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              administration object
              embeddedDataSpecifications object[]
              - -**Possible values:** `>= 1` - -
              dataSpecification
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              dataSpecificationContent object
              oneOf
              preferredName object[]
              - -**Possible values:** `>= 1` - -
              shortName object[]
              - -**Possible values:** `>= 1` - -
              unitId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              definition object[]
              - -**Possible values:** `>= 1` - -
              valueList object
              valueReferencePairs object[]
              - -**Possible values:** `>= 1` - -
              valueId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              levelType object
              creator
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              endpoints object[]
              - -**Possible values:** `>= 1` - -
              protocolInformation object
              securityAttributes object[]
              - -**Possible values:** `>= 1` - -
              specificAssetIds object[]
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              externalSubjectId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              submodelDescriptors object[]
              administration object
              embeddedDataSpecifications object[]
              - -**Possible values:** `>= 1` - -
              dataSpecification
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              dataSpecificationContent object
              oneOf
              preferredName object[]
              - -**Possible values:** `>= 1` - -
              shortName object[]
              - -**Possible values:** `>= 1` - -
              unitId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              definition object[]
              - -**Possible values:** `>= 1` - -
              valueList object
              valueReferencePairs object[]
              - -**Possible values:** `>= 1` - -
              valueId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              levelType object
              creator
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              endpoints object[]
              - -**Possible values:** `>= 1` - -
              protocolInformation object
              securityAttributes object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticId undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
            - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - -Internal Server Error - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx deleted file mode 100644 index bc3b042b01a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-all-submodel-descriptors-through-superpath.api.mdx +++ /dev/null @@ -1,170 +0,0 @@ ---- -id: get-all-submodel-descriptors-through-superpath -title: "Returns all Submodel Descriptors" -description: "Returns all Submodel Descriptors" -sidebar_label: "Returns all Submodel Descriptors" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAllSubmodelDescriptorsThroughSuperpath","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}},{"name":"limit","in":"query","description":"The maximum number of elements in the response array","required":false,"schema":{"minimum":1,"type":"integer"}},{"name":"cursor","in":"query","description":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requested Submodel Descriptors","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"paging_metadata":{"type":"object","properties":{"cursor":{"type":"string","example":"wJlCDLIl6KTWypN7T6vc6nWEmEYe99Hjf1XY1xmqV-M=#"}}}}},{"type":"object","properties":{"result":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0"],"description":"Returns all Submodel Descriptors","method":"get","path":"/shell-descriptors/{aasIdentifier}/submodel-descriptors","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns all Submodel Descriptors","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier","submodel-descriptors"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"The maximum number of elements in the response array","type":"text/plain"},"key":"limit","value":""},{"disabled":false,"description":{"content":"A server-generated identifier retrieved from pagingMetadata that specifies from which position the result listing should continue","type":"text/plain"},"key":"cursor","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns all Submodel Descriptors - - - -Returns all Submodel Descriptors - -
            Path Parameters
            Query Parameters
            - -Requested Submodel Descriptors - -
            Schema
              paging_metadata object
              result object[]
              administration object
              embeddedDataSpecifications object[]
              - -**Possible values:** `>= 1` - -
              dataSpecification
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              dataSpecificationContent object
              oneOf
              preferredName object[]
              - -**Possible values:** `>= 1` - -
              shortName object[]
              - -**Possible values:** `>= 1` - -
              unitId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              definition object[]
              - -**Possible values:** `>= 1` - -
              valueList object
              valueReferencePairs object[]
              - -**Possible values:** `>= 1` - -
              valueId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              levelType object
              creator
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              endpoints object[]
              - -**Possible values:** `>= 1` - -
              protocolInformation object
              securityAttributes object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticId undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
            - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - -Not Found - -
            Schema
              messages object[]
            - -Internal Server Error - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx deleted file mode 100644 index c6b4f1342c4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-asset-administration-shell-descriptor-by-id.api.mdx +++ /dev/null @@ -1,294 +0,0 @@ ---- -id: get-asset-administration-shell-descriptor-by-id -title: "Returns a specific Asset Administration Shell Descriptor" -description: "Returns a specific Asset Administration Shell Descriptor" -sidebar_label: "Returns a specific Asset Administration Shell Descriptor" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetAssetAdministrationShellDescriptorById","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested Asset Administration Shell Descriptor","content":{"application/json":{"schema":{"required":["id"],"type":"object","example":"{ \"id\": \"https://example.org/aas/motor\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"},{"properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"assetKind":{"type":"string","enum":["Instance","NotApplicable","Type"]},"assetType":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"globalAssetId":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"specificAssetIds":{"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name","value"],"properties":{"name":{"maxLength":64,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"externalSubjectId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"submodelDescriptors":{"type":"array","items":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetAssetAdministrationShellDescriptorById/3/0"],"description":"Returns a specific Asset Administration Shell Descriptor","method":"get","path":"/shell-descriptors/{aasIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns a specific Asset Administration Shell Descriptor","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a specific Asset Administration Shell Descriptor - - - -Returns a specific Asset Administration Shell Descriptor - -
            Path Parameters
            - -Requested Asset Administration Shell Descriptor - -
            Schema
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              administration object
              embeddedDataSpecifications object[]
              - -**Possible values:** `>= 1` - -
              dataSpecification
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              dataSpecificationContent object
              oneOf
              preferredName object[]
              - -**Possible values:** `>= 1` - -
              shortName object[]
              - -**Possible values:** `>= 1` - -
              unitId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              definition object[]
              - -**Possible values:** `>= 1` - -
              valueList object
              valueReferencePairs object[]
              - -**Possible values:** `>= 1` - -
              valueId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              levelType object
              creator
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              endpoints object[]
              - -**Possible values:** `>= 1` - -
              protocolInformation object
              securityAttributes object[]
              - -**Possible values:** `>= 1` - -
              specificAssetIds object[]
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              externalSubjectId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              submodelDescriptors object[]
              administration object
              embeddedDataSpecifications object[]
              - -**Possible values:** `>= 1` - -
              dataSpecification
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              dataSpecificationContent object
              oneOf
              preferredName object[]
              - -**Possible values:** `>= 1` - -
              shortName object[]
              - -**Possible values:** `>= 1` - -
              unitId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              definition object[]
              - -**Possible values:** `>= 1` - -
              valueList object
              valueReferencePairs object[]
              - -**Possible values:** `>= 1` - -
              valueId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              levelType object
              creator
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              endpoints object[]
              - -**Possible values:** `>= 1` - -
              protocolInformation object
              securityAttributes object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticId undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
            - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - -Not Found - -
            Schema
              messages object[]
            - -Internal Server Error - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx deleted file mode 100644 index 119c5524882..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-description.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["AssetAdministrationShellServiceSpecification/V3.0","AssetAdministrationShellServiceSpecification/V3.0-MinimalProfile","SubmodelServiceSpecification/V3.0","SubmodelServiceSpecification/V3.0-ValueProfile","SubmodelServiceSpecification/V3.0-MinimalProfile","AasxFileServerServiceSpecification/V3.0","RegistryServiceSpecification/V3.0","RegistryServiceSpecification/V3.0- AssetAdministrationShellRegistry","RegistryServiceSpecification/V3.0-SubmodelRegistry","RepositoryServiceSpecification/V3.0","RepositoryServiceSpecification/V3.0-MinimalProfile","AssetAdministrationShellRepositoryServiceSpecification/V3.0","AssetAdministrationShellRepositoryServiceSpecification/V3.0-MinimalProfile","SubmodelRepositoryServiceSpecification/V3.0","SubmodelRepositoryServiceSpecification/V3.0-MinimalProfile","RegistryAndDiscoveryServiceSpecification/V3.0"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"RepositoryServiceSpecification/V3.0-MinimalProfile\",\n \"RegistryServiceSpecification/V3.0\"\n ]\n}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
            - -Requested Description - -
            Schema
              = 1`"} defaultValue={undefined}>
            - -Forbidden - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx deleted file mode 100644 index 031655498f5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/get-submodel-descriptor-by-id-through-superpath.api.mdx +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: get-submodel-descriptor-by-id-through-superpath -title: "Returns a specific Submodel Descriptor" -description: "Returns a specific Submodel Descriptor" -sidebar_label: "Returns a specific Submodel Descriptor" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Asset Administration Shell Registry API"],"operationId":"GetSubmodelDescriptorByIdThroughSuperpath","parameters":[{"name":"aasIdentifier","in":"path","description":"The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}},{"name":"submodelIdentifier","in":"path","description":"The Submodel’s unique id (UTF8-BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"byte"}}],"responses":{"200":{"description":"Requested Submodel Descriptor","content":{"application/json":{"schema":{"required":["endpoints","id"],"type":"object","properties":{"administration":{"allOf":[{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}},{"properties":{"version":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"revision":{"type":"string","allOf":[{"maxLength":4,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^(0|[1-9][0-9]*)$"}]},"creator":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"templateId":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}]},"endpoints":{"minItems":1,"type":"array","items":{"required":["interface","protocolInformation"],"type":"object","properties":{"interface":{"maxLength":128,"type":"string"},"protocolInformation":{"required":["href"],"type":"object","properties":{"href":{"maxLength":2048,"type":"string"},"endpointProtocol":{"maxLength":128,"type":"string"},"endpointProtocolVersion":{"type":"array","items":{"maxLength":128,"type":"string"}},"subprotocol":{"maxLength":128,"type":"string"},"subprotocolBody":{"maxLength":128,"type":"string"},"subprotocolBodyEncoding":{"maxLength":128,"type":"string"},"securityAttributes":{"minItems":1,"type":"array","items":{"required":["key","type","value"],"type":"object","properties":{"type":{"type":"string","enum":["NONE","RFC_TLSA","W3C_DID"]},"key":{"type":"string"},"value":{"type":"string"}}}}}}}}},"idShort":{"maxLength":128,"type":"string"},"id":{"maxLength":2000,"minLength":1,"pattern":"^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$","type":"string"},"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticId":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}},"example":"{ \"id\": \"https://admin-shell.io/zvei/nameplate/1/0/Nameplate\", \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }","allOf":[{"type":"object","properties":{"description":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"displayName":{"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}},"example":"{ \"endpoints\": [ { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:1234\", \"endpointProtocolVersion\": \"1.1\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"opc.tcp://localhost:4840\" }, \"interface\": \"AAS-1.0\" }, { \"protocolInformation\": { \"endpointAddress\": \"https://localhost:5678\", \"endpointProtocolVersion\": \"1.1\", \"subprotocol\": \"OPC UA Basic SOAP\", \"subprotocolBody\": \"ns=2;s=MyAAS\", \"subprotocolBodyEncoding\": \"application/soap+xml\" }, \"interface\": \"AAS-1.0\" } ] }"}]}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0"],"description":"Returns a specific Submodel Descriptor","method":"get","path":"/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Registry Service Specification","description":"The Read Profile of the Asset Administration Shell Registry Service Specification as part of the Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0_SSP-002"},"postman":{"name":"Returns a specific Submodel Descriptor","description":{"type":"text/plain"},"url":{"path":["shell-descriptors",":aasIdentifier","submodel-descriptors",":submodelIdentifier"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"aasIdentifier"},{"disabled":false,"description":{"content":"(Required) The Submodel’s unique id (UTF8-BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"submodelIdentifier"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns a specific Submodel Descriptor - - - -Returns a specific Submodel Descriptor - -
            Path Parameters
            - -Requested Submodel Descriptor - -
            Schema
              description object[]
              displayName object[]
              extensions object[]
              - -**Possible values:** `>= 1` - -
              semanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              supplementalSemanticIds undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
              refersTo undefined[]
              - -**Possible values:** `>= 1` - -
              keys object[]
              - -**Possible values:** `>= 1` - -
              referredSemanticId
              keys object[]
              - -**Possible values:** `>= 1` - -
            - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - -Not Found - -
            Schema
              messages object[]
            - -Internal Server Error - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js deleted file mode 100644 index 21de37e94ab..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API AAS Registry/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//dotaas-part-2-http-rest-registry-service-specification"},{"type":"category","label":"Asset Administration Shell Registry API","link":{"type":"generated-index","title":"Asset Administration Shell Registry API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry/asset-administration-shell-registry-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-all-asset-administration-shell-descriptors","label":"Returns all Asset Administration Shell Descriptors","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-asset-administration-shell-descriptor-by-id","label":"Returns a specific Asset Administration Shell Descriptor","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-all-submodel-descriptors-through-superpath","label":"Returns all Submodel Descriptors","className":"api-method get"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-submodel-descriptor-by-id-through-superpath","label":"Returns a specific Submodel Descriptor","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/AAS Registry//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx deleted file mode 100644 index 5e953cfe130..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/bpn-discovery-service.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: bpn-discovery-service -title: "BPN Discovery Service" -description: "BPN Discovery Service to find BPN based on a local identifier." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 0.0.1 - -# BPN Discovery Service - - - -BPN Discovery Service to find BPN based on a local identifier. - -

            Authentication

            Contact

            SLDT Team:
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx deleted file mode 100644 index 24d787cc423..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/delete-bpn-discovery-by-id.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: delete-bpn-discovery-by-id -title: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -description: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -sidebar_label: "Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"DeleteBpnDiscoveryById","parameters":[{"name":"resourceId","in":"path","description":"The IdentifierKeyValue unique id (BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"BPN Identifier Key-Value deleted successfully"}},"description":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","method":"delete","path":"/api/administration/connectors/bpnDiscovery/{resourceId}","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery",":resourceId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The IdentifierKeyValue unique id (BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"resourceId"}]},"method":"DELETE"}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - - - -Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - -
            Path Parameters
            - -BPN Identifier Key-Value deleted successfully - -
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx deleted file mode 100644 index bc86018cb5d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/get-bpn-discoveries.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-bpn-discoveries -title: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -description: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -sidebar_label: "Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"GetBpnDiscoveries","requestBody":{"description":"the request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with the corresponding BPN. Please add minimum one key-value pair.","content":{"application/json":{"schema":{"title":"SearchRequest","properties":{"searchFilter":{"title":"searchFilter","type":"array","maxItems":10000,"items":{"title":"SearchIdentifierTypeKeyPair","properties":{"type":{"type":"string","minLength":1,"maxLength":200},"keys":{"type":"array","maxItems":10000,"items":{"type":"string"}}}}}}},"examples":{"complete":{"value":{"searchFilter":[{"type":"oen","keys":["oen-1243","oen-11"]},{"type":"bpid","keys":["bpid-1243","bpid-11"]}]}}}}},"required":true},"responses":{"200":{"description":"key value for BPN created successfully","content":{"application/json":{"schema":{"title":"BpnCollection","properties":{"bpns":{"title":"bpns","type":"array","items":{"title":"Bpn","required":["type","key","value","resourceId"],"properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"resourceId":{"type":"string"}}}}}},"examples":{"complete":{"value":{"bpns":[{"type":"oen","key":"oen-1243","value":"bpn-123","resourceId":"1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"},{"type":"oen","key":"oen-11","value":"bpn-123","resourceId":"972262d7-7e05-4578-936f-de236d7feb94"},{"type":"bpid","key":"bpid-1243","value":"bpn-444","resourceId":"1b754aeb-c753-4adf-ae6d-52842f5a38b7"},{"type":"bpid","key":"oen-11","value":"bpn-444","resourceId":"e43f9cf8-f0d4-4c51-b7fe-b68ea4aeea7c"}]}}}}}}},"description":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","method":"post","path":"/api/administration/connectors/bpnDiscovery/search","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"searchFilter":[{"type":"string","keys":["string"]}]},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.) - - - -Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.) - -
            Request Body required
            - -the request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with the corresponding BPN. Please add minimum one key-value pair. - -
              searchFilter SearchIdentifierTypeKeyPair[]
              - -**Possible values:** `<= 10000` - -
            - -key value for BPN created successfully - -
            Schema
              bpns Bpn[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx deleted file mode 100644 index c3cc42171f9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-batch-bpn-discovery.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: post-batch-bpn-discovery -title: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -description: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -sidebar_label: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"PostBatchBpnDiscovery","requestBody":{"description":"The request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with success/error message on persistance of this key-value-pairs. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN.","content":{"application/json":{"schema":{"type":"array","maxItems":10000,"items":{"title":"IdentifierTypeKeyPair","required":["type","key"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"key":{"type":"string","minLength":1,"maxLength":200}}}},"examples":{"complete":{"value":[{"type":"oenId","key":"oenId-123"},{"type":"oen","key":"oen-4444"},{"type":"bpid","key":"bpid-123"}]}}}},"required":true},"responses":{"201":{"description":"key value for BPN in batch created successfully","content":{"application/json":{"schema":{"type":"array","maxItems":10000,"items":{"type":"object","required":["message","key","status"],"properties":{"message":{"type":"string","description":"The detailed message for the creation."},"details":{"type":"object","additionalProperties":{"type":"object"},"description":"An object with key/value pairs containing additional information exception."},"key":{"type":"string","description":"The created key."},"status":{"type":"integer","description":"The status code"}}}},"examples":{"complete":{"value":[{"message":"Validation failed.","details":{"type":"type oenId is not allowed."},"key":"oenId-123","status":400},{"message":"BpnDiscovery successfully created","details":null,"key":"oen-4444","status":200},{"message":"BpnDiscovery successfully created","details":null,"key":"bpid-123","status":200}]}}}}}},"description":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","method":"post","path":"/api/administration/connectors/bpnDiscovery/batch","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":[{"type":"string","key":"string"}],"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery","batch"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch. - - - -Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch. - -
            Request Body array required
            - -The request body is expecting a list of key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pairs, where this service will respond with success/error message on persistance of this key-value-pairs. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN. - -
            - -key value for BPN in batch created successfully - -
            Schema array
              details object
              - -An object with key/value pairs containing additional information exception. - -
            • property name* object
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx deleted file mode 100644 index e2f76bd636c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/post-bpn-discovery.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-bpn-discovery -title: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -description: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -sidebar_label: "Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Discovery"],"operationId":"PostBpnDiscovery","requestBody":{"description":"the request body is expecting a key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pair, where this service will respond with success/error message on persistance of this key-value-pair. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN.","content":{"application/json":{"schema":{"title":"IdentifierTypeKeyPair","required":["type","key"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"key":{"type":"string","minLength":1,"maxLength":200}}},"examples":{"complete":{"value":{"type":"oen","key":"oen-123"}}}}},"required":true},"responses":{"201":{"description":"key value for BPN created successfully","content":{"application/json":{"schema":{"title":"Bpn","required":["type","key","value","resourceId"],"properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","key":"oen-1243","value":"bpn-123","resourceId":"1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"}}}}}}},"description":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","method":"post","path":"/api/administration/connectors/bpnDiscovery","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"type":"string","key":"string"},"info":{"title":"BPN Discovery Service","description":"BPN Discovery Service to find BPN based on a local identifier.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","bpnDiscovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - - - -Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry. - -
            Request Body required
            - -the request body is expecting a key (type, e.g. OEN, batteryID, etc.) - value (explicit number) pair, where this service will respond with success/error message on persistance of this key-value-pair. The BPN is hand-over by the authentication/authorization (→ token). Only the owner of a BPN can link any number (e.g. OEN, batteryID, etc.) to his BPN. - -
            - -key value for BPN created successfully - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js deleted file mode 100644 index b1dd8251cad..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API BPN Discovery/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//bpn-discovery-service"},{"type":"category","label":"Discovery","link":{"type":"generated-index","title":"Discovery","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery/discovery"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//post-bpn-discovery","label":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//post-batch-bpn-discovery","label":"Create new numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as batch.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//get-bpn-discoveries","label":"Find BPN endpoints corresponding to numbers (e.g. OEN, batteryID, etc.)","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/BPN Discovery//delete-bpn-discovery-by-id","label":"Delete numbers (e.g. OEN, batteryID, etc.) corresponding to BPN endpoints as single entry.","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx deleted file mode 100644 index 2a0a08b5a3a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/delete-discovery-endpoint-by-resource-id.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: delete-discovery-endpoint-by-resource-id -title: "Delete the endpoint to BPN discovery services and the EDC discovery service." -description: "Delete the endpoint to BPN discovery services and the EDC discovery service." -sidebar_label: "Delete the endpoint to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"DeleteDiscoveryEndpointByResourceId","parameters":[{"name":"resourceId","in":"path","description":"The IdentifierKeyValue unique id (BASE64-URL-encoded)","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"Discovery Endpoint deleted successfully"}},"description":"Delete the endpoint to BPN discovery services and the EDC discovery service.","method":"delete","path":"/api/administration/connectors/discovery/{resourceId}","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Delete the endpoint to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery",":resourceId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The IdentifierKeyValue unique id (BASE64-URL-encoded)","type":"text/plain"},"type":"any","value":"","key":"resourceId"}]},"method":"DELETE"}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Delete the endpoint to BPN discovery services and the EDC discovery service. - - - -Delete the endpoint to BPN discovery services and the EDC discovery service. - -
            Path Parameters
            - -Discovery Endpoint deleted successfully - -
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx deleted file mode 100644 index 408672cb3a9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/discovery-finder.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: discovery-finder -title: "Discovery Finder" -description: "Discovery Finder to find endpoint of the BPN/EDC Discovery." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 0.0.1 - -# Discovery Finder - - - -Discovery Finder to find endpoint of the BPN/EDC Discovery. - -

            Authentication

            Contact

            SLDT Team:
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx deleted file mode 100644 index d0fd6660cb5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/get-discovery-endpoints.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-discovery-endpoints -title: "Find the endpoints to BPN discovery services and the EDC discovery service." -description: "Find the endpoints to BPN discovery services and the EDC discovery service." -sidebar_label: "Find the endpoints to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"GetDiscoveryEndpoints","requestBody":{"description":"The request body is expecting a list of types ( e.g. oen, bpid, etc.) to return available discovery endpoints.","content":{"application/json":{"schema":{"title":"SearchRequest","required":["types"],"properties":{"types":{"title":"types","type":"array","maxItems":10000,"items":{"type":"string"}}}},"examples":{"complete":{"value":{"types":["oen","bpid","bpn"]}}}}},"required":true},"responses":{"200":{"description":"Returns discovery endpoints based on search filter.","content":{"application/json":{"schema":{"title":"DiscoveryEndpointCollection","properties":{"endpoints":{"title":"endpoints","type":"array","maxItems":10000,"items":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}}}}},"examples":{"complete":{"value":{"endpoints":[{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"ec6f407b-4296-418c-9e4e-fb739fe72a67"},{"type":"bpid","description":"Service to discover BPN to a particular Battery Pass ID","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"08702529-3714-4c4f-b022-346b9b4fbbe2"},{"type":"bpn","description":"Service to discover EDC to a particular BPN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"316417cd-0fb5-4daf-8dfa-8f68125923f1"}]}}}}}}},"description":"Find the endpoints to BPN discovery services and the EDC discovery service.","method":"post","path":"/api/administration/connectors/discovery/search","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"types":["string"]},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Find the endpoints to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Find the endpoints to BPN discovery services and the EDC discovery service. - - - -Find the endpoints to BPN discovery services and the EDC discovery service. - -
            Request Body required
            - -The request body is expecting a list of types ( e.g. oen, bpid, etc.) to return available discovery endpoints. - -
            - -Returns discovery endpoints based on search filter. - -
            Schema
              endpoints DiscoveryEndpoint[]
              - -**Possible values:** `<= 10000` - -
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx deleted file mode 100644 index 94ae9a6ca45..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/post-discovery-endpoint.api.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: post-discovery-endpoint -title: "Define the endpoint to BPN discovery services and the EDC discovery service." -description: "Define the endpoint to BPN discovery services and the EDC discovery service." -sidebar_label: "Define the endpoint to BPN discovery services and the EDC discovery service." -hide_title: true -hide_table_of_contents: true -api: {"tags":["Finder"],"operationId":"PostDiscoveryEndpoint","requestBody":{"description":"Create new endpoint for bpn discovery service / edc discovery service. The type is uniqued. This service is allowed to administrators only","content":{"application/json":{"schema":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html"}}}}},"required":true},"responses":{"201":{"description":"Discovery Endpoint created successfully","content":{"application/json":{"schema":{"title":"DiscoveryEndpoint","required":["type","description","endpointAddress"],"properties":{"type":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":1,"maxLength":500},"endpointAddress":{"type":"string","minLength":1,"maxLength":300},"documentation":{"type":"string","minLength":1,"maxLength":500},"resourceId":{"type":"string"}}},"examples":{"complete":{"value":{"type":"oen","description":"Service to discover BPN to a particular OEN","endpointAddress":"http://...","documentation":"http://.../swagger/index.html","resourceId":"ec6f407b-4296-418c-9e4e-fb739fe72a67"}}}}}}},"description":"Define the endpoint to BPN discovery services and the EDC discovery service.","method":"post","path":"/api/administration/connectors/discovery","security":[{"CatenaXOpenId":["profile"]}],"securitySchemes":{"CatenaXOpenId":{"type":"openIdConnect","openIdConnectUrl":"../.well-known/openid-configuration"}},"jsonRequestBodyExample":{"type":"string","description":"string","endpointAddress":"string","documentation":"string","resourceId":"string"},"info":{"title":"Discovery Finder","description":"Discovery Finder to find endpoint of the BPN/EDC Discovery.","contact":{"name":"SLDT Team"},"version":"0.0.1"},"postman":{"name":"Define the endpoint to BPN discovery services and the EDC discovery service.","description":{"type":"text/plain"},"url":{"path":["api","administration","connectors","discovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Define the endpoint to BPN discovery services and the EDC discovery service. - - - -Define the endpoint to BPN discovery services and the EDC discovery service. - -
            Request Body required
            - -Create new endpoint for bpn discovery service / edc discovery service. The type is uniqued. This service is allowed to administrators only - -
            - -Discovery Endpoint created successfully - -
            Schema
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js deleted file mode 100644 index d69d5fb8a55..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Discovery Finder/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//discovery-finder"},{"type":"category","label":"Finder","link":{"type":"generated-index","title":"Finder","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder/finder"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//post-discovery-endpoint","label":"Define the endpoint to BPN discovery services and the EDC discovery service.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//get-discovery-endpoints","label":"Find the endpoints to BPN discovery services and the EDC discovery service.","className":"api-method post"},{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Discovery Finder//delete-discovery-endpoint-by-resource-id","label":"Delete the endpoint to BPN discovery services and the EDC discovery service.","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx deleted file mode 100644 index c6414300ef6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/post-list-of-bpns-to-retrieve-available-company-connector.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors -title: "post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)" -description: "Example: POST: /api/administration/connectors/discovery" -sidebar_label: "post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Connectors"],"description":"Example: POST: /api/administration/connectors/discovery","requestBody":{"description":"Single or List of Business Partner Number of the company.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}},"application/*+json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returns company connector per bpn.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"bpn":{"type":"string","description":"","nullable":true},"connectorEndpoint":{"type":"array","items":{"type":"string"},"description":"","nullable":true}},"additionalProperties":false,"description":""}}}}},"401":{"description":"The User is unauthorized"},"500":{"description":"Internal Server Error"}},"method":"post","path":"/api/administration/Connectors/discovery","security":[{"Bearer":[]}],"securitySchemes":{"Bearer":{"type":"apiKey","description":"JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"","name":"Authorization","in":"header"}},"jsonRequestBodyExample":["string"],"info":{"title":"Org.Eclipse.TractusX.Portal.Backend.Administration.Service","version":"v2"},"postman":{"name":"post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)","description":{"content":"Example: POST: /api/administration/connectors/discovery","type":"text/plain"},"url":{"path":["api","administration","Connectors","discovery"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Digital Twin Kit/Software Development View/API EDC Discovery//org-eclipse-tractusx-portal-backend-administration-service -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors) - - - -Example: POST: /api/administration/connectors/discovery - -
            Request Body array
            - -Single or List of Business Partner Number of the company. - -
            • string
            Request Body array
            - -Single or List of Business Partner Number of the company. - -
            • string
            Request Body array
            - -Single or List of Business Partner Number of the company. - -
            • string
            - -Returns company connector per bpn. - -
            Schema array
            - -The User is unauthorized - -
            - -Internal Server Error - -
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js deleted file mode 100644 index fbd8cfacb8a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API EDC Discovery/sidebar.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = [ -{ - "type":"category","label":"Connectors","link": - { - "type":"generated-index","title":"Connectors","slug":"/category/kits/Digital Twin Kit/Software Development View/API EDC Discovery/connectors" - }, - "items": - [{ - "type":"doc","id":"kits/Digital Twin Kit/Software Development View/API EDC Discovery//post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors","label":"post list of bpns or an empty array to retrieve available company connector. (Authorization required - Roles: view_connectors)","className":"api-method post" - }]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx deleted file mode 100644 index 5da2065f6c9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/dotaas-part-2-http-rest-submodel-service-specification.info.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: dotaas-part-2-http-rest-submodel-service-specification -title: "DotAAS Part 2 | HTTP/REST | Submodel Service Specification" -description: "The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub)." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: V3.0.1_SSP-003 - -# DotAAS Part 2 | HTTP/REST | Submodel Service Specification - - - -The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). -Publisher: Industrial Digital Twin Association (IDTA) April 2023 - -

            Contact

            Industrial Digital Twin Association (IDTA): info@idtwin.org

            License

            CC BY 4.0
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx deleted file mode 100644 index 340110b9c46..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-description.api.mdx +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: get-description -title: "Returns the self-describing information of a network resource (ServiceDescription)" -description: "Returns the self-describing information of a network resource (ServiceDescription)" -sidebar_label: "Returns the self-describing information of a network resource (ServiceDescription)" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Description API"],"operationId":"GetDescription","responses":{"200":{"description":"Requested Description","content":{"application/json":{"schema":{"type":"object","properties":{"profiles":{"minItems":1,"type":"array","items":{"type":"string","enum":["https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003","https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003","https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004","https://admin-shell.io/aas/API/3/0/ConceptDescriptionServiceSpecification/SSP-001"]}}},"description":"The Description object enables servers to present their capabilities to the clients, in particular which profiles they implement. At least one defined profile is required. Additional, proprietary attributes might be included. Nevertheless, the server must not expect that a regular client understands them.","example":"{\n \"profiles\": [\n \"https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002\",\n \"https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002\"\n ]\n}"}}}},"401":{"description":"Unauthorized, e.g. the server refused the authorization attempt.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0"],"description":"Returns the self-describing information of a network resource (ServiceDescription)","method":"get","path":"/description","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Submodel Service Specification","description":"The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). \nPublisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0.1_SSP-003"},"postman":{"name":"Returns the self-describing information of a network resource (ServiceDescription)","description":{"type":"text/plain"},"url":{"path":["description"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the self-describing information of a network resource (ServiceDescription) - - - -Returns the self-describing information of a network resource (ServiceDescription) - -
            - -Requested Description - -
            Schema
              = 1`"} defaultValue={undefined}>
            - -Unauthorized, e.g. the server refused the authorization attempt. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx deleted file mode 100644 index ab00e898fd2..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/get-submodel-value-only.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: get-submodel-value-only -title: "Returns the Submodel in the ValueOnly representation" -description: "Returns the Submodel in the ValueOnly representation" -sidebar_label: "Returns the Submodel in the ValueOnly representation" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Submodel API"],"operationId":"GetSubmodel-ValueOnly","parameters":[{"name":"level","in":"query","description":"Determines the structural depth of the respective resource content","required":false,"schema":{"type":"string","default":"deep","enum":["deep"]}},{"name":"extent","in":"query","description":"Determines to which extent the resource is being serialized","required":false,"schema":{"type":"string","default":"withoutBlobValue","enum":["withBlobValue"]}}],"responses":{"200":{"description":"ValueOnly representation of the Submodel","content":{"application/json":{"schema":{"properties":{"submodelElements":{"minItems":1,"type":"array","items":{"allOf":[{"allOf":[{"type":"object","properties":{"extensions":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["name"],"properties":{"name":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"refersTo":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}]}}}},{"required":["modelType"],"properties":{"category":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"idShort":{"type":"string","allOf":[{"maxLength":128,"minLength":1},{"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"},{"pattern":"^[a-zA-Z][a-zA-Z0-9_]*$"}]},"displayName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":128}}}]}},"description":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}}]},{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["modelType"],"type":"object","properties":{"qualifiers":{"minItems":1,"type":"array","items":{"allOf":[{"type":"object","properties":{"semanticId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"supplementalSemanticIds":{"minItems":1,"type":"array","items":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}},{"required":["type","valueType"],"properties":{"kind":{"type":"string","enum":["ConceptQualifier","TemplateQualifier","ValueQualifier"]},"type":{"maxLength":128,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueType":{"type":"string","enum":["xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:decimal","xs:double","xs:duration","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:int","xs:integer","xs:long","xs:negativeInteger","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:positiveInteger","xs:short","xs:string","xs:time","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort"]},"value":{"type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}]}},"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"type":"object","properties":{"embeddedDataSpecifications":{"minItems":1,"type":"array","items":{"required":["dataSpecification","dataSpecificationContent"],"type":"object","properties":{"dataSpecification":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"dataSpecificationContent":{"oneOf":[{"allOf":[{"required":["modelType"],"type":"object","properties":{"modelType":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataSpecificationIec61360","Entity","File","MultiLanguageProperty","Operation","Property","Range","ReferenceElement","RelationshipElement","Submodel","SubmodelElementCollection","SubmodelElementList"]}}},{"required":["preferredName"],"properties":{"preferredName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":255}}}]}},"shortName":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":18}}}]}},"unit":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"unitId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]},"sourceOfDefinition":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"symbol":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"dataType":{"type":"string","enum":["BLOB","BOOLEAN","DATE","FILE","HTML","INTEGER_COUNT","INTEGER_CURRENCY","INTEGER_MEASURE","IRDI","IRI","RATIONAL","RATIONAL_MEASURE","REAL_COUNT","REAL_CURRENCY","REAL_MEASURE","STRING","STRING_TRANSLATABLE","TIME","TIMESTAMP"]},"definition":{"minItems":1,"type":"array","items":{"allOf":[{"required":["language","text"],"type":"object","properties":{"language":{"pattern":"^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$","type":"string"},"text":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}},{"properties":{"text":{"maxLength":1023}}}]}},"valueFormat":{"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueList":{"required":["valueReferencePairs"],"type":"object","properties":{"valueReferencePairs":{"minItems":1,"type":"array","items":{"required":["value","valueId"],"type":"object","properties":{"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"valueId":{"allOf":[{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}},{"properties":{"referredSemanticId":{"required":["keys","type"],"type":"object","properties":{"type":{"type":"string","enum":["ExternalReference","ModelReference"]},"keys":{"minItems":1,"type":"array","items":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["AnnotatedRelationshipElement","AssetAdministrationShell","BasicEventElement","Blob","Capability","ConceptDescription","DataElement","Entity","EventElement","File","FragmentReference","GlobalReference","Identifiable","MultiLanguageProperty","Operation","Property","Range","Referable","ReferenceElement","RelationshipElement","Submodel","SubmodelElement","SubmodelElementCollection","SubmodelElementList"]},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"}}}}}}}}]}}}}}},"value":{"maxLength":2000,"minLength":1,"pattern":"^([\\t\\n\\r -퟿- ]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$","type":"string"},"levelType":{"required":["max","min","nom","typ"],"type":"object","properties":{"min":{"type":"boolean"},"nom":{"type":"boolean"},"typ":{"type":"boolean"},"max":{"type":"boolean"}}},"modelType":{"pattern":"DataSpecificationIec61360","type":"string"}}}]}]}}}}}}]}}}}}}},"400":{"description":"Bad Request, e.g. the request parameters of the format of the request body is wrong.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"401":{"description":"Unauthorized, e.g. the server refused the authorization attempt.","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}},"default":{"description":"Default error handling for unmentioned status codes","content":{"application/json":{"schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"code":{"maxLength":32,"minLength":1,"type":"string"},"correlationId":{"maxLength":128,"minLength":1,"type":"string"},"messageType":{"type":"string","enum":["Undefined","Info","Warning","Error","Exception"]},"text":{"type":"string"},"timestamp":{"pattern":"^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$","type":"string"}}}}}}}}}},"x-semanticIds":["https://admin-shell.io/aas/API/GetSubmodelById/3/0"],"description":"Returns the Submodel in the ValueOnly representation","method":"get","path":"/submodel/$value","servers":[{"url":"{protocol}://{host_name}:{port}/api/{version_prefix}","variables":{"protocol":{"description":"Allows access through http and https (recommended)","default":"https","enum":["http","https"]},"host_name":{"description":"Hostname of server hosting the api","default":"admin-shell.io"},"port":{"description":"80 is default for http, 443 for https","default":"443","enum":["80","443"]},"version_prefix":{"default":"v3.0","enum":["v3.0"]}}}],"info":{"title":"DotAAS Part 2 | HTTP/REST | Submodel Service Specification","description":"The Value Profile of the Submodel Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub). \nPublisher: Industrial Digital Twin Association (IDTA) April 2023","contact":{"name":"Industrial Digital Twin Association (IDTA)","email":"info@idtwin.org"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"V3.0.1_SSP-003"},"postman":{"name":"Returns the Submodel in the ValueOnly representation","description":{"type":"text/plain"},"url":{"path":["submodel","$value"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Determines the structural depth of the respective resource content","type":"text/plain"},"key":"level","value":""},{"disabled":false,"description":{"content":"Determines to which extent the resource is being serialized","type":"text/plain"},"key":"extent","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Returns the Submodel in the ValueOnly representation - - - -Returns the Submodel in the ValueOnly representation - -
            Query Parameters
            - -ValueOnly representation of the Submodel - -
            Schema
              = 1`"} defaultValue={undefined}>
            - -Bad Request, e.g. the request parameters of the format of the request body is wrong. - -
            Schema
              messages object[]
            - -Unauthorized, e.g. the server refused the authorization attempt. - -
            Schema
              messages object[]
            - -Forbidden - -
            Schema
              messages object[]
            - -Internal Server Error - -
            Schema
              messages object[]
            - -Default error handling for unmentioned status codes - -
            Schema
              messages object[]
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js deleted file mode 100644 index b0e1ee3922f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/API Submodel/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//dotaas-part-2-http-rest-submodel-service-specification"},{"type":"category","label":"Submodel API","link":{"type":"generated-index","title":"Submodel API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel/submodel-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//get-submodel-value-only","label":"Returns the Submodel in the ValueOnly representation","className":"api-method get"}]},{"type":"category","label":"Description API","link":{"type":"generated-index","title":"Description API","slug":"/category/_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel/description-api"},"items":[{"type":"doc","id":"_versioned_docs/version-3.1.0/kits/Digital Twin Kit/Software Development View/API Specs/Submodel//get-description","label":"Returns the self-describing information of a network resource (ServiceDescription)","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index b1222eff469..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,546 +0,0 @@ ---- -id: dt-kit-software-development-view -title: Developing with the DT KIT -description: 'Digital Twin KIT - Software Development View' -sidebar_position: 1 ---- - - - - -![DT Kit Pictotogram](../assets/img/DTKIT_pictogram_blue.png) - -### Digital Twin KIT - - - -## Architecture Overview - -The interplay of the Digital Twin Kit's components can be found in -the [Operation View](../page_software-operation-view.md). - -## API Specifications - -All openAPI-specifications for the Digital Twin Kit services are rendered in the -section [of these docs](API%20AAS%20Discovery/dotaas-part-2-http-rest-discovery-service-specification.info.mdx) - -### Asset Administration Shell - -The Asset Administration Shell (AAS) is a specification that is released by -the [Industrial Digital Twin Association (IDTA)](https://industrialdigitaltwin.org/) -with a perspective to be adopted by the [International Electrotechnical Commission (IEC)](https://www.iec.ch/homepage)as -IEC 63278. - -Its mission is defining how “information about assets […] can be exchanged in a meaningful way between partners in a -value -creation network”. As such, it is well-suited to contribute to the toolbox of Catena-X. While the Spec offers an -extensive -suite of meta-model elements and APIs, Catena-X only uses a small subset. What exactly is defined in the Catena-X -standard -CX - 0002. - -#### Submodels - -An Asset Administration Shell is organized in Submodels. Each Submodel represents a self-contained aspect of an asset - -typical examples are the *Nameplate* or *SingleLevelBomAsBuilt* (which denotes the hierarchical composition of parts -into -a whole). As different aspects of an Asset may be known to different parties on the value-chain, Submodels for a single -asset -must be capable to run independently of each other. The specification explicitly allows this, enabling easy -cross-company -data integration. - -Recognizing that not all use-cases require the full functionality of the AAS-Spec, Catena-X demands that Data -Providers offer only a subset of the SubmodelServiceSpecification - namely the `$value` serialization. This is an -abbreviated -notation of an AAS-Submodel that is focused on data instead of context. While it is advisable to expose Submodels with -help of -a full-fletched AAS-server SDK that provides the content-modifiers and API-endpoints out-of-the-box, this is not yet -mandatory. - -#### Digital Twin Registry - -What Catena-X calls the "Digital Twin Registry" (DTR) is actually the union of two different services that the AAS -specification -has specified. For the sake of simplicity, they are both defined in a single component. The DTR serves a similar -function as the -index in a book: When trying to discover information, it's convenient to have an overview WHAT one will find, HOW and -WHERE to -access it. The registry caters exactly that information: For every asset it knows, it holds a number of Submodel -Descriptors and in -these, a consumer app will find information what it will find (via the semanticId) and how to access the information ( -endpoint, -security setup etc.). As the information contained in the DTR may be sensitive and not be trusted with a central entity, -every data provider must offer his own DTR as an EDC Data Asset. While it is only mandatory to implement the GET -endpoints -as specified in -the [Development View](API%20AAS%20Registry/dotaas-part-2-http-rest-registry-service-specification.info.mdx), -data providers may find it useful to implement other requests for registration -on top. Either way, they are free to populate their DTR in any way they desire. - -### Catena-X specific Services - -DTRs hold sensitive information: a SubmodelDescriptor may not give access to the actual Submodel-data but all in cumulo -hint at -production volumes as each Twin represents an asset. Therefore, Catena-X implements decentral DTRs (DDTR), each running -with a -business partner. -[In an IDTA-Whitepaper](https://industrialdigitaltwin.org/en/wp-content/uploads/sites/2/2023/06/Decentralized-Registries-Taxonomy-of-decentralized-registries-and-an-architectural-overview_.pdf), -several high-level concepts for DDTRs are introduced. The AAS-specification remains agnostic to the approaches and -endorses -none of them. Catena-X must deal with the additional complexity that stems from the interaction with the EDC. - -Leveraging the native capabilities of the EDC and the EDC Discovery Service, Catena-X uses a discovery pattern that has -the -same capability as a central [Digital Twin Registry](#digital-twin-registry) would: -It allows to start a Discovery Process with ONLY an Asset ID. -However, in Catena-X some of the data is deemed so sensitive that a central authority can't be -trusted with it. Thus, a decentralized approach is implemented: each Data Provider will run their own DTR. -This poses a challenge for discovery if the BPN of the supplier is not known by the data consumer. After all, a -Data Consumer must still find out the address where to fetch the data from. That's why Catena-X has introduced a -three-step discovery pattern made up of the central microservices Discovery Finder, BPN Discovery (or several of them) -and finally the EDC discovery that is part of the CX-Portal. -The Discovery Finder and the BPN Discovery service are described as part of this Kit. - -## Sample Data - -Generic sample data for relevant data objects is contained in the openAPI-specs of the respective services. This chapter -contains data structures that are more specifically designed for use in the Digital Twin Kit. They are compliant with -the base-specifications (like AAS) but restrict the application even further for use in this Dataspace. - -### Registration at Digital Twin Registry - -The Digital Twin Registry connects an asset (identified by its assetIds) with links to the Submodels. Since Catena-X -uses -the EDC as a gateway for all inter-company interaction, the Digital Twin Registry must account for that. By design, it -includes the possibility to add additional context via the fields `subprotocol`, `subprotocolBody` -and `subprotocolEncoding`. -`subprotocol` will always be set to `DSP`, short for -the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/overview/readme) -as standardized by the IDSA. `subprotocolEncoding` is always set to `plain`. - -There's three relevant inputs to discover a referenced Submodel in Catena-X: - -- The `subprotocolBody` contains two pieces of information, assigned with `=` and separated by `;`: - - `dspEndpoint` is the URL of the Control Plane where a Data Consumer can negotiate for access to this Submodel. For - many - connector-implementations, this will end on `/api/v1/dsp`. As this property will be used in the discovery sequence - to construct a `catalog`-request, this variable is equivalent to the `` - in [this example](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/catalog/catalog.binding.https#id-2.1-prerequisites) - in the DSP-spec. - - When calling the /catalog API of that Control Plane, she should filter for dcat:Dataset entries that are - identified - by the `id` mentioned in the `subprotocolBody`. -- After having successfully negotiated for a Data Offer associated with the `id`, the Data Consumer can query the Data - Plane - of the given EDC to access the data. For that, she must use the URL given in the Submodel-Descriptor's `href` field - and - append the additional URL-segment `/$value`. - -#### Registering a new Twin - -Registration of a new twin is (at least in Catena-X) equivalent to the creation of a new twin. Thus, a Data Provider -should always ensure that there is no shell-descriptor created for the respective assetIds yet. If there already is one, -the submodel-descriptor should -be [added to the existing shell-descriptor](#registering-a-new-submodel-at-an-existing-twin). - -`POST /shell-descriptors` - -```json -{ - "id": "urn:uuid:e5c96ab5-896a-1234-8761-efd74777ca97", - "idShort": "myAas", - "specificAssetIds": [ - { - "name": "manufacturerPartId", - "value": "123-345-567103", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "{{BPN of the party privileged}}" - } - ] - } - } - ], - "submodelDescriptors": [ - { - "id": "e5c96ab5-896a-482c-8761-efd74777ca97", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/mypath/submodel", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/api/v1/dsp", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ] - } - ] -} -``` - -#### Registering a new Submodel at an existing Twin - -`POST /shell-descriptors/{{aasId}}` - -```json -{ - "id": "e5c96ab5-896a-482c-8761-efd74777ca97", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/mypath/submodel", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/api/v1/dsp", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ] -} - -``` - - - -### Registration at EDC - -Integration between the EDC and AAS-Components in the dataspace is a strict prerequisite for robust discovery and data -access -in the Catena-X dataspace. As all data that crosses company-boundaries must be exchanged via an EDC, CX-0002 provides -the necessary normative statements to facilitate interoperable data exchange. - -One relevant question is how the EDC-shielded services of this Kit should register with the Asset endpoint of the EDC -Management API. -While the EDC's /v3/assets endpoint is internal to the Data Provider only, the objects are also available via the -/catalog API -that is specified in the Dataspace Protocol. - -The EDC uses json-ld. Json-ld is a serialization for RDF graphs ( -see [Resource Description Framework](https://www.w3.org/RDF/)). The json-ld -`@context` section can declare the namespaces that resources explicitly mentioned in the rest of the document belong to. -It may also define default namespace with `@vocab` for resources without explicitly stated namespaces. Outside of -the "@context" section, the `@type` property always defines the class that an object belongs to. -As stated in the openAPI-specification of the EDC Management API's relevant endpoint, all entries in -the `asset/properties` -object and the `privateProperties` object can be chosen freely. The section on the `dataAddress` is structured depending -on the `edc:type` property. The example below is determined by -the [HttpDataAddress](https://github.com/eclipse-edc/Connector/blob/main/spi/common/core-spi/src/main/java/org/eclipse/edc/spi/types/domain/HttpDataAddress.java) -class. Its parameters determine -the behavior of the EDC's HTTP data plane at runtime. How they should be used is not subject to standardization since -they -aren't visible in the Dataspace. Certain values may have to be set in a certain way to enable the data exchange via -the DT Kit. - -It presents the backend resources as dcat:DataSets with properties funnelled through from the assets-API. These -properties can be freely set by the Data Provider. - -For successful discovery of Digital Twins, it is critical to register Submodels and Digital-Twin-Registries in a -harmonized way. The following overview shall explain how the `asset/properties` section could be used. - -- `https://purl.org/dc/terms/type` (mandatory as per CX-0018): denotes the type of Asset that is registered. The - property - points to an RDF resource. In the context of digital twins two predefined resources are of - relevance: `https://w3id.org/catenax/taxonomy#DigitalTwinRegistry`and `https://w3id.org/catenax/taxonomy#Submodel` - -- `https://w3id.org/catenax/common/version` (mandatory as per CX-0002): version-string of the registered type of - resource. - For all endpoints related to the AAS-spec, this must be set to "3.0" as that's the current normative version of the - AAS specification. - -#### Digital Twin Registry as EDC Data Asset - -- `asset:prop:type` (mandatory as per CX-0002): denotes the type of Asset that is registered. For all AAS-registries - this property must be set to `data.core.digitalTwinRegistry`. This property will likely be removed in the future as - it was overridden by the mandate in CX-0018. - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ _.edcAssetId }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DigitalTwinRegistry" - }, - "cx-common:version": "3.0", - "asset:prop:type": "data.core.digitalTwinRegistry" - }, - "privateProperties": { - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ _.url_backend }}", - "proxyQueryParams": "true", - "proxyPath": "true", - "proxyMethod": "false", - "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", - "oauth2:clientId": "{{ _.client_id_backend }}", - "oauth2:clientSecretKey": "{{ _.sec_name_vault }}" - } -} -``` - -The HttpDataAddress above configures the following behavior: - -- `baseUrl`: After successful negotiation, the data plane will delegate requests here and forward the answer. For the - DTR, - it's critical that the URL inserted here must end before the /shell-descriptors and /lookup segments. -- `proxyPath`: This string can be either "true" or "false". If set to true, the EDC Data Plane will always forward - the URL-segments added to the request to the dataplane to the backend URL. For example: - If `baseUrl="http://mydtr.com/api/v3"` - and `proxyPath="true"` then an authorized request to `http://dataplane.com/shell-descriptors` will be delegated to the - backend - `http://mydtr.com/api/v3/shell-descriptors` -- `proxyQueryParams`: This string can be either "true" or "false". If set to true, the EDC Data Plane will always - forward - query parameters to the backend. For the /lookup APIs of the registry, this is critical. -- `proxyMethod`: This string can be either "true" or "false". If "false", the Data Plane will change the HTTP-Verb to - GET - for all incoming requests. As there is no scenario in the Catena-X scope where a business partner manipulates data in - a - foreign DTR, it should be set to false. - -#### Submodel as EDC Data Asset - -A Data Provider may create -one Data Asset per Submodel or bundle them into one - yielding a smaller catalogue hence better performance. The -discovery-sequence, -does not strictly require uniformity here. Not even the typization via the EDC-property `dct:type` is functionally -necessary. The discovery-sequence is still intact since a Data Consumer will always know the Submodel's -location relative to the Data Plane's `baseUrl` from the submodel-descriptor's `href` field. -The EDC-Asset shielding the Submodel is known from the descriptor's `subprotocolBody` containing the Control-Plane-URL -and -id of the EDC-Asset. For more details, see -section [Submodel Descriptor in the Digital Twin Registry](#registration-at-digital-twin-registry). - -The following shows an example for registration of a single AAS-Submodel as EDC Data Asset. The -`properties` section is analogous to that of the DTR but additionally holds `hasSemantics:semanticId`. It is -recommended and shall signify the meaning of the Submodel's payload. - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/", - "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" - }, - "@id": "{{ _.assetId }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:Submodel" - }, - "cx-common:version": "3.0", - "aas-semantics:semanticId": { - "@id": "urn:bamm:io.catenax.asset_tracker_links:1.0.0#AssetTrackerLinks" - } - }, - "privateProperties": { - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ _.url_backend }}", - "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", - "oauth2:clientId": "{{ _.client_id_backend }}", - "oauth2:clientSecretKey": "{{ _.sec_name_vault }}", - "proxyQueryParams": "false", - "proxyPath": "true", - "proxyMethod": "false" - } -} -``` - -There is no normative guidance yet on how to register multiple Submodels bundled together yet. These bundles may include -all the Submodels of a specific semanticId, all Submodels of an asset or any other arbitrary quality. This may be added -to -CX-0002 in future iterations. Even though the IDTA specifies a -[Submodel Repository API](https://app.swaggerhub.com/apis/Plattform_i40/SubmodelRepositoryServiceSpecification/V3.0.1_SSP-002), -in the context of the Catena-X architecture it is not strictly necessary to adhere to it. Submodels will be found -regardless, -given the URL-path relative to the `baseUrl` is appended correctly to the Data Plane's URL in the `href` field. The only -differences are the changed typization. `proxyPath` parameter should be set `"true"` either way. - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ _.assetId }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:SubmodelBundle" - }, - "cx-common:version": "3.0" - }, - "privateProperties": { - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ _.url_backend }}", - "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", - "oauth2:clientId": "{{ _.client_id_backend }}", - "oauth2:clientSecretKey": "{{ _.sec_name_vault }}", - "proxyQueryParams": "false", - "proxyPath": "true", - "proxyMethod": "false" - } -} -``` - -### Usage Policies - -For Digital Twin Registries, Data Providers are encouraged to only extend Data Offers that make no explicit checks to -`FrameworkAgreements`. The DTR is an Enablement Service that should only deployed once per Network Participant as it -handles meta-data from multiple use-cases. Registering it with a `FrameworkAgreement` would require registering the same -backend resource multiple times. - -For Submodel-APIs, Data Providers must follow the guidelines from their use-case-standards which will usually require -using the `FrameworkAgreement` specific to their use-case, mapping to credentials specific to their use-case. - -## Data Provisioning - -### Regulatory Compliance and Security - -The services of this Kit will in many instances hold sensitive data. While sound access management is a prerequisite for -every webservice, it is especially important in case of the DTR and Submodels. As they hold competitively sensitive -data, -unauthorized access is not only a data leak but a potential violation of regulatory compliance such as anti-trust law. - -That's why there are a couple shared requirements that DTR-deployments must adhere to: - -- If a Data Consumer has no legitimate interest, a shell-descriptor must not be returned when requested. -- If a Data Consumer has a legitimate interest, a shell-descriptor must not include any data (like `specificAssetIds`)of - companies other than the involved Data Provider and Data Consumer. -- If a Data Provider wants to share data publicly, a shell-descriptor must only contain the - attributes `id`, `submodelDescriptors` - and those `specificAssetIds` that were issued by the Data Provider and contain no hints of existing business - relationships. - -As the above properties are exposed not only via the AssetAdministrationShellRegistry interface but also the Discovery -interface (via the `/lookup/shells` endpoint), it must not serve more data than specified above. - -### Versioning - -Versioning in the Catena-X network is an essential task. This holds true for Digital Twins more specifically, too. The -network builds on several specifications where changes in API or specifications could break existing communication -channels. -In a simple scenario (where the Data Provider offers access to a Submodel via DTR and a Data Consumer GETs both -resources), these are the layers of complexity: - -| Versioned Object | Presence in the DT-Discovery Process | Description | Method to increment | -|--------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataspace Protocol | 12, 22 | The body of the `{{consumerControlPlane}}/v2/catalog/request`-request includes a reference to a versioned endpoint of a business partner's DSP endpoint like `{{providerControlPlane}}/api/v1/dsp` | As the design of the EDC's `/catalog/request`-API is an implementation detail, Consumers must consistently monitor its versioning. As the EDC-Management-API abstracts the DSP-messages, changes in the DSP may reflect in the Management-API but will not always do so. If a Consumer application decides to interact with the dataspace without mediation of the EDC, this changes. | -| AAS Specification | 4, 5, 15, 25 | For all AAS-related EDC-Assets (styled as dcat:Dataset in the catalog), a property cx-common:version must be added referring to the major and minor version of the AAS-spec. | For a major change in the AAS-spec, a new set of Catalog entries must be created by the Data Provider in accordance with the standards. For minor changes (AAS 3.x), Data Providers must signal the version in the `https://w3id.org/catenax/common#version` property of their contract offers and update it with each minor or patch update that's supported. Minor versions must also be signalled in the `submodelDescriptor`.`ìnterface`.`protocol` property. If the Submodel API increments with a major version, a new `interface` object must be added to the `submodelDescriptor`. | -| Data Model Version | 5, 21, 29 | The structure of the Submodel is determined by the aspect-model's URN. It includes a section on versioning. | A new version of the semantic model requires either setup of a new submodel (with a new submodel ID and the new semantic ID) or update of an existing submodel descriptor (with updated semantic ID). This includes updating registration information at the DTR. Rules on backward compatibility need to be considered. It may be requested to offer two Submodel versions at the same time. | - -Here's a list of duties for Data Providers in case they integrate a new Submodel (or version of an existing one) to an -existing -twin: - -- Expose a new Submodel to the Dataspace. If its URL is a subpath of one that's already registered as a EDC-Asset, - there is no need to specifically register it as a new EDC-Asset and create a Contract Definition for it. However, - if there is no such EDC-Asset, that's what a Data Provider must do: create an EDC-Asset, connect it to policies via - the contract- - definition-API and let consumers negotiate for it. -- If assetIds are known, the aasId can be discovered via `GET https://mydtr.com/api/v3.0/lookup/shells?assetIds=...` as - specified - by CX-0002. -- `POST https://mydtr.com/api/v3.0/shell-descriptors/{{aasId}}/submodel-descriptors` with the (known or obtained) aasId - in the path - and the new submodel-descriptor in the body of the request. The attribute `semanticId` is mandatory for - submodel-descriptors in Catena-X. - As defined in CX-0002, semanticIds in Catena-X are aspect-model-urns (see CX-0003) including a version. - -### Patterns for Submodel Deployment - -Data Providers will usually follow one of two patterns: - -1. Digital Twin Repository: Deploying a dedicated Repository for the persistence of digital twins and related data is - the most - convenient way to get started with the AAS. Due to the risk of data duplication and unclear initial ingestion - mechanisms, it may not scale to industrial sizes. -2. Delegation: Wrapping another API or a database may deploy the Submodel API as a new facade. It delegates the incoming - requests to the respective backend systems. This is particularly feasible in the Catena-X dataspace since offering - data to the network requires mappings that are naturally dependent on the data source format. More on data - integration - can be found in the - corresponding [CX e.V. guide](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Onboarding/DataIntegrationPatterns_Guide_Final_V1.pdf). - -### Patterns for DTRs - -Usually, a DTR will implement a persistence with the specified AAS-APIs for data ingestion specified in the SSP-001 -profile of the AssetAdministrationShellRegistryService by -means of POST endpoints, updatable with PUT and PATCH requests ( -see [reference implementation](https://github.com/eclipse-tractusx/sldt-digital-twin-registry)). - -These APIs should only be accessible by the Data Provider (for instance by introduction of proper access control scopes -or setting `proxyMethod = false`, see [registration](#digital-twin-registry-as-edc-data-asset)). Delegation -as backend integration pattern is more inconvenient as the DTR must process and return reproducible IDs not only for -the assets but also for the AAS - this is hard to realize in a pure stateless implementation. - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_adoption-view.md deleted file mode 100644 index 641ebfa76b9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_adoption-view.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -id: Adoption View Digital Twin Kit -title: Adoption View -description: 'Digital Twin Kit' -sidebar_position: 2 ---- - - - -![DT Kit Pictotogram](assets/img/DTKIT_pictogram_blue.png) - -### Digital Twin KIT - - -## Vision & Mission - -### Vision - -The aim of the Digital Twin Kit is to trace parts and materials across the entire value chain to enable data driven use -cases over all n-tier levels without compromising data sovereignty. This Kit enables data and app providers to deliver -solutions for building data chains and to send quality notifications on all levels and industries. - -The Kits purpose is to provide the Catena-X Automotive Network with a uniform infrastructure to enable data-level -interoperability between Business Partners. Regardless of the data's provenance, the Kit sets the scene -for a comprehensive landscape of distributed Digital Twins of assets (mostly parts) along the entire lifecycle of the -supply chain. - -### Mission - -The Digital Twin Kit bundles the necessary standards, APIs, interaction patterns and reference implementations on how -to build a Digital Twin for an asset. By adopting established standards and integrating them, the Digital Twin Kit leverages -the conceptual and implementation work of existing communities while contributing feedback and Open-Source-Contributions -back to the public. A priority is the seamless integration with other Catena-X developments such as the -[Connector Kit](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit). - -### Customer Journey - -With the Digital Twin Kit, all roles mentioned in the [Operating Model Whitepaper](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/CX_Operating_Modelv2.1_final.pdf) -are given the necessary tooling to format their data and APIs in a standardized manner. - - -## Business Value & Business Processes - -Point-to-Point integration between Business Partners is challenging. On the one hand, all questions of sovereignty, -authorization, authentication must be agreed upon and implemented. In the Catena-X network, that is covered by the -[Connector Kit](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) and the services it relies on. - -What this Kit adds is a set of technologies to reduce the integration efforts on the data level. Data Consumers can -develop their applications against data formats and interfaces that are standardized encouraging client-side reuse. -Consequently, data providers present data agnostic to who will consume the data from. This reduces the investment necessary -to onboard to additional Catena-X use-cases significantly. Consuming applications can be substituted seamlessly as -they are developed against the relevant Catena-X standards - further lowering the bar of entry for new applications in -the ecosystem. - - -## Use Case - -### Status Quo / Today’s challenge - -This Kit's aim is not to solve a dedicated business problem. It is an infrastructure component, critical for scalable -data sharing and integration. It does however deliver a broad set of capabilities that the use cases can leverage, namely: - -- Well-defined API structures extensible by domain models. Each use case will want to share different data and the API -expands with the scope of the model. - -- A distributed infrastructure of central and decentral components integrating hand-in-hand with backend-systems southward -and the network northward. - -- Extensive meta-model to create a virtual representation of assets across their entire lifecycle. - -### Example - -The [Traceability Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Adoption%20View%20Traceability%20Kit#logic--schema) -and the [Data Chain Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Data%20Chain%20Kit/Documentation/irs_arc42) -build on Digital Twins and leverage many of this Kit's content. The Data Chain Kit would be unimagineable without the -pre-defined endpoint- and payload-definition that is the Digital Twin Kit. Likewise, -coupling the chains' elements would be impossible without a unified hierarchical structure running with all participants. -For more info how specifically the Asset Administration Shell is used, consult the Kits. - -## Additional Resources - -### CX-Standards - -- [CX - 0001 EDC Discovery API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0001-EDCDiscoveryAPI_v1.0.2.pdf) *(version 1.0.2)* -- [CX - 0002 Digital Twins in Catena-X](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0002-DigitalTwinsInCatenaX-v2.1.0.pdf)*(version 2.1.0)* -- [CX - 0053 BPN Discovery Service](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0053-BPNDiscoveryServiceAPIs-v1.0.1.pdf) *(version 1.0.1)* - -### Terminology - -CX-0002 includes a figure on how the terms (also used in this Kit) interrelate. Check it out on page 5 of the [published -standard](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0002-DigitalTwinsInCatenaX-v2.1.0.pdf). - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_changelog.md deleted file mode 100644 index 98afa0b82e5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_changelog.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -id: Digital Twin Kit Changelog -title: Changelog -description: 'Digital Twin Kit' -sidebar_position: 1 ---- - -![DT Kit Pictotogram](assets/img/DTKIT_pictogram_blue.png) - -### Digital Twin KIT - -## [1.2.0] - 2024-03-02 - -- Added more details on interaction patterns -- Added guidance on confidentiality classification of properties -- bugfixes, clarifications - -## [1.1.0] - 2023-12-05 - -### Added - -- remarks on versioning -- guidance for adding submodels to existing twins - -### Changed - -- A couple of clarifications and bugfixes for R23-12 -- Version of Kit incremented as minor revision since no breaking changes occurred. - -## [1.0.0] - 2023-08-17 - -### Added - -- version from release - -### Changed - -- couple of bugfixes raised by reviewers - -## [0.2.0] - 2023-08-08 - -

            Added

            - -- Additional figure on terminology -- section on entire discovery mechanism -- pictograms - -

            Changed

            - -- Clarification on decentralization of registries -- Minor improvements based on stakeholders' feedback -- figures optimized for dark backgrounds -- example data adjusted to standards for CX R3.2 - -

            Removed

            - -- ./. - -## [0.1.0] - 2023-07-12 - -

            Added

            - -- Initial version of the Kit including adoption, operation and development view incl. all relevant API specifications. - -

            Changed

            - -- ./. - -

            Removed

            - -- ./. - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_software-operation-view.md deleted file mode 100644 index 730b4ca0582..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/page_software-operation-view.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: Operation View Digital Twin Kit -title: Operation View -description: 'Digital Twin Kit' -sidebar_position: 3 ---- - -![DT Kit Pictotogram](assets/img/DTKIT_pictogram_blue.png) - -### Digital Twin KIT - - - -Based on the information provided in this kit, it is possible to run and program against an infrastructure of -Digital Twins the Catena-X-way. This infrastructure empowers Data Consumers to consume the network's data as agreed with -each Data Provider and facilitated by an Operating Company. They run central and decentral services that allow them to -discover each other, exchange information and contextualize it according to a standardized semantics. - -The APIs for digital twins are based on the specifications of the Asset Administration Shell (AAS) as defined in -CX-0002. - -## Deployment - -| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | -|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| -| Discovery Finder | A microservice resolving type of identifiers against a set of BPN-Discovery Servers. | [Tractus-X Discovery Finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | -| BPN Discovery | A microservice resolving a particular assetId against the registered BPN of its owner. | [Tractus-X BPN Discovery](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | -| EDC Discovery | A microservice that resolves a BPN against an EDC endpoint. | [Tractus-X Portal including EDC Discovery API](https://github.com/eclipse-tractusx/portal-backend) | CX - 0001 | -| Digital Twin Registry | A registry for digital twins, each digital twin providing the endpoints of its submodels.
            The registry is adhering to the AAS Registry API. | [Tractus-X Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | -| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service),
            [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk),
            [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | - -![High Level Architecture of an App leveraging the Digital Twin Kit](assets/img/DTKIT_high_level_arch.svg) - -## Setup Guide - -Detailed guidance on setup of the abovementioned components can be found in the repositories of their linked reference -implementations. - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.png b/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.png deleted file mode 100644 index c83429eae09..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.png b/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.png deleted file mode 100644 index 9f0a43a1f46..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/changelog.md b/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/changelog.md deleted file mode 100644 index 2e7e64a1fbb..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/changelog.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: ESS Kit Changelog -title: Changelog -sidebar_position: 1 ---- - -## [0.1.0] - 2024-03-06 - -### Added - -- Initial installation of the kit - -### Changed - -### Removed - -## Notice - -This work is licensed under the CC-BY-4.0. - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2024 BASF SE -- SPDX-FileCopyrightText: 2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2024 SAP SE -- SPDX-FileCopyrightText: 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2024 Gris Group -- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_adoption-view.md deleted file mode 100644 index ae5c1f7c288..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_adoption-view.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -id: ESS Kit Adoption View -title: Adoption View -description: 'Environmental and Social Standards Incident Management Kit' -sidebar_position: 2 ---- - -![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) - -## Vision & Mission - -### Introduction - -The German Supply Chain Due Diligence Act came into force on January 1^st^, 2023. This law regulates corporate responsibility for compliance with human rights in global supply chains. These include, for example, protection against child labour, the right to fair wages and the protection of the environment. This legislation can be added to a long list of existing and future legislations that regulate our global supply chains, like the EU Corporate Sustainability Due Diligence Directive (CSDDD), the EU Ecodesign for Sustainable Products Regulation (ESPR), EU Corporate Sustainability Reporting Directive (CRSD), or the International Bill of Human Rights. - -Catena-X aims to support supply chain due diligence obligations in a market environment that misses full up- and downstream transparency. This is argued to be relevant for Environmental and Social Standards (ESS) incident tracking, without compromising GAIA-X and Catena-X principles like data sovereignty, interoperability, standardization, and use of federated services. - -### Vision - -As companies governed by environment and social standards (ESS), we would like to determine, if we are affected by an incident reported in the global supply network. Consequently, we could prove to be fully compliant with legal requirements, including but not limited to the German Supply Chain Due Diligence Act. - -### Mission - -The automotive supply network is described as highly complex and globally interwoven. It operates in a heterogeneous political and environmental context with many different ambitions. The current challenges for cross-company ESS incident management are described by: - -- High manual effort of a small set of experts that work in their own silos and focus on company-centric investigation. A problem accentuated at the level of small and medium enterprises (SME), -- Low network collaboration and by that long processing time amongst business partners, -- Lack of trust to share data, amongst many intermediates, -- Varying quality of information and sources. - -Our mission is to streamline the handling of incidents reported to the Catena-X network. The ESS KIT supports cross-company ESS incident management with appropriate processes. This radical change from our organization-centred model would mitigate the challenges listed above. The ESS KIT consists of the following building blocks: - -- Standards to guarantee data sovereignty and data security, like the Connector KIT (EDC), Business Partner KIT and Agents KIT, as well as our standards, -- Standardized data model accompanied with a defined tracing process to reduce processing time for an incident. - -### Business value - -If Catena-X members want to minimize their ESG risk and bring transparency into their supply chains, there is a strong need to collect knowledge and reliable information. Arguably, the primary added value of the ESS KIT is our simplified cross-company communication coupled with the clearing agency concept. - -With the Clearing agency in place, business partners subscribing to the ESS KIT, can with confidence collect incidents from multiple actors and a broad range of sources (*e.g.* receiving incidents from company's internal incident management systems or from public news reports and automated information gathering). The clearing agency, as an independent body will among other activities reduce fraudulent cases and consolidate information of potential incidents. - -The processes of the ESS KIT will transfer information in the respective supply chains to efficiently zero-in on the relevant business partners. So, with the ESS KIT, the members of the Catena-X network are enabled to act quickly due to collaboration and standardization. - -Furthermore, the ESS KIT allows for quick adaptation to new national and internal laws and helps ensure legal compliance through enhanced supply chain transparency and verification. - -Thus, the ESS incident KIT offers a uniform and cross-sectoral grievance mechanism for managing incidents related to specific occasions, filling a gap that currently exists. - -## Use Case - -### Prerequisites - -The scope of our business is the prompt handling of incidents reported to the Catena-X network. The following prerequisites are necessary for the ESS KIT: - -- High number of Catena-X members need to be onboarded to cover our supply chains and increase the success rate of the tracing of incidents, -- Catena-X members agree to a code of conduct, -- The member needs to follow the onboarding process. - -### Customer Journey: Occasion-related tracking of ESS-related incidents - -This customer journey describes the process when an incident is reported to the Catena-X network. From the determination that needs to be made regarding its relevance to the business partners and further processing. - -This KIT support **the detection of incidents** from different sources (manual or automated), before being categorized by incident types / sub-types. The unstructured information (text and/or pictures) about each incident will be collected along with country-, company-, material-related data if available (note: no BoM data collected). The quality of the incident data is not guaranteed at this stage and for some cases, the investigation may be challenging due to insufficient information about the supply network. - -The Clearing Agency is prompted to **clear incidents.** This independent body has the tasks among others, to improve quality of data and reduce fraud or fakes. This includes but is not limited to, manual search and input from expert, consolidation of reports of the same incident and finally accept or archive incidents. Once the Clearing Agency found that the incident\'s originator is a Catena-X member, the Clearing Agency can use Catena-X Services find out the BPN-L, BPN-S and the EDC endpoints of the incident originator. Then the ESS incident is transferred to the incident originator via the Catena-X network. In case no Catena-X member can be identified as incident originator, the clearing agency will maintain the corresponding status "no member found". - -The **investigation of the ESS-related incident** is used to determine the cause of the reported incident. All business partners involved work to identify and confirm the origin of the incident. Once the source is identified and confirmed, a decision is made by the business partners whether to accept or reject the ESS-related incident. - -**The trace of an incident** is operated through the decentral Catena-X supply network. The process moves from business partner to business partner in their supply chain with the incident originator as the starting point. The use case ESS believes that the most promising way to solve an ESS incident will be a bottom - up approach. - -This means that the transfer of information is initiated by L0 who identifies its impacted customers (L1) using the bottom-up search logic (for example Knowledge Agent). The impacted customers (L1) can then push the information up the supply chain (*i.e.* their impacted customers or L2) and so on until it arrives at the end of the chain (*i.e.* OEM). - -The trace of an incident follows previously mentioned principles along any obligations enforced by law. For any business partner in the supply chain, its access to the status/information related to a specific incident will depend on its degree of relationship with the impacted company: - -- **Level 0 (L~0~):** the incident report is targeting the company directly. At that level, the incident manager of the L~0~ can consult all the relevant information and will manage the status and response. - -- **Level 1 (L~1~):** those business partners have a direct relationship with the L~0~. As already supported in existing legislations, L~1~ business partners will have access to the status of the incident and the full information of the potential incident at the L~0~. - -- **Level n (L~n~)**: those business partners have an indirect relationship with the potential incident originator (L~0~). They will receive from the previous business partner (L~n-1~) the anonymized incident information (anonymized title & description, category, status, etc.) along with the degree of relationship (*i.e.* their distance to the L~0~). The incident originator's identity (L~0~) and the path from L~0~ to L~n~ in the impacted supply chain will not be communicated, nor documented. - -- **Clearing Agency:** these users can see the status and the original intake of information of all incidents. The clearing agency will only be able to identify the targeted business partner (L~0~) who is handling the incident. Finally, if the incident can be closed by the L0, the clearing agency will receive a status update. - -![ESS_KitCustomerJourney](assets/CatenaX_ESS_KitCustomerJourney.png) - -### ESS Incidents personas - -#### Incident Issuer - -| **Short Description** | **Task / Responsibilities** | -|-----------------------------|-----------------------------| -| Issuer can be any person or institution | Raise ESS-related incident in a structured or unstructured manner | -| Not necessarily an ESS expert | Ambition to make ESS-related issue transparent and visible with as much information as possible | -| Can be either internal (e.g. auditor or employee) or external (e.g. business partner, individual, NGO, automatic-detection) | Committed to provide relevant information to properly address the ESS-related incident to the right business partner/ organizational unit | -| Uses either formal contact point (Catena-X Incident App, Catena-X Webpage, Company Webpage) or any kind of (social) media to issue ESS-related incident | | -| Potential contact to incident manager (ESS), human rights officer/risk management specialist | | - -#### Incident Manager - -| **Short Description** | **Task / Responsibilities** | -|-----------------------------|-----------------------------| -| Operational internal role/ central function that covers incidents as primary responsibility | Recording of ESS-related incidents | -| Follows statutory requirements and incidents through each process step until closure | Assignment of the ESS-related incident to the correct category with as much information as possible. Categories are: Violation of environmental and/or social standards | -| First contact and dispatcher for ESS-related incidents and incident status | Rejection or acceptance of ESS-related incident | -| Incident-Manager to get in contact with (e.g. sustainability@...) | Assignment of ESS-incident to internal business partner | -| SME/Business Partner for human rights officer, sustainability manager product/corporate, audit (internal, external) | Collaboration & cooperation with business partners and internal units | -| Potential contact to incident issuer (ESS) | Agreement of binding measures with relevant SMEs/ Business Partners | - -#### Clearing Agent - -| **Short Description** | **Task / Responsibilities** | -|-----------------------------|-----------------------------| -| Operational internal role/ central function that covers incidents as primary responsibility | Receives incident from various sources | -| First contact and dispatcher for ESS-related incidents and incident status | Reduce fraud / identify fake incidents | -| | Consolidate incidents (no multiples) | -| | Set / maintain central incident status and anonymized information (respect: one-up/one-down, decentral, data-sovereign, "flag" to allow sharing) | -| | Forward information to L0 of cleared ESS incident or archive of ESS incident | -| | Transfer ESS incidents to archive | - -### Semantic models - -Catena-X offers various semantic models depending on the specific application and KIT. They establish a fundamental understanding of the data and its connections, facilitating compatibility between different data sets. The data models of Catena-X prioritize principles such as clarity, standardization, distinction, verifiability, and comprehensiveness. - -The data model follows the Catena-X Standard CX-0113 () and is modelled following the CX-0003 Standard (). Below, you can find an excerpt of the full data set: - -#### ESS Incident Information - -| **Attribute Name** | **Description** | **Example** | -|-----------------------------|-----------------------------|-----------------------------| -| Category and sub-category  | Environmental and social standards related incident category according to Supply Chain Due Diligence Act  | Environmental (ex: usage of mercury, usage of harmful chemicals) \| Social (ex: child labour, work safety, discrimination)  | -| Subject and description  | Title of an incident in the context of ESS (Environmental and Social Standards) with its description  | Child labour in country x for product y reported. Small children under the age of 15 clean barrels with bare hands and under dubious working and payment conditions.  | -| Attachment(s)  | Picture(s) about the reported incident in the context of ESS (Environmental and Social Standards)  | Upload picture about child work in country x for product y or upload other additional documents/reports#  | -| Date  | Date and time information when an incident occurred  | 2022-08-31T00:00:00Z  | - -#### Product Information - -| **Attribute Name** | **Description** | **Example** | -|-----------------------------|-----------------------------|-----------------------------| -| Description  | Description of product or component affected by an incident in the context of ESS (Environmental and Social Standards)  | Natural Rubber  | -| Raw material  | Raw material that causes an incident in the context of ESS (Environmental and Social Standards)  | Mercury \| Cobalt \| Natural Rubber  | - -#### Company Information - -| **Attribute Name** | **Description** | **Example** | -|-----------------------------|-----------------------------|-----------------------------| -| Country subdivision  | Region within a country to which an incident in the context of ESS (Environmental and Social Standards) belongs  | Sao Paolo  | -| Coordinates  | Exact geographic position of an incident in the context of ESS (Environmental and Social Standards)  | Longitude and Latitude (will be entered automatically)  | -| Company name  | Name of a company / an organisation that is the originator of an incident in the context of ESS (Environmental and Social Standards)  | ABC company  | -| Address  | Address of ESS originator (street, zip code, city\...)  | Mainroad 1, 73230 Model City  | -| BpnL / BpnS / BpnA  | BPN-L/S/A of the company that causes the incident  | Rubbery Ltd. (BPN-L) \| Site in Dingolfing (BPN-S) \| Dingolfing Werksstrasse 1, Tor 2.1 (BPN-A)  | - -#### Contact Information - -| **Attribute Name** | **Description** | **Example** | -|-----------------------------|-----------------------------|-----------------------------| -| First and last Name  | Contact name of ESS incident issuer  | Camille Mustermensch  | -| E-Mail Address  | E-Mail address of ESS incident issuer  | | -| Phone number  | Phone number of ESS incident issuer  | +49 89 123456789  | -| Address  | Address of ESS incident issuer  | XYZ-Road, 73230 Kirchheim  | -| Anonymous  | Flag that Incident issuer wants to be anonymous  | Checkbox: ticked / not ticked  | - -## Business process - -### Business architecture - -![ESS_KitBusinessArchitecture](assets/CatenaX_ESS_KitBusinessArchitecture.png) - -### Access & Usage Policies / Code of conduct - -In the Catena-X Use Case Sustainability / Environmental and Social Standards, principles are established with the aim to establish transparent and trustworthy practices within the Catena-X network. These principles are based on legal regulations such as the German Supply Chain Due Diligence Act (or LkSG) and the European Union\'s Supply Chain Due Diligence Act, as well as internationally recognized standards such as the International Bill of Human Rights, the UN Guiding Principles on Business and Human Rights, the OECD Guidelines for Multinational Enterprises, the ILO Core Labour Standards, and the principles of the UN Global Compact. - -A code of conduct defines the minimum requirements and clear expectations for the corporate due diligence of the Catena-X members. It should be adopted by every company participating in the Catena-X Use Case Sustainability / Environmental and Social Standards. - -We believe that we can only enhance the sustainability performance of companies through continuous development. Given the complexity and dynamics of the n-tier network, we rely on joint activities with all our members to identify environmental and social standard risks, create more transparency, and achieve greater effectiveness. - -## Standards - -### List of standards - -To participate in the ESS Incident Management use-case, the following single standards must be fulfilled and can be consulted in the [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- CX-0001 EDC Discovery API -- CX-0006 Registration and initial on Boarding -- CX-0013 Identity of Member Companies -- CX-0014 Employees and Technical Users -- CX-0015 IAM & Access Control Paradigm -- CX-0016 Company Attribute Verification -- CX-0017 Company Role by the Connector -- CX-0018 Sovereign Data Exchange -- CX-0049 DID Document Schema -- CX-0050 Framework Agreement Credential - -### ESS incidents Data model - -- [CX-0113 Aspect Model: ESS Datamodel](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0113-AspectModelESSDatamodel-v1.0.0.pdf) - -### List of all other standards used - -The following standards were used in the creation of this code of conduct and serve as an additional source of information: - -- ILO Code of Practice in Safety and Health -- ILO International Labor Standards -- ISO 14001 -- OECD Due Diligence Guidance for Responsible Supply Chains of Minerals from Conflict-Affected and High-Risk Areas -- OECD Guidelines for Multinational Enterprises -- Universal Declaration of Human Rights -- United Nations Convention Against Corruption -- United Nations Convention on the Rights of the Child -- United Nations Convention on the Elimination of All Forms of Discrimination Against Women -- United Nations Global Compact -- High Conservation Value Resource Network (HCV) -- High Carbon Stock Approach (HCSA) -- Initiative for Responsible Mining Assurance (IRMA) -- Responsible Business Alliance (RBA) -- Drive Sustainability Guiding Principles -- Farm Animal Welfare Committee (FAWC) -- Terrestrial Animal Health Code -- Act on Corporate Due Diligence Obligations in Supply Chains -- Handreichung zur Umsetzung einer Risikoanalyse nach den Vorgaben des Lieferkettensorgfaltspflichtengesetzes (BAFA) diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_documentation.md b/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_documentation.md deleted file mode 100644 index 52bf1e50370..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/page_documentation.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: ESS Kit Documentation -title: Documentation -description: 'What do I have to implement?' -sidebar_position: 3 ---- - -![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) - -## Building block view - -The following figure shows the current high-level architecture of the use case "Occasion-related tracking of ESS-related incidents". - -![ESS_KitBlockDiagram](assets/CatenaX_ESS_KitBlockDiagram.png) - -## Sequence view - -This simplified sequence view shows the process starting from an Input Channel. - -As the use case ESS believes that the most promising way to solve an ESS incident will be a bottom - up approach, this process is the basis for the sequence view. - -The Input Channel can be a whistle-blower, a third-party application, or another Input channel of a CatenaX member. Someone reports an incident and maintains as much information as possible about the incident. The incident is processed at the Clearing Agency. It is enriched with information from CatenaX-Services and then transferred to the CXMemberL0 who is the originator of the incident. - -The Incident originator L0 investigates further about the incident and takes appropriate measures. To identify affected Business Partners along the supply chain, that need to be informed, the CXMemberL0 can use a CX trace solution like recursive IRS or Knowledge Agent. The Knowledge Agent can provide the complex search logic that might be needed to find the affected customers. - -To be able to address the affected Business Partners / Customers via EDC CatenaX-Services can be used. - -Now, the incident traverses upwards within the supply chain to the next levels one by one. - -The CXMemberL1 is related directly to L0, so he will receive detailed information about the ESS incident from CXMemberL0. - -The CXMemberLn is not related directly to L0, so he will receive anonymized information about the ESS incident from CXMemberL1. - -As soon as the ESS incident can be closed, the CXMemberL0 informs the Clearing Agency and the Business Partners in the Supply Chain to close it. - -![ESS_KitSequenceView](assets/CatenaX_ESS_KitSequenceView.drawio.svg) - -## Notice - -This work is licensed under the CC-BY-4.0. - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2024 BASF SE -- SPDX-FileCopyrightText: 2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2024 SAP SE -- SPDX-FileCopyrightText: 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2024 Gris Group -- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/changelog.md deleted file mode 100644 index 064ee78e94f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/changelog.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Changelog ---- - -## [released] - -## [1.0.0] - 2024-03-08 - -### Added - -- Added EcoPass KIT Logo -- Added `Digital Product Pass v3.0.0` aspect and explanations -- Added the operation guide based on the Digital Product Pass Admin Guide -- Added `Digital Product Pass v3.0.0` aspect and explanations -- Added new sequence diagrams in software architecture -- Added detailed data retrieval flow -- Added Battery Pass Success Story - -### Updated - -- Updated battery pass model to latest version `v4.0.0` -- Updated Business Architecture Diagram - -## [0.1.0] - 2023-08-11 - -### Added -- Updated Software Architecture guide with descriptive documentation - -### Issues Fixed - -- Corrected links paths to absolute path - -## [released] - -## [0.1.0] - 2023-08-11 - -### Added -- move KIT to Tractus-X repository - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023, 2024 SAP SE -- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG -- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK -- SPDX-FileCopyrightText: 2023, 2024 BASF SE -- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA -- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-adoption-view.md deleted file mode 100644 index 227f0bece94..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-adoption-view.md +++ /dev/null @@ -1,1606 +0,0 @@ ---- -title: Adoption View ---- - -![EcoPass KIT Pictotogram](./resources/img/EcoPassKIT_pictogram.png) - -## Introduction - -The EcoPass KIT will be the key enabler for various stakeholders to use digital product passports, which represent a digital collection of specific information about a physical product in a standardized exchange format. This data is governed by agreed-upon ownership and access rights, which are conveyed through the Eclipse Data Space Connector (EDC). The primary purpose of the product pass is to enable the electronic registration, processing and sharing of product-related details among various entities in the supply chain, including several businesses and authorities. The demand for interoperable product passports exists worldwide, driven by the need to establish sustainable and transparent supply chains across different types of products, for which the adoption of standards will become crucial. -In this context, Catena-X offers a decentralized ecosystem supported by standards and principles like data sovereignty, which can effectively implement such a product passport system. The objective of the EcoPass KIT is therefore to: - -- Provide a comprehensive overview of the business context and benefits of product passports. -- Offer guidelines for industry stakeholders. -- Provide a detailed description and offer tools to implement product passports. - -## Vision & Mission - -### Vision: Empowering Sustainability – One Product at a Time - -The EcoPass KIT envisions a future where sustainability is at the core of every product's lifecycle, from design and manufacturing to usage and end-of-life. By fostering transparency, traceability and informed decision-making, we aim to inspire solution and service providers to create innovative, eco-friendly products that reduce environmental impact and drive the global economy towards a circular model. - -### Mission: Unleashing Circularity Potential - -The EcoPass KIT enables the scalable usage of digital product passports in order to address the pressing issue of inefficient resource usage and lack of product transparency. With growing concerns over environmental impact, limited resources and waste generation, there is an urgent need for a comprehensive solution to drive sustainable practices across the value chain. The KIT offers unified data models, a reference application for passport utilization as well as the required API. Low entry barriers will allow you to adapt digital product passports rapidly and pay your contribution to a fully circular value chain without the necessity of vast expertise or resources. Designed for multiple products, the KIT offers scalability, high-quality product information and a set of tools for regulatory compliance. Our mission is to unlock the circular potential of every component and material, fostering a culture of sustainability, innovation, and shared responsibility among all stakeholders. - -All described specifications in the KIT are based on [Catena-X standards](https://catena-x.net/de/standard-library) such as the Asset Administration Shell, SSI and decentral Digital Twin Registry. They refer to other Catena-X KITs like the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/docs/kit/adoption-view/Adoption%20View) (EDC), [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit/) (Item Relationship Service = IRS) and [Business Partner KIT](https://eclipse-tractusx.github.io/docs-kits/category/business-partner-kit/) to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. - -## Business Value - -Following this mission, the EcoPass KIT serves as an instrumental tool promoting sustainable and circular value chains. The improved transparency, traceability and accountability offered with digital product passports will facilitate informed decision-making for various stakeholders. This will bring ethical sourcing, efficient use of resources and reduction of environmental impacts to a new level. By making use of the Catena-X standards defined within the EcoPass KIT, product passports will ensure interoperability for stakeholders and systems to communicate seamlessly. This standardized language is crucial to improve efficiency, lower operational costs and create faster data processing. It ensures a consistent approach to data collection, storage and visualization to enhance the accuracy, reliability and comparability of information. -The following section will highlight the five major advantages of the Catena-X EcoPass KIT, which are also displayed below. - -![AdoptionView Business Value](./resources/adoption-view/adoption-view-BusinessValue.svg) - -**Seamless Integration and Collaboration**: By leveraging the EcoPass KIT, service providers can easily integrate with the Catena-X marketplace, promoting efficient collaboration and exchange of information with other businesses in the network. The unified data model and API specification simplifies the process, reducing the time and resources needed for integration and fostering interoperability between various players. - -**Enhanced Consumer Trust and Brand Loyalty**: Utilizing the KIT to develop solutions for the Catena-X marketplace allows service providers to showcase their commitment to transparency and sustainability. This fosters consumer trust and brand loyalty, as increasingly conscious customers prefer products and services that align with their values and make a positive impact on the environment. - -**Data-Driven Decision Making**: The EcoPass KIT enables service providers to harness the power of high-quality data sets from various sources in the Catena-X network. This wealth of information supports data-driven decision-making, helping businesses optimize their processes, reduce waste and identify opportunities for growth and innovation. Leveraging the dynamic data attributes within a passport, the product's evolving condition can be reflected, which offers a highly valuable increase of knowledge about the product’s behavior, quality and performance. - -**Regulatory Compliance and Risk Mitigation**: By offering solutions based on the KIT, service providers can help businesses comply with evolving regulations and industry standards. The increased transparency and traceability provided by digital product passports facilitate compliance management, offer the creation of certificates, and reduce the risks associated with non-compliance, such as penalties and reputational damage. - -**Competitive Advantage through Innovation**: The KIT's foundation for value-added services and innovative solutions provides service providers with a unique competitive edge in the Catena-X marketplace. By developing and offering cutting-edge products and services that cater to the growing demand for sustainable and transparent solutions, service providers can differentiate themselves in a crowded market and seize new business opportunities. - -## Use Case Explanation - -### Today's Challenges - -Today's globalized supply chains often struggle with transparency, data fragmentation and inefficiencies through the lack of digitally available product information. Traceability becomes difficult, hindering the ability to track products' origins and ensure accountability. Risk management and compliance efforts are compromised, impacting product quality and sustainability. Customer expectations for transparency and sustainability information remain unmet, potentially leading to dissatisfaction and loss of market share. Moreover, supply chains lack the resilience and responsiveness needed to adapt to disruptions effectively. -Embracing a digital product pass can address these challenges, enabling transparent, efficient and sustainable supply chains. Implementing the EcoPass KIT can enable companies to address these challenges by creating a comprehensive, accurate and up-to-date record of their products' lifecycles. This information can be used to improve resource efficiency, optimize recycling processes and reduce waste, ultimately driving the adoption of circular economy principles. - -### How can the EcoPass KIT help to address regulatory challenges? - -- Manufacturers are required to disclose information regarding the environmental impact of their products under the European Union's (EU) Ecodesign Directive. The EcoPass KIT can assist producers in adhering to this rule by offering a digital record of the environmental impact of their products. -- Companies are required to provide information regarding their efforts to address forced labor and human trafficking in their supply chains under the California Transparency in Supply Chains Act (CTSCA). The EcoPass KIT's digital record of a company's supply chain operations can assist businesses to comply with this law. -- Certain manufacturers of products are required to take back and recycle their products at the end of their functional lifespans under the German Waste Management Act (Kreislaufwirtschaftsgesetz). The EcoPass KIT, which offers a digital record of the goods that have been returned and recycled, can assist producers in adhering to this obligation. - -### Ecopass KIT benefits for value chain partners and solution providers - -Stakeholders along the value chain, as well as solution providers can reap the benefits of utilizing KITs in their organization. The Figure below shows an overview of these benefits, further explanation can be found below the illustration. - -![ValueChain Benefits](./resources/adoption-view/adoption-view-ValueChainBenefits.svg) - -**Value Chain Partners** can benefit from the EcoPass KIT especially by bringing the product transparency to a next level which will allow for several areas to increase the company’s value. Multiple risks (e.g. regulatory compliance) can be mitigated, cost and process efficiency may be improved, the strategic knowledge about products increases and the possibility for new business is being established. - -1. **Regulatory Compliance**: Improve compliance with regulations and industry standards by utilizing a digital product passport to demonstrate responsible sourcing, production and waste management practices. -2. **Enhanced Transparency**: Visibility of the product's condition, origins and components will lead to better decision-making and higher resource efficiency. -3. **Efficient Data Management**: Adopting a digital product pass will reduce administrative burdens and facilitate seamless data exchange between stakeholders. -4. **Increased Accountability**: A clear chain of custody for products fosters accountability among value chain participants for product quality, safety and sustainability. -5. **Risk Mitigation**: Comprehensive product data helps value chain participants to proactively identify and mitigate risks, ensuring higher product quality and safety standards. -6. **Strengthened Customer Trust**: Offering transparency of business practices and sustainability efforts builds trust with customers and enhances brand loyalty. -7. **Supply Chain Optimization**: Data-driven insights enable the optimization of supply chain processes to support the integration of sustainable approaches. -8. **Foster Collaborations**: Connecting and sharing information across the value chain facilitates collaboration with other stakeholders to promote joint efforts towards sustainability challenges. - -**Solution Providers** will gain a head start in delivering comprehensive and efficient digital product pass solutions. The pre-built features accelerate time-to-market, reduce costs and ensure a reliable, scalable and compliant system. In addition, solution providers can leverage a KIT as the basis to build their own customized solutions and to offer their customers innovative and value-driven digital product pass services in an efficient and simplified way. - -1. **New Market & Customer Base**: The possibility of developing innovative solutions and providing them through the Catena-X marketplace fosters new market opportunities and scalability of the customer base. -2. **Accelerated Time-to-Market**: The KIT provides the thematical and technical basis to build solutions, significantly reducing the time and resources required to develop digital product pass solutions. -3. **Flexibility and Customization**: While the KIT offers a solid foundation, it is designed to allow solution providers for customizing and tailoring the platform to meet specific needs and preferences of the target market and value chain participants. -4. **Risk Mitigation**: The predefined KIT tools support solution providers in reducing the risk of development errors and vulnerabilities. -5. **Cost Efficiency**: The KIT's standardized data model and open interface simplify the process of connecting to the Catena-X network, reducing the investment needs for integration. -6. **Competitive Advantage**: Adopting the KIT quickly positions solution providers in the market faster with cutting-edge services gaining a competitive advantage. -7. **Alignment with Industry Standards**: The KITs adhere to industry standards, making it easier for solution providers to align with existing supply chain ecosystems and collaborate with other stakeholders. -8. **Data Utilization**: The wealth of data available in the Catena-X network is leveraged to drive innovation and develop data-driven solutions tailored to the unique needs of various industries. - -#### Battery Pass: A real-world example - -In the automotive industry, a Battery Pass or digital product passport for batteries plays a crucial role in ensuring transparency, traceability, and sustainability in the battery supply chain. Here's a real-world example of how a digital product pass might be set up for a battery used in electric vehicles (EVs), including its benefits, illustrated below: - -![BP realWorldExample](./resources/adoption-view/adoption-view-BatteryPass_a_example.svg) - -1. **Battery Manufacturing**: During the production stage, the battery manufacturer collects and records relevant data, such as the battery's unique identifier, type and model, manufacturing date and location, energy capacity and raw materials composition, including the content of critical elements like lithium, cobalt and nickel. -2. **Supply Chain Transparency**: Information about the battery's sourcing, manufacturing and distribution processes is documented, ensuring compliance with environmental and social standards. This includes data on the origin of raw materials, labor practices and the environmental footprint of each stage of the supply chain. -3. **Vehicle Integration**: When the battery is integrated into an electric vehicle, the Battery Pass is linked to the car's unique identification number (VIN), allowing seamless tracking and communication between the battery, the vehicle and relevant stakeholders. -4. **In-Use Performance Tracking**: As the vehicle is used, the Battery Pass continuously collects data on the battery's performance, such as its state of charge, charging cycles and degradation over time. This information is essential for the vehicle owner, automaker and service providers to monitor the battery's health and optimize its lifespan. -5. **End-of-Life Management**: When the battery reaches the end of its useful life, the Battery Pass provides detailed instructions for proper disposal and recycling, ensuring compliance with regulations and facilitating the recovery of valuable materials. The data stored in the Battery Pass helps recycling facilities to efficiently process the battery, reducing waste and promoting a circular economy. - -Throughout this process, the Battery Pass serves as a single, secure, and easily accessible source of information for various stakeholders, such as vehicle manufacturers, suppliers, service providers, regulators and vehicle owners. By implementing a digital product passport like the Battery Pass in the automotive industry, companies can promote transparency, traceability, and sustainability, ultimately contributing to a more eco-friendly and circular economy. -For more information please read the [Battery Pass Viewer App Success Story](./Success%20Stories/BatteryPass_Viewer_App.mdx)! - -### How the KIT can help - -The EcoPass KIT addresses the real-world problem of battery traceability and sustainability in the automotive industry by providing a standardized, easy-to-implement solution for creating and managing digital product passports. Here's how the EcoPass KIT can help and scale in this context: - -1. **Standardization and Interoperability**: The EcoPass KIT offers a unified data model and is planning an API specification, allowing for seamless integration across different stakeholders, including manufacturers, suppliers, service providers and regulatory bodies. This standardization promotes interoperability and streamlines communication throughout the battery lifecycle. -2. **Simplified Adoption**: By providing a comprehensive and easy-to-use KIT, EcoPass can lower the barrier to entry for businesses of all sizes, enabling them to implement digital product passports without extensive technical expertise or resources. This can encourage widespread adoption of the solution, resulting in a larger-scale positive impact on sustainability and traceability. -3. **Scalable Solution**: The EcoPass KIT is designed to accommodate various product types, sizes and applications, ensuring its relevance and adaptability to the evolving automotive industry. This scalability allows the KIT to be utilized for a wide range of battery technologies, facilitating its adoption across diverse sectors. -4. **Enhanced Data Quality and Analysis**: The EcoPass KIT enables the collection and management of high-quality data throughout the product lifecycle. This wealth of information can be used by stakeholders to make data-driven decisions, optimize processes and identify opportunities for innovation and improvement in battery design, manufacturing and recycling. -5. **Facilitated Regulatory Compliance**: With the EcoPass KIT in place, businesses can more easily comply with the evolving regulations and industry standards related to battery traceability and sustainability. The digital product passport provides a comprehensive record of the battery's lifecycle, supporting compliance management and reducing the risk of penalties and reputational damage. - -By providing a standardized, scalable and easy-to-adopt solution, the EcoPass KIT will play a significant role in addressing the challenges of product traceability and sustainability in the automotive industry, promoting a more transparent, environmentally friendly and circular economy. - -## Semantic Models - -Depending on the use case and related KIT, Catena-X provides different semantic models that help to structure and make use of data via semantic information. These models help to provide a basic meaning to the data and their relationship, thereby enabling interoperability between data sets. Catena-X data models rely on principles as understandability, standardization, accuracy, differentiation, auditability, comprehensiveness, and provision of insights to drive improvement actions. -In its first version the KIT entails the data models Battery Pass and Transmission Pass, further data models will follow. The goal of these passports is to create unified data models that can be used and adapted across the automotive industry. These data models follow the Catena-X Standards [CX-0034](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/Sustainability_Use_Case_Circular_Economy/CX_-_0034_Data_Model_BatteryPass_UseCase_CE_v_1.0.1.pdf), CX-0095 (insert once published) and are modeled according to the [CX-0003](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0003-SAMMSemanticAspectMetaModel-v.1.0.2.pdf) BAMM Standard (BAMM has been renamed to SAMM thereafter) in Version 1.0.0 . For detailed information please follow the embedded links to the Catena-X Standard library. - -### Battery Pass - -#### Battery Pass Introduction - -The Catena-X standards, which are crucial to create a more sustainable battery business, serve as the foundation for the data model behind the Battery Pass. The Battery Pass assists in enhancing the traceability and sustainability of batteries by offering a thorough record of a battery's life cycle. This will mitigate the battery industry's environmental effect and make it easier to recycle batteries. -Accordingly, the Battery Pass establishes the fundamental framework for digital infrastructures aimed at documenting and facilitating the exchange of essential information and update-relevant technical data. Specifically, it focuses on data that provides a comprehensive account of supply chain responsibility, e.g. the carbon footprint, working conditions during raw material extraction and the assessment of battery conditions. It is structured according to the following categories: - -- Circularity -- Metadata -- Identification -- Performance -- Sources -- Physical Dimension -- Safety -- General Information -- Conformity -- Chemical Material - In addition, the Battery Pass data model offers the following advantages: -- It is self-describing, which means it has all the details necessary to comprehend what it includes. Different systems can easily interpret the Battery Pass as a result. -- It is extendable, therefore new information can be added without much difficulty. As a result, the Battery Pass will be able to adapt to the changing requirements of the battery sector. -- It establishes a common semantic in Catena-X which other passes can build upon. - -#### Link to current Battery Pass model - -The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.battery.battery_pass). For each version there is a separated directory containing the ttl-file and a generated samples. - -The latest version is the `v4.0.0` which is based on the generic Digital Product Pass `v3.0.0` model which can be found [here](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.generic.digital_product_passport) - -#### Example Battery Pass Payload - -```json -{ - "circularity": { - "spareParts": { - "left": { - "producer": [ - { - "id": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "eOMtThyhVNLWUZNRcBaQKxI" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "KS-N" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - } - ], - "sparePart": [ - { - "partNumber": "12345678", - "partName": "Aluminum Housing" - } - ] - } - }, - "documents": { - "separateCollectionSymbol": { - "left": "separate collection symbol" - }, - "separateCollection": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "sustainabilityReport": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "impactOfSubstances": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "euTaxonomyDisclosureStatement": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "wastePrevention": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - }, - "carbonFootprint": [ - { - "lifecycle": "main product production", - "rulebook": "https://www.alink.pdf/", - "unit": "kg CO2 eq", - "performanceClass": "A", - "manufacturingPlant": { - "left": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - }, - "type": "Climate Change Total", - "value": 12.678, - "declaration": "www.alink.de" - } - ], - "status": "original" - }, - "metadata": { - "economicOperator": { - "economicOperatorId": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "RYtGKbgicZaHCBRQDSx" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "CQ-C7D" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - }, - "predecessor": { - "left": "8a6aF2dB-aABA-29FE-6dAa-Dc6BCDeEc9b8" - }, - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": { - "left": "75DF640E-db04-38CF-C3d8-0Dae8A9C845F" - }, - "status": "draft", - "expirationDate": "2000-01-01" - }, - "identification": { - "chemistry": "NCM", - "typology": { - "shortName": "8HP60", - "class": { - "definition": "Manual transmission (motor vehicle)", - "code": "44-09-02-02" - }, - "longName": "Product Description long text" - }, - "localIdentifier": [ - { - "value": "SN12345678", - "key": "PartInstanceId" - } - ], - "idDmc": "34567890", - "typeId": "R2 High-Performance XYZ Battery", - "category": "SLI", - "additionalCode": [ - { - "value": "8703 24 10 00", - "key": "TARIC" - } - ] - }, - "performance": { - "rated": { - "roundTripEfficiency": { - "depthOfDischarge": 90.5, - "temperature": 20, - "50PercentLife": 89, - "initial": 96 - }, - "selfDischargingRate": 0.25, - "performanceDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "testReport": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "temperature": { - "lower": -18, - "upper": 60 - }, - "lifetime": { - "report": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "cycleLifeTesting": { - "temperature": 20, - "depthOfDischarge": 90.5, - "appliedDischargeRate": 4, - "cycles": 1500, - "appliedChargeRate": 3 - }, - "expectedYears": 8 - }, - "power": { - "at20SoC": 35000, - "temperature": 20, - "value": 40000, - "at80SoC": 39000 - }, - "resistance": { - "temperature": 20, - "cell": 0.025, - "pack": 0.55, - "module": 0.2 - }, - "voltage": { - "temperature": 20, - "min": 2.5, - "nominal": 3.7, - "max": 4.2 - }, - "energy": { - "temperature": 20, - "value": 0.5 - }, - "capacity": { - "temperature": 20, - "value": 4, - "thresholdExhaustion": 80 - } - }, - "dynamic": { - "selfDischargingRate": 0.25, - "roundTripEfficiency": { - "remaining": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "fade": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - } - }, - "operatingEnvironment": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "stateOfCharge": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "performanceDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "fullCycles": { - "value": 1500, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "power": { - "remaining": { - "value": 40000, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "fade": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - } - }, - "negativeEvents": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "resistance": { - "increase": { - "cell": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "pack": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "module": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - } - }, - "remaining": { - "cell": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "pack": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "module": { - "value": 0.3, - "time": "2023-12-07T10:39:13.576+01:00" - } - } - }, - "capacity": { - "fade": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "throughput": { - "value": 4, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "capacity": { - "value": 4, - "time": "2023-12-07T10:39:13.576+01:00" - } - }, - "energy": { - "remaining": { - "value": 0.5, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "soce": { - "value": 50, - "time": "2023-12-07T10:39:13.576+01:00" - }, - "throughput": { - "value": 0.5, - "time": "2023-12-07T10:39:13.576+01:00" - } - } - } - }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "physicalDimension": { - "volume": { - "value": 20.5, - "unit": "unit:cubicMetre" - }, - "length": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "width": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "weight": { - "value": 20.5, - "unit": "unit:gram" - }, - "diameter": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "height": { - "value": 20.5, - "unit": "unit:millimetre" - } - }, - "safety": { - "usableExtinguishAgent": [ - { - "fireClass": "A, B", - "document": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "media": "Dry Powder" - } - ], - "safeDischarging": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "meaningOfLabels": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "dismantling": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "removalFromAppliance": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "safetyMeasures": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - }, - "generalInformation": { - "intoServiceDate": "0278-32-23", - "lifespan": [ - { - "value": 36, - "unit": "unit:day", - "key": "guaranteed lifetime" - } - ], - "manufacturer": { - "facility": { - "left": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "AJ-LA" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - }, - "manufacturingDate": "2000-01-31", - "manufacturer": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "yedUsFwdkelQbxeTeQOvaScfqIOOmaa" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "WY-E" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - } - }, - "conformity": { - "declarationOfConformityId": "JxkyvRnL", - "thirdPartyAssurance": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "resultOfTestReport": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "declarationOfConformity": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "dueDiligencePolicy": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - }, - "chemicalMaterial": { - "materialSymbol": { - "left": "Pb" - }, - "otherMaterials": { - "left": [ - { - "substanceIdentification": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "recycled": 12.5, - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "renewable": 23.5, - "substanceName": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "hazardClass": "Acute toxicity" - } - ] - }, - "hazardousSubstance": { - "cadmium": { - "left": { - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - } - }, - "other": { - "left": [ - { - "substanceIdentification": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "recycled": 12.5, - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "renewable": 23.5, - "substanceName": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "hazardClass": "Acute toxicity" - } - ] - }, - "lead": { - "left": { - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - } - }, - "mercury": { - "left": { - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ] - } - } - }, - "activeMaterials": { - "nickel": { - "left": { - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "location": "Housing", - "recycled": 12.5 - } - }, - "lithium": { - "left": { - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "location": "Housing", - "recycled": 12.5 - } - }, - "cobalt": { - "left": { - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "location": "Housing", - "recycled": 12.5 - } - }, - "otherMaterials": { - "left": [ - { - "substanceIdentification": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "recycled": 12.5, - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "renewable": 23.5, - "substanceName": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - }, - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "location": "Housing", - "substanceUnit": "unit:partPerMillion", - "hazardClass": "Acute toxicity" - } - ] - }, - "lead": { - "left": { - "supportingDocument": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "location": "Housing", - "recycled": 12.5 - } - } - }, - "criticalMaterial": [ - { - "criticalName": "Magnesium", - "substanceIdentification": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "substanceName": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - } - } - ] - } -} -``` - -### Transmission Pass - -#### Transmission Pass Introduction - -In addition to the Battery Pass, numerous other components will require digital product passports. One example is the vehicle transmission, for which a standardized passport already exists. The Transmission Passport serves as tool for advancing a sustainable and circular transmission value chain. -To enable stakeholders to access relevant data, the passport leverages Catena-X shared services, a standardized data model, and an application. The initial version of the Transmission Passport model includes the following information: - -- Transmission Identification -- General Information -- Sustainability Information -- State of Health Information -- Product Specific Parameters -- Instructions -- Track and Trace Data - -By incorporating circularity parameters, the Transmission Passport aims to enhance transparency and promote a circular economy within the European Union. Detailed descriptions can be found in the Ecodesign for Sustainable Products Regulation Proposal (ESPR). This proposal identifies content clusters for circularity and establishes concrete circularity parameters for the Transmission Passport. The data sets encompass information relevant to both closed and open loop business models. -It is important to note that the data model includes optional and mandatory information fields to fulfill regulatory requirements. Sharing information within the network relies on decentralized technologies and is always subject to individual decisions by each provider. The data model aligns with the newly proposed Ecodesign Regulation (ESPR-2022) and will be continuously adapted to changing circumstances. As one of the first extensions of the EcoPass KIT, more product passes are expected soon to serve the demand of data models across the automotive industry. -Link to current model - -#### Link to current Transmission Pass model - -The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/38605f6ddf19a0b4540dd483720d1d8c057ca332/io.catenax.transmission.transmission_pass). For each version there is a separated directory containing the ttl-file and a generated samples. - -#### Example Transmission Pass Payload - -```json -{ - "productSpecificParameters": { - "torqueConverter": ["RYtGKbgicZaHCBRQDSx"], - "driveType": "combustion engine", - "oilType": "ZF Lifeguard Hybrid 2", - "spreading": 6.79, - "torque": 500.0, - "power": 300.0, - "standardGearRatio": { - "gear": "1", - "ratio": 4.1567 - }, - "oilCapacity": 8.9, - "electricPerformance": ["VLhpfQGTMDYpsBZxvfBoeygjb"], - "speedResistance": { - "speed": 7800, - "gear": "1" - } - }, - "instructions": { - "packagingInstructions": [{ "foo": "bar" }], - "transportationInstructions": [{ "foo": "bar" }], - "dismantlingProcedure": [{ "foo": "bar" }], - "safetyMeasures": [{ "foo": "bar" }], - "vehicleDismantlingProcedure": [{ "foo": "bar" }] - }, - "identification": { - "manufacturerId": "BPNL1234567890ZZ", - "localIdentifiers": [{ "foo": "bar" }], - "dataMatrixCode": "UMaAIKKIkknjWEXJUfPxxQHeWKEJ" - }, - "sparePartSupplier": [{ "foo": "bar" }], - "stateOfHealth": { "foo": "bar" }, - "generalInformation": { "foo": "bar" }, - "sustainability": { "foo": "bar" } -} -``` - -### Digital Product Pass - -#### Digital Product Pass Introduction - -The Digital Product Passport establishes a set of data requirements for different product groups. The parameters will contribute to a more transparent and circular economy within the European Union. The detailed description is given in the Ecodesign for Sustainable Products Regulation Proposal ([ESPR](https://environment.ec.europa.eu/publications/proposal-ecodesign-sustainable-products-regulation_en)). From these regulations, content clusters for circularity were identified, and concrete circularity parameters for the Product Passport derived. The data sets also contain information, which are relevant for closed and open loop business models. It is important to note that the data model contains information / data fields, which are optional and mandatory for regulation fulfillment. It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision by each provider. - -The Digital Product Passport is the core model and can be used as the root class for other, specific, product models. The Passport itself is defined by the usage of Catena-X shared services, a standardized data model and an application which will enable stakeholders to access the relevant data. The first version of the Digital Product Passport model consists of the following information: - -- Passport Metadata -- Product Identification -- Product Typology -- Product Characteristics -- Sustainability Information -- Commercial Information -- Operational Information -- Sources -- Additional Data (A generic node structure that allows the representation of non-standardized data) - -This data model is based on the new proposed Ecodesign Regulation ([ESPR-2022](https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)) from March 30th, 2022 and is continuously adapted to the basic conditions over time. Amendments to this regulation came from the Council of the European Union ([Council Amendment](https://data.consilium.europa.eu/doc/document/ST-9014-2023-INIT/en/pdf)) from May 15th, 2023 and the European Parliament ([Parliament Amendment](https://www.europarl.europa.eu/doceo/document/TA-9-2023-0272_EN.html)) from July 12th, 2023 and is shown at specific points in the model. However, the main basis remains the version from the Committee. - -#### Link to current Digital Product Pass model - -The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.generic.digital_product_passport/). For each version there is a separated directory containing the ttl-file and a generated sample. The latest version available is the `v3.0.0` which sets the base of all the other abstractactions of the Digital Product Pass at the moment like the `Battery Pass v4.0.0` that imports several aspects from the DPP Aspect. - -#### Example Digital Product Pass Payload - -```json -{ - "typology": { - "shortName": "8HP60", - "class": { - "definition": "Manual transmission (motor vehicle)", - "code": "44-09-02-02" - }, - "longName": "Product Description long text" - }, - "metadata": { - "economicOperator": { - "economicOperatorId": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "eOMtThyhVNLWUZNRcBaQKxI" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - }, - "predecessor": { - "left": "Cc7A36F0-fF6C-44f6-dA85-b13FAeFea068" - }, - "issueDate": "2000-01-01", - "version": "1.0.0", - "passportIdentifier": { - "left": "urn:uuid:7e7839c6-5EB6-f770-Cec0-Ba0AD7a7DdFa" - }, - "status": "draft", - "expirationDate": "2000-01-01" - }, - "characteristics": { - "physicalDimension": { - "grossWeight": { - "value": 20.5, - "unit": "unit:gram" - }, - "weightOrVolume": { - "left": { - "value": 20.5, - "unit": "unit:cubicMetre" - } - }, - "diameter": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "grossVolume": { - "value": 20.5, - "unit": "unit:cubicMetre" - }, - "width": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "length": { - "value": 20.5, - "unit": "unit:millimetre" - }, - "height": { - "value": 20.5, - "unit": "unit:millimetre" - } - }, - "lifespan": [ - { - "value": 36, - "unit": "unit:day", - "key": "guaranteed lifetime" - } - ], - "physicalState": "solid" - }, - "commercial": { - "placedOnMarket": "2000-01-01" - }, - "identification": { - "localIdentifier": [ - { - "value": "SN12345678", - "key": "PartInstanceId" - } - ], - "additionalCode": [ - { - "value": "8703 24 10 00", - "key": "TARIC" - } - ], - "dataCarrier": { - "carrierType": "QR", - "carrierLayout": "upper-left side" - } - }, - "sources": [ - { - "header": "Sustainability Document Material XY", - "category": "Product Specifications", - "type": "URL", - "content": "www.alink.pdf" - } - ], - "handling": { - "spareParts": { - "left": { - "producer": [ - { - "id": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "VLhpfQGTMDYpsBZxvfBoeygjb" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - } - ], - "sparePart": [ - { - "partNumber": "12345678", - "partName": "Aluminum Housing" - } - ] - } - }, - "substanceOfConcern": { - "left": [ - { - "unit": "unit:partPerMillion", - "name": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - }, - "location": "Housing", - "concentration": { - "left": [ - { - "max": 2.6, - "min": 2.1 - } - ] - }, - "exemption": "shall not apply to product x containing not more than 1,5 ml of liquid", - "id": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "hazardClass": "Acute toxicity" - } - ] - } - }, - "additionalData": [ - { - "description": "Description of an attribute", - "label": "Maximum permitted battery power", - "type": { - "typeUnit": "unit:volume", - "dataType": "array" - }, - "data": "23", - "children": [ - { - "description": "Description of an attribute", - "label": "Maximum permitted battery power", - "type": { - "typeUnit": "unit:volume", - "dataType": "array" - }, - "data": "23" - } - ] - } - ], - "sustainability": { - "PEF": { - "carbon": [ - { - "lifecycle": "main product production", - "rulebook": "https://www.alink.pdf/", - "unit": "kg CO2 eq", - "performanceClass": "A", - "manufacturingPlant": { - "left": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - }, - "type": "Climate Change Total", - "value": 12.678, - "declaration": "www.alink.de" - } - ], - "environmental": [ - { - "lifecycle": "main product production", - "rulebook": "https://www.alink.pdf/", - "unit": "kg CO2 eq", - "performanceClass": "A", - "manufacturingPlant": { - "left": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - }, - "type": "Climate Change Total", - "value": 12.678, - "declaration": "www.alink.de" - } - ] - }, - "critical": { - "left": [ - "yedUsFwdkelQbxeTeQOvaScfqIOOmaa" - ] - }, - "chemicalMaterial": { - "left": [ - { - "name": { - "chemicalName": "phenolphthalein", - "type": "IUPAC" - }, - "unit": "unit:partPerMillion", - "recycled": 12.5, - "id": [ - { - "materialid": "201-004-7", - "type": "CAS" - } - ], - "value": 5, - "renewable": 23.5 - } - ] - }, - "status": "original" - }, - "operation": { - "importer": { - "left": { - "eori": "GB123456789000", - "id": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "JxkyvRnL" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - } - }, - "manufacturer": { - "facility": { - "left": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "RQ-AJ" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - }, - "manufacturingDate": "2000-01-31", - "manufacturer": { - "left": { - "contactProperty": { - "faxNumber": "+49 89 0987654321", - "website": "https://www.samsung.com", - "phoneNumber": "+49 89 1234567890", - "email": "test.mail@example.com" - }, - "companyName": [ - "RYtGKbgicZaHCBRQDSx" - ], - "address": { - "locality": { - "value": "Mannheim", - "technicalKey": "BLOCK" - }, - "country": { - "shortName": "" - }, - "postCode": { - "value": "98765-4321", - "technicalKey": "CEDEX" - }, - "thoroughfare": { - "value": "Bernstrasse", - "number": "45", - "technicalKey": "STREET" - }, - "premise": { - "value": "Werk 1", - "technicalKey": "BUILDING" - }, - "postalDeliveryPoint": { - "value": "Tor 1", - "technicalKey": "INTERURBAN_DELIVERY_POINT" - } - } - } - } - } - } -} -``` - -## Business Architecture - -The Business Architecture illustrates the interaction between the EcoPass KIT and other KITs, components, data models, and artifacts used for identity and access management, illustrated by the Figure below. - -![Image: Business Architecture](./resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg) - -The core of the network is to provide interoperability between different applications. For this reason, a common semantic is indispensable. In the Catena-X ecosystem, it has been agreed to use the description language SAMM to describe data models. -To additionally provide a standardized interface, the open standard of the International Digital Twin Association (IDTA) is used, abbreviated as IDTA. This [standard](https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01002-3-0_SpecificationAssetAdministrationShell_Part2_API.pdf) corresponds to the Asset Administration Shell (AAS 3.0). -It is used to discover digital twins and exchange actual usage data. The registration and search of digital twins is done by using the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit) which reference implementation is the [Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/tree/main) in Tractus-X. -To control access to both usage and meta data, the EcoPass KIT relies on the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/docs/kit/adoption-view/Adoption%20View/). Interactions between two parties occur exclusively peer-to-peer via the standardized interfaces of the Connector KIT, based on the International Data Space Protocol. -Data sovereignty is enabled by so-called verifiable credentials. These rely on the technology of Self-Sovereign Identity (SSI) and are enabled through the Connector KIT. In short, consumers must present their signed credentials, defined by a data provider, before a data contract (and thus a data exchange) can take place. It should be mentioned that this concept is still in the prototype phase as of Release 3.2 and will be expanded in future releases. - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023, 2024 SAP SE -- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG -- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK -- SPDX-FileCopyrightText: 2023, 2024 BASF SE -- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA -- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-development-view.md deleted file mode 100644 index 38f02855737..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-development-view.md +++ /dev/null @@ -1,495 +0,0 @@ ---- -title: Development View ---- - -![EcoPass KIT Pictotogram](./resources/img/EcoPassKIT_pictogram.png) - -## Introduction - -### General Development Information - -The developer view provides developers with resources to utilize the EcoPass KIT effectively. On the one side developers can learn how to integrate the EcoPass KIT into their applications and to make use of the product passport exchanging feature via the Catena-X network. On the other side, IT-Administrators will learn how to provide the needed passport data and which components are required. -Thereby, this KIT covers various aspects, starting from how the available API Endpoints can be utilized for data models and how to make them available in the Catena-x Data Space. - -### Architecture Overview - -The following Figure shows how the EcoPass KIT (represented by Digital Product Passport Frontend and Backend) is embedded in the overall architecture. - -[![EcoPassKIT IT Arch Picture](./resources/development-view/ecoPassContext.svg)](./resources/development-view/ecoPassContext.svg) - -## Data Retrieval Flow - -In order to achieve a better understanding of the EcoPass KIT data retrieval flow, we can detail a specific example where an user wants to retrieve a specific passport for a asset in Catena-X using the EcoPass KIT (reference implementation [`digital-product-pass`](https://github.com/eclipse-tractusx/digital-product-pass)). - -In the data retrieval flow example below we will imagine that an user wants to retrieve the data related to a Catena-X Digital Product Pass ID he has in his product as form of QR Code and ID: - -[![Sequence Diagramm](./resources/development-view/developmentview-sequence-diagramm.svg)](./resources/development-view/developmentview-sequence-diagramm.svg) - -| ID | CX:XYZ78901:IMR18650V1 | -| --- | ---------------------- | - -As defined in the standard CX-0096 Triangle Document for Digital Product Pass the search id used has the following semantic: - -```html - -CX:: - -``` - -| ID | Description | -| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `CX` | The "**CX**" argument is the one that indicates that this ID is a Catena-X Search Identificator. | -| `` | The "**manufacturerPartId**" makes reference to the id type of the product. It is the identification the manufacturer gives to a specific part he produced. | -| `` | The "**partInstanceId**" stands to the specific id of the product. This id needs to be registered in the digital twin from the aspect. An example value in case of batteries would be the *batteryDMC_Code*. | - -> *Note*: This identifications as defined in the standard MUST be added to the Digital Twin. For more information consult the [Operation View Guide](./page-software-operation-view.md). - -### Prerequisites - -In order to retrieve data in the Catena-X Network a number of services need to be available and have data register on them. Otherwise the data retrieval would simply not work because the consumer application would not "find" the specific searched asset even if it would be registered in the provider side. - -| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | -| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | -| Discovery Finder | A microservice resolving a type of identifiers against a set of BPN-Discovery Servers. Responsible to give the search endpoints for a type of id | [eclipse-tractusx/sldt-discovery-finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | -| BPN Discovery | A microservice resolving a particular assetId against the registered BPN of its owner. Responsible for indicating the BPNs for the IDs registered by the providers | [eclipse-tractusx/sldt-bpn-discover](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | -| EDC Discovery | A microservice that resolves a BPN against an EDC endpoint. Responsible for giving the EDC endpoints of one or more BPNs | [eclipse-tractusx/portal-backend](https://github.com/eclipse-tractusx/portal-backend) - [Code Implementation](https://github.com/eclipse-tractusx/portal-backend/blob/aca855c857aed309cbca03f4f694283629197110/src/administration/Administration.Service/Controllers/ConnectorsController.cs#L178C1-L190C63) | CX - 0001 | -| Digital Twin Registry | An exhaustive list of all Submodel Servers, with link to their assets, adhering to the AAS Registry API. Responsible for having the Digital Twins of the provider and indicating the endpoints to the Passport Aspects. | [eclipse-tractusx/sldt-digital-twin-registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | -| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. Where the Passport Aspects are stored | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service), [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk), [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | -| EDC | Main gateaway to the network. In this use case two EDC need be existing, one connected to the Digital Product Pass (EcoPass KIT) [EDC Consumer] and another to the Provider Catena-X components [EDC Provider] | [eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) | CX - 0018 | -| Digital Product Pass | The [**EcoPass KIT**] reference implementation. The application responsible for retrieving the passports and interacting with the services listed above. | [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) | CX - 0096 | - -> *Note*: The diagrams match the architecture proposed in the [Digital Product Pass](https://github.com/eclipse-tractusx/digital-product-pass) reference implementation [Arc42](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md) and [Data Retrieval Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data%20retrieval%20guide/Data%20Retrieval%20Guide.md). Using the discovery services from Catena-X - -Here is a diagram of the data retrial flow necessary to retrieve any data from the Catena-X Network without any optimizations: - -[![Data Retrieval Flow](./resources/development-view/dataRetrievalFlow.svg)](./resources/development-view/dataRetrievalFlow.svg) - -### 1. Discovery Phase - -At the beginning we start calling the `Discovery Service` which is responsible for giving us the urls from the `BPN Discovery` and the `EDC Discovery` this two service give us first a `BPN or Business Partner Number` for a specific `id` and the `EDC Discovery` will give you a list of EDC registered by one company's `BPN`. - -### 2. Digital Twin Registry Search Phase - -Once we have a list of `EDCs` we need to find which of this EDCs contain the `Digital Twin Registry` component. We can filter which `EDCs` contain the `Digital Twin Registry` by simply calling for the catalog with the `type` condition of the contract that must have the `data.core.digitalTwinRegistry` standardized type. - -Once we have the list of DTRs we need to negotiate each contract retrieve in the catalog so that we can have the `Contract Agreement Id` which is given by the EDC once the contact is signed and agreed. This id will be used later to request the transfer for the `EDR` token for accessing the `Digital Twin Registry` through the `EDC Provider Data Plane Proxy`. - -### 3. Digital Twin Search Phase - -We need to search for the `Digital Twins` inside of the `Digital Twin Registries`, and once we found it we can start the negotiation for the `submodelDescriptor` we are searching for that can be for example a: `Digital Product Pass`, `Battery Pass`, `Single Level BOM as Built` or a `Transmission Pass`. - -### 4. Data Negotiation and Transfer Phase - -Once we have the submodel we are going to call the [`subprotocolBody`] url of the `endpoint interface` with name `SUBMODEL-3.0`. This will provide for us the asset id to negotiate with the EDC Provider. Once this asset is negotiated we will request for the `transfer` and `EDR` token will be sent to the backend by the EDC Provider, allowing us to query the dataplane url contained in the `href` field of the endpoint interface. And in this way we will retrieve the data using the `EDC Provider Data Plane Proxy`. - -## Technical Detailed Phases - -## 1. Discovery Phase + 2. Digital Twin Registry Search Phase - -At the discovery phase the digital product pass application (EcoPass KIT) will search in the Discovery Service for the following keys: - -| Key | Service Name | -| ------------------ | --------------------- | -| bpn | EDC Discovery Service | -| manufacturerPartId | BPN Discovery Service | - -By searching for this keys the application will find the necessary services and will be able to search for the information needed to start the search for digital twin registries. - -After the discovery phase, the search for digital twin registries is one of the core phases to be done when retrieving data in Catena-X. It is necessary for filtering the EDCs which contain the digital twin registry assets, allowing an optimized search without high waiting times. - -Once the negotiation for the digital twin registries assets are done we would be able to retrieve a catalog for the user to search the serialized Id (key: partInstanceId, example value: batteryDMC_code). - -### Prerequisites for Discovery Phase + Digital Twin Registry Search API - -The following information is required to enable the decentralized search for digital twin registries: - -| Name | Example | Description | -| --------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Search Id Type | *manufacturerPartId* | The search id type is required first of all to know in which `BPN Discovery` services to search. After this same id will be introduced in the `Discovery Service` and we will obtain a list of `BPN Discovery Endpoints`. After this same id will be introduce as the *`type`* attribute in each `BPN Discovery`. | -| Search Id Value | *XYZ78901* | The search id value is required for searching in the `BPN Discovery` services. One example could be the `product type id` of a company, which is owned by an unique `BPN` reducing the complexity of the search. | - -### Sequence Diagram - -This sequence diagram represents the digital twin search and the discovery phases. For more information [go to explanation](#2-digital-twin-registry-search-phase) -[![Sequence Diagram](./resources/development-view/developmentview-sequence-diagramm.svg)](./resources/development-view/developmentview-sequence-diagramm.svg) - -> **NOTE**: For learning how to register the assets and the digital twin registry and operate the EcoPass KIT visit the [Operation View](./page-software-operation-view.md) - -## 3. Digital Twin Search Phase Details - -The digital twin searching phase involves searching in every digital twin registry for the desired digital twin asset. In this digital twin we will find the necessary information for requesting the contract information for the "digital twin submodels". - -### Prerequisites for Digital Twin Search API - -The following information is required for enabling the digital twin search, in order to start the data transfer phase: - -| Name | Example | Description | -| ---------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Specific Asset Id Type | *partInstanceId* | The specific asset id type is used to search in the `digital twin registry` for a specific digital twin. It is basically the `name` of "specificAssetId" object located at the [`digital twin`](#aas-30-digital-twin-example) `specificAssetIds` property. The `*partInstanceId*` is used as an example most of the time, since the digital twin registry implemented a hotfix that allows companies say who can access to their `partInstanceId` fields. Now allowing the *"PUBLIC_READABLE"* property. | -| Specific Asset Id Type | *IMR18650V1* | The specific asset id value is added in the `digital twin lookup` when calling the `EDC Provider Proxy`. It basically points to the value of the *`Specific Asset Id Type`* property. | - -[![Digital Twin Search](./resources/development-view/ecoPassSearchSequence.svg)](./resources/development-view/ecoPassSearchSequence.svg) - -## 4. Data Negotiation and Transfer Phase Details - -The **Data Negotiation and Transfer Phase** is the phase responsible for the final data transfer and negotiation. In this phase we retrieve the data using the EDC. - -### Prerequisites for Negotiate and Transfer API - -The following information is required for enabling the digital twin search, in order to start the data transfer phase: - -| Name | Example | Description | -| ---- | ------- | ----------- | -| Contract with Policy | [Contract Example](#contract-example) | To start the contract negotiation we need to agree on a policy for the a specific contract. This needs to be selected by the one that is requesting the data. - -### Sequence Diagram for Negotiate and Transfer - -[![Negotiation and Transfer](./resources/development-view/ecoPassNegotiationAndTransferSequence.svg)](./resources/development-view/ecoPassNegotiationAndTransferSequence.svg) - -## Authentication and Authorization - -The authentication is administrated by the `IAM Services` from the Portal defined in the CX - 0001 Standard - -The backend APIs are authenticated by using a `JWT Token` in the request as `Bearer` token. The frontend is responsible for obtaining this token in the portal federated IAM. - -The EcoPass KIT has two authorization methods: - -| Authorization Type | Description | -| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Portal Roles | Each digital product pass application contains an specific "AppId" provided by the portal in the Marketplace registration. And this Id shall be added to the configuration of the DPP Application in order to authenticate the user. If the end user contains any role added in the portal it will have access to the application if enabled. | -| Business Partner Number (BPN) | The digital product pass application contains a check for the "BPN" of the end user. An option is also to allow the user to login if he is belonging to the company of the configured "EDC" so no user can act in name of a specific company. | - -> **NOTE**: The authorization can be configured in the EcoPass KIT configuration so that it matches the business interests of the operator. - -For more information on how the Authentication & Authorization is done consult the reference implementation [`Digital Product Pass Arc42`](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md#authentication--authorization) - -## API Specification - -### Open API specification - -The Digital Product Pass / EcoPass KIT Open API specification is available at the swagger hub from Tractus-X: - -[https://app.swaggerhub.com/apis/eclipse-tractusx-bot/digital-product-pass/2.1.3](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/digital-product-pass/2.1.3) - -### EcoPass APIs - -The APIs below are the ones contained in the `Digital Product Pass Backend` reference implementation. Which can be reused for retrieving aspects from the Catena-X Network. - - | API | Method | Description | Parameters | - | ------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | **/api/contract/create** | POST | The `/api/contract/create` api is responsible for calling the `BPN Discovery` service searching for the BPN of a `manufacturerPartId` and validating if there is any `Decentral Digital Twin Registry` available for the BPN number found in the `EDC Discovery` service. | [Go to Params](#apicontractcreate) - | **/api/contract/search** | POST | At the **/api/contract/search** API the user can search for a serialized Id and get its contract. The `Backend` will search for the Digital Twin and will return the contract for the first one that is found. A `sign token` (a sha256 hash) is returned also and acts like a "session token" allowing just the user that created the process to sign or decline the contract. |[Go to Params](#apicontractsearch) | - | **/api/contract/agree** | POST | Once the user has the contract he can call the `/api/contract/agree` API to start the negotiation process and the transfer of the passport. This means that the user accepted the policy and the frame-contracts contained in the contract policy. | [Go to Params](#apicontractagree) | - | **/api/contract/decline** | POST | The other option rather than `/agree` is the `/decline` API, that basically blocks the process and makes it invalid. This means that the user declined the specific contract that was found for this process. | [Go to Params](#apicontractdecline) - | **/api/contract/cancel** | POST | The user can use `/cancel` to interrupt the negotiation process once it is signed by mistake if is the case. It will be only valid until the negotiation is made. | [Go to Params](#apicontractcancel) - | **/api/contract/status/``** | GET | After the user signs the contract he can use the `/status` API to get the process status and see when it is ready to retrieve the passport using the API `/data`. | [Go to Params](#apicontractstatusprocessid) - | **/api/data** | POST | The API `/data` will decrypt the passport file that is encrypted using the session token "sign token", and will delete the file so that it is returned just once to the user and can not be accessed anymore. So a new passport will be always need to be requested. | [Go to Params](#apidata) | - -#### Parameters - -##### /api/contract/create - -| Parameter | Value Name | Mandatory or Optional Value | -|-----------|------------------|-----------------------------| -| id | searchIdValue | [REQUIRED] | -| type | searchIdTypeName | manufacturerPartId | - -##### /api/contract/search - -| Parameter | Value Name | Mandatory or Optional Value | -|-----------|-----------------------|-----------------------------| -| id | serializedIdValue | [REQUIRED] | -| idType | serializedIdTypeName | partInstanceId | -| processId | processIdentification | [REQUIRED] | - -##### /api/contract/agree - -| Parameter | Value Name | Mandatory or Optional Value | -|------------|------------------------|---------------------------------------------------------------------------------| -| processId | processIdentification | [REQUIRED] | -| contractId | contractIdentification | [REQUIRED] | -| policyId | policyIdentification | If no policyId is specified then the first policy of the contract will be taken | -| token | searchSessionToken | [REQUIRED] | - -##### /api/contract/decline - -| Parameter | Value Name | Mandatory or Optional Value | -|------------|------------------------|-----------------------------| -| processId | processIdentification | [REQUIRED] | -| token | searchSessionToken | [REQUIRED] | - -##### /api/contract/cancel - -| Parameter | Value Name | Mandatory or Optional Value | -|------------|------------------------|-----------------------------| -| processId | processIdentification | [REQUIRED] | -| contractId | contractIdentification | [REQUIRED] | -| token | searchSessionToken | [REQUIRED] | - -##### /api/contract/status/{processId} - -| Parameter | Value Name | Mandatory or Optional Value | -|-----------|-----------------------|-----------------------------| -| processId | processIdentification | [REQUIRED] | - -##### /api/data - -| Parameter | Value Name | Mandatory or Optional Value | -|------------|------------------------|-----------------------------| -| processId | processIdentification | [REQUIRED] | -| contractId | contractIdentification | [REQUIRED] | -| token | searchSessionToken | [REQUIRED] | - -#### External API calls - -| Service | Method | Path | Params | -| ------ | ------ | -------------------------------------------------- | ------------------------------------------ | -| Discovery Service [CX-0053] | POST | /api/administration/connectors/discovery/search | key:manufacturerPartId (BPN Discovery) & key:bpn (EDC Discovery) | -| BPN Discovery Service [CX-0053] | POST | /api/administration/connectors/bpnDiscovery/search | key:manufacturerPartId | -| EDC Discovery Service [CX-0001] | POST | /api/administration/connectors/discovery/search | `{[]}` | -| Digital Twin Registry [CX-0002] | GET | /lookup/shells | key:partInstanceID, value: batteryDMC-Code or Product Identification Code | -| Digital Twin Registry [CX-0002] | GET | /shell-descriptors/{digitalTwinId} | key:partInstanceID, value: batteryDMC-Code or Product Identification Code | - -## Reference Implementations - -A reference implementation and a corresponding documentation can be found [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main). - -This reference includes a frontend and a backend allowing users to look up and display Battery Passport assets. -The Helm charts of this reference implementation are located [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/charts/digital-product-pass). - -### Documentation in the context development - -The following represents a collection of relevant documentation regarding the presented adaptation and all related services: - -**[EDC Domain Model](https://github.com/eclipse-edc/Connector/blob/main/docs/developer/architecture/domain-model.md)** - -**[Reference Implementation:](https://github.com/eclipse-tractusx/digital-product-pass/)** - -- **[Arc42 (Main Architecture Document)](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md)** - -- **[CX Data Retrieval Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data%20retrieval%20guide/DataRetrievalGuide.md)** - -## Attachments - -### AAS 3.0 Digital Twin Example - -```json -{ - "description": [ - { - "language": "en", - "text": "Battery Digital Twin" - } - ], - "displayName": [], - "globalAssetId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", - "idShort": "Battery_BAT-XYZ789", - "id": "urn:uuid:3d050cd8-cdc7-4d65-9f37-70a65d5f53f5", - "specificAssetIds": [ - { - "name": "manufacturerPartId", - "value": "XYZ78901", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "BPNL000000000000" - }, - { - "type": "GlobalReference", - "value": "PUBLIC_READABLE" - } - ] - } - }, - { - "name": "partInstanceId", - "value": "BAT-XYZ789", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "BPNL000000000000" - } - ] - } - } - ], - "submodelDescriptors": [ - { - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https:////urn:uuid:1ea64f49-8b2b-4cd2-818e-cf9d452c6fea", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ], - "idShort": "SerialPart", - "id": "urn:uuid:1ea64f49-8b2b-4cd2-818e-cf9d452c6fea", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "Submodel", - "value": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart" - } - ] - }, - "description": [], - "displayName": [] - }, - { - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https:////urn:uuid:09d5d8a9-9073-47b6-93c6-80caff176dca", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ], - "idShort": "singleLevelBomAsBuilt", - "id": "urn:uuid:09d5d8a9-9073-47b6-93c6-80caff176dca", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "Submodel", - "value": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt" - } - ] - }, - "description": [], - "displayName": [] - }, - { - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https:////api/public/data/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ], - "idShort": "digitalProductPass", - "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "Submodel", - "value": "urn:bamm:io.catenax.generic.digital_product_passport:1.0.0#DigitalProductPassport" - } - ] - }, - "description": [ - { - "language": "en", - "text": "Digital Product Passport Submodel" - } - ], - "displayName": [] - } - ] -} - -``` - -### Contract Example - -```json -{ - "@id": "registry-asset", - "@type": "dcat:Dataset", - "odrl:hasPolicy": { - "@id": "ZGVmYXVsdC1jb250cmFjdC1kZWZpbml0aW9u:cmVnaXN0cnktYXNzZXQ=:MTIxMjYzMzgtYzhkMC00MGQ4LTkxYWMtZmY2ZTY0ZTQ5ZmM0", - "@type": "odrl:Set", - "odrl:permission": [], - "odrl:prohibition": [], - "odrl:obligation": [], - "odrl:target": "registry-asset" - }, - "dcat:distribution": [ - { - "@type": "dcat:Distribution", - "dct:format": { - "@id": "HttpProxy" - }, - "dcat:accessService": "bc491229-1b41-49a9-9101-a430a4907e6e" - }, - { - "@type": "dcat:Distribution", - "dct:format": { - "@id": "AmazonS3" - }, - "dcat:accessService": "bc491229-1b41-49a9-9101-a430a4907e6e" - } - ], - "edc:type": "data.core.digitalTwinRegistry", - "edc:description": "Digital Twin Registry for DPP", - "edc:id": "registry-asset", - "edc:contenttype": "application/json" -} - -``` - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023, 2024 SAP SE -- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG -- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK -- SPDX-FileCopyrightText: 2023, 2024 BASF SE -- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA -- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-operation-view.md deleted file mode 100644 index 88601af7f41..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/page-software-operation-view.md +++ /dev/null @@ -1,446 +0,0 @@ ---- -id: Operation View EcoPass Kit -title: Operation View -description: 'EcoPass Kit Operation View' ---- - -![EcoPass KIT Pictotogram](./resources/img/EcoPassKIT_pictogram.png) - -# EcoPass KIT - -Based on the information provided in this kit, it is possible to run and program against an infrastructure of Digital Product Pass the Catena-X-way. This infrastructure empowers Data Consumers to consume the network's data as agreed with each Data Provider and facilitated by an Operating Company. They run central and decentral services that allow them to discover each other, exchange information and contextualize it according to a standardized semantics. - -| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | -| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | -| Portal/IAM | The central component of the Catena-X network. The Federated IAM from Catena-X is provided by the portal where you can manage the users and roles for the applications. | [Portal](https://github.com/eclipse-tractusx/portal-backend) | CX - 0015 | -| Discovery Finder | A microservice resolving a type of identifiers against a set of BPN-Discovery Servers. Responsible to give the search endpoints for a type of id | [eclipse-tractusx/sldt-discovery-finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | -| BPN Discovery | A microservice resolving a particular assetId against the registered BPN of its owner. Responsible for indicating the BPNs for the IDs registered by the providers | [eclipse-tractusx/sldt-bpn-discover](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | -| EDC Discovery | A microservice that resolves a BPN against an EDC endpoint. Responsible for giving the EDC endpoints of one or more BPNs | [eclipse-tractusx/portal-backend](https://github.com/eclipse-tractusx/portal-backend) - [Code Implementation](https://github.com/eclipse-tractusx/portal-backend/blob/aca855c857aed309cbca03f4f694283629197110/src/administration/Administration.Service/Controllers/ConnectorsController.cs#L178C1-L190C63) | CX - 0001 | -| Digital Twin Registry | An exhaustive list of all Submodel Servers, with link to their assets, adhering to the AAS Registry API. Responsible for having the Digital Twins of the provider and indicating the endpoints to the Passport Aspects. | [eclipse-tractusx/sldt-digital-twin-registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | -| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. Where the Passport Aspects are stored | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service), [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk), [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | -| EDC | Main gateaway to the network. In this use case two EDC need be existing, one connected to the Digital Product Pass (EcoPass KIT) [EDC Consumer] and another to the Provider Catena-X components [EDC Provider] | [eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) | CX - 0018 | -| Digital Product Pass | The [**EcoPass KIT**] reference implementation. The application is responsible for retrieving the passports and interacting with the services listed above. | [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) | CX - 0096 | - -
            - -# Configuration Guide - -In order to get the Digital Product Pass working, an EDC needs to be configured and assets need to be created so that the application is able to perform the communications. - -> **_NOTE:_** -*This documentation is based on the Digital Product Pass Admin Guide. For the complete information check the CX-0096-TriangleForDigitalProductPass Standard or the [Admin Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/admin%20guide/Admin_Guide.md)* - -## EDC Provider Configuration - -When configuring your EDC Provider you need to take into consideration the following guidelines and formats: - -> **_NOTE:_** -*Please take into consideration following our Postman Collection while setting your EDC Provider* - -### Documentation Description - -**All variables are written in the following notation: _**{{ VARIABLE_NAME }}**_** - -All the configurations are in JSON notation and follow the [EDC Configuration from Catena-X](https://github.com/eclipse-tractusx/tractusx-edc) and the [Eclipse Foundation](https://github.com/eclipse-edc/Connector). - -### Asset Configuration - -When configurating your EDC provider you will be able to set some assets which refer to a certain endpoint. - -> **_INFO:_** *All public assets must be registered in a SubModel from a Digital Twin in the Digital Twin Registry.* - -#### Variables - -| Name | Description | Example Value | -|-------------------------|----------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| AssetId | Combination of Digital Twin and Sub Model UUIDs | **Example value for asset**: urn:uuid:0ec8cf2b-f58e-3f13-b5ef-e7dd01d15b19
            **Example value for registry**: digital-twin-registry | -| AssetType | The type of the Asset | **Example value for asset**: Asset
            **Example value for registry**: data.core.digitalTwinRegistry | -| Description | Simple description of the asset | Battery Passport Test Data | -| DataProviderEndpointUrl | URL to the endpoint which stores and serves the data, basically a Database that retrieves plain text/json data for a certain API | **Example value for asset**: [https://submodel.server.url/{{path}}/{{DigitalTwinSubmodelId}}](https://submodel.server.url/{{path}}/{{DigitalTwinSubmodelId}})
            **Example value for registry**: [https://dpp-base.url/semantics/registry/api/v3.0](https://dpp-base.url/semantics/registry/api/v3.0) | -| DigitalTwinId | Id from the Digital Twin | urn:uuid:de98db6e-8e05-5d8e-8ae8-9f702cf5c396 | -| DigitalTwinSubmodelId | Sub Model Id registered in the Digital Twin Registry - -#### Format and Fields - -```json -{ - "@context": {}, - "asset": { - "@type": "{{AssetType}}", - "@id": "{{AssetId}}", - "properties": { - "description": "{{Description}}" - "contenttype": "application/json" - } - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "proxyPath": "true", - "proxyBody": "true", - "proxyMethod": "true", - "proxyQueryParams": "true", - "baseUrl": "{{DataProviderEndpointUrl}}" - } -} -``` - -When configurating your EDC provider you will be able to set some assets which refer to a certain endpoint. - -### Policies Configuration - -Policies are important for configuration the **access, prohibitions, obligations and permissions to certain assets.** - -A policy can have more and less configurations, depending on the restrictions you want to give to each asset. - -Here we specify a simple policy with just the USAGE permission, so we are able to retrieve the whole asset without obligations and prohibitions. - -#### Usage Policies - -| Policy Name | Description | -| ---- | -------- | -| Usage Permission Policy | In order to use/access the assets from the EDC Provider the Usage Policy is required | - -> **_NOTE:_** -*At the moment only Usage Permission Policies are assigned to assets, however restriction policies could be also configured if it is required for a specific use case.* - -#### Variables - -| Name | Description | Example Value | -| ---- | -------- | ---- | -| PolicyId | UUID that identifies the policy in the EDC Connector | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | -| PermissionType | DID Permission Type | PolicyDefinitionRequestDto | -| PermissionActionType | Defines the action allowed when the permission is assigned to an asset. In case of the usage policy the value "USE" is necessary | "USE" | -| BPN | Consumer's Business Partner Number | BPNL000000000000 | - -#### Format and Fields - -To allow partners to access information use this policy with the BPN number included: - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "{{PermissionType}}", - "@id": "{{PolicyId}}", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action": "{{PermissionActionType}}", - "odrl:constraint": { - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:or": [ - { - "@type": "Constraint", - "odrl:leftOperand": "BusinessPartnerNumber", - "odrl:operator": "EQ", - "odrl:rightOperand": "{{BPN}}" - } - ] - } - } - }] - } -} -``` - -For framework agreement and membership in Catena-X configure this policy: - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "{{PermissionType}}", - "@id": "{{PolicyId}}", - "policy": { - "@type": "Policy", - "odrl:permission" : [ - { - "odrl:action":"{{PermissionActionType}}", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:and": [ - { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - }, - { - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.sustainability", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - } - ] - } - } - ] - } -} - -``` - -### Contract Definition Configuration - -Contract definitions allow us to expose the assets and link them to a contract policy and an access policy. - -> **_INFO:_** *Remember that all **policies and assets** you bind to a contract **must be defined in the same EDC Connector** and linked through their ID in the configuration from the contract.* - -#### Variables - -| Name | Description | Example Value | -| ---- | -------- |-----------------------------------------------------------------------------------------------------------------------------------------------| -| ContractDefinitionId | UUID that identifies the policy in the EDC Connector | 76b50bfc-ec19-457f-9911-a283f0d6d0df | -| AssetId | Combination of Digital Twin and Sub Model UUIDs | **Example value for asset**: urn:uuid:0ec8cf2b-f58e-3f13-b5ef-e7dd01d15b19
            **Example value for registry**: digital-twin-registry | -| AccessPolicyId | Policy that allows/restricts/enforces asset access constraints | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | -| ContractPolicyId | Policy that allows/restricts/enforces contract constraints | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | - -#### Format and Fields - -> **_INFO:_** *For testing purposes and in order to ease the access to your assets we are going to define the **same policy as accessPolicy and as contractPolicy**. However, you are recommended to configure two separated policies and specify them adapting each one of them to your specific needs.* - -```json -{ - "@context": {}, - "@id": "{{ContractDefinitionId}}", - "@type": "ContractDefinition", - "accessPolicyId": "{{AccessPolicyId}}", - "contractPolicyId": "{{ContractPolicyId}}", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id", - "operator": "=", - "operandRight": "{{AssetId}}" - } -} -``` - -### Digital Twin Registration - -Once you finish the configuration, to make the endpoint public configure your digital twin in the following way: - - > **_INFO:_** *You need to be able to request tokens for the **Catena-X Central IAM** in order to **configure Digital Twins** in the Registry.* - -#### Variables - -| Name | Description | Example Value | -| ---- | -------- | ---- | -| DigitalTwinId | Manually generated DID that contains a UUID | 32aa72de-297a-4405-9148-13e12744028a | -| DigitalTwinSubmodelId | Sub Model Id registered in the Digital Twin Registry | 699f1245-f57e-4d6b-acdb-ab763665554a | -| PartInstanceId | Battery passport DMC code or the part instance Id | X123456789012X12345678901234566 | -| manufacturerPartId | The Part Id given by the manufacturer, it idenfies the type of the product | XYZ78901 | -| EDCProviderUrl | URL to the endpoint which contains the EDC Provider | [https://edc.control.plane/](https://edc.control.plane/) | -| BPN | OPTIONAL: The endpoint address can include a BPN number, which shall lead to the EDC Provider, and return the contracts when called from an EDC Consumer | BPNL000000000000 | -| SubmodelIdShort | EXACT STRING REQUIRED: The submodel id of the battery passports needs to be exactly the string: "batteryPass" | **batteryPass** | -| BammModelVersionId | The semantic version of the asset passport model, currently the version v4.0.0 is used | urn:samm:io.catenax.battery.battery_pass:4.0.0#BatteryPass | - -> **_INFO:_** *It is important that the "SubmodelIdShort" is set in the correct format and that the EDCProviderUrl points to an valid EDC Provider, that provides valid contracts configured in the structure defined here.* - -#### Format and Fields - -```json -{ - "description": [ - { - "language": "en", - "text": "Battery Passport shell descriptor" - } - ], - "idShort": "Battery_{{PartInstanceId}}", - "id": "{{DigitalTwinId}}", - "specificAssetIds": [ - { - "name": "manufacturerPartId", - "value": "{{manufacturerPartId}}", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "{{BPN}}" - }, - { - "type": "GlobalReference", - "value": "PUBLIC_READABLE" - } - ] - } - }, - { - "name": "partInstanceId", - "value": "{{PartInstanceId}}", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "{{BPN of partner}}" - } - ] - } - }, - { - "key" : "assetLifecyclePhase", - "value": "AsBuilt" - } - ], - "submodelDescriptors":[ - { - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "{{body with information required by subprotocol}}", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ], - "idShort": "batteryPass", - "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "Submodel", - "value": "urn:bamm:io.catenax.battery.battery_pass:3.0.1#BatteryPass" - } - ] - }, - "description": [ - { - "language": "en", - "text": "Battery Passport Submodel" - } - ], - { - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=https://edc.control.plane/", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ], - "idShort": "digitalProductPass", - "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "Submodel", - "value": "urn:samm:io.catenax.generic.digital_product_passport:3.0.0#DigitalProductPassport" - } - ] - }, - "description": [ - { - "language": "en", - "text": "Digital Product Passport Submodel" - } - ] - } - } - ] - } -``` - -> **_NOTE:_** -*The BPN number is not required for the configuration of the endpoint, just **make sure that the host is pointing to the EDC Provider**.* - -### Digital Twin Registry Configuration - -When configuring the digital twin registry behind the EDC Provider you should follow this EDC Registration guidelines: - -#### Variables - -| Name | Description | Example Value | -|--------------|---------------------------------------------|---------------------------------------------------------------| -| registryUrl | The base url from the digital twin registry | | -| registryName | The name from the asset for the registry | digital-twin-registry | - -#### Format and Fields - -```json -{ - "@context": {}, - "asset": { - "@type": "data.core.digitalTwinRegistry", - "@id": "{{registryName}}", - "properties": { - "description": "Digital Twin Registry", - "contenttype": "application/json" - } - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "proxyPath": "true", - "proxyBody": "true", - "proxyMethod": "true", - "proxyQueryParams": "true", - "baseUrl": "{{registryUrl}}" - } -} -``` - -## Item Relationship Service Integration - -In order to enable the drill down in passports retrieved by the Digital Product Pass Application you will need to first deploy the IRS [Item Relationship Service](https://github.com/eclipse-tractusx/item-relationship-service) and connect it to the Digital Product Pass application. - -For creating relationships between the digital twins register "singleLevelBomAsBuilt" and "singleLevelBomAsUsage" aspects which can be found here: [SingleLevelBomAsBuilt](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built) and [SingleLevelUsageAsBuilt](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built) - -> **IMPORTANT**!: The proxy configuration needs to be enabled exactly like it is configured in the dataAdress property above. - -The rest of the assets can be configured in the same way as the normal assets. - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023, 2024 SAP SE -- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG -- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK -- SPDX-FileCopyrightText: 2023, 2024 BASF SE -- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA -- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg deleted file mode 100644 index 55e10350b38..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png deleted file mode 100644 index 713ca78a154..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png.license b/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png.license deleted file mode 100644 index e24cf459351..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/adoption-view-EcoPassKIT_IT_Arch.png.license +++ /dev/null @@ -1,15 +0,0 @@ -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2023 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2023 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2023 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023,2023 SAP SE -- SPDX-FileCopyrightText: 2023,2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK -- SPDX-FileCopyrightText: 2023,2023 BASF SE -- SPDX-FileCopyrightText: 2023,2023 Henkel AG & Co. KGaA -- SPDX-FileCopyrightText: 2023,2023 Contributors to the Eclipse Foundation -- Source URL: https://github.com/eclipse-tractusx/eco-pass-kit diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/receive-unique-id-push-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/receive-unique-id-push-notification.api.mdx deleted file mode 100644 index 3e94a998ff4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/receive-unique-id-push-notification.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: receive-unique-id-push-notification -title: "receiveUniqueIdPushNotification" -description: "Receives a Traceability Unique Id push notification" -sidebar_label: "receiveUniqueIdPushNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Unique ID Push Notification"],"description":"Receives a Traceability Unique Id push notification","operationId":"receiveUniqueIdPushNotification","requestBody":{"content":{"application/json":{"schema":{"required":["header","content"],"type":"object","properties":{"header":{"type":"object","required":["notificationId","senderBPN","senderAddress","recipientBPN","classification"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"A UUIDv4 to uniquely identify a Unique ID push notification."},"senderBPN":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender."},"senderAddress":{"type":"string","format":"uri","example":"https://edc.company-xyz.io/BPNL00000003BW3S","description":"The Eclipse Dataspace Connector (EDC) URL of the sender."},"recipientBPN":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver."},"classification":{"type":"string","enum":["Child-Relationship"],"example":"Child-Relationship","description":"The classification defines the type of the Unique ID push notification."}}},"content":{"type":"object","required":["listOfItems"],"properties":{"information":{"type":"string","maxLength":1000,"example":"Update of serialized parts and batches for which digital twins were created."},"listOfItems":{"type":"array","items":{"oneOf":[{"type":"object","required":["manufacturerId","manufacturerPartId","partInstanceId","catenaxId"],"properties":{"manufacturerId":{"type":"string","example":"BPNL00000003BW3S","description":"The Business Partner Number (BPNL) of the manufacturer of the serialized part, i.e., the companies main entry."},"manufacturerPartId":{"type":"string","example":"8840838-04","description":"The ID of the type/catalog part (of which the serialized part is an instance of) from the manufacturer."},"customerPartId":{"type":"string","example":"AAX178378","description":"The ID of the type/catalog part (of which the serialized part is an instance of) from the customer."},"partInstanceId":{"type":"string","example":"NO-009284492099792129568369","description":"The serial number of the serialized part from the manufacturer. We assume here that the customer does not have or create its own serial number for a part, but just used the manufacturer's serial number."},"catenaxId":{"type":"string","example":"urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd","description":"Catena-X ID for a serialized part."}}},{"type":"object","required":["manufacturerId","manufacturerPartId","batchId","catenaxId"],"properties":{"manufacturerId":{"type":"string","example":"BPNL00000003BW3S","description":"The Business Partner Number (BPNL) of the manufacturer of the batch, i.e., the companies main entry."},"manufacturerPartId":{"type":"string","example":"8840838-04","description":"The ID of the type/catalog part (of which the batch is an instance of) from the manufacturer."},"customerPartId":{"type":"string","example":"AAX178378","description":"The ID of the type/catalog part (of which the batch is an instance of) from the customer."},"batchId":{"type":"string","example":"NO-009284492099792129568369","description":"The serial number of the batch from the manufacturer. We assume here that the customer does not have or create its own serial number for a batch, but just used the manufacturer's serial number."},"catenaxId":{"type":"string","example":"urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd","description":"Catena-X ID for a batch."}}}]}}}}}}}}},"responses":{"201":{"description":"Notification was received successfully"},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"409":{"description":"Could not accept the send notification, because a notification with that notificationId already exists"},"422":{"description":"Could not accept the send notification even though it is syntactically correct. The notification is not accepted, because of semantic reasons (e.g., an item is not known by the receiver)."}},"method":"post","path":"/uniqueidpush/receive","servers":[{"url":"/"}],"jsonRequestBodyExample":{"header":{"notificationId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","senderBPN":"BPNL00000003BW3S","senderAddress":"https://edc.company-xyz.io/BPNL00000003BW3S","recipientBPN":"BPNL00000003BV4H","classification":"Child-Relationship"},"content":{"information":"Update of serialized parts and batches for which digital twins were created.","listOfItems":[{"manufacturerId":"BPNL00000003BW3S","manufacturerPartId":"8840838-04","customerPartId":"AAX178378","partInstanceId":"NO-009284492099792129568369","catenaxId":"urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd"},{"manufacturerId":"BPNL00000003BW3S","manufacturerPartId":"8840838-04","customerPartId":"AAX178378","batchId":"NO-009284492099792129568369","catenaxId":"urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd"}]}},"info":{"title":"Unique ID Push Notification API","description":"API documentation for Traceability Unique ID Push Notifications","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.0.0"},"postman":{"name":"receive Unique Id Push Notification","description":{"content":"Receives a Traceability Unique Id push notification","type":"text/plain"},"url":{"path":["uniqueidpush","receive"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Unique ID Push API/unique-id-push-notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## receiveUniqueIdPushNotification - - - -Receives a Traceability Unique Id push notification - -
            Request Body
              header object required
              content object required
              listOfItems object[] required
              oneOf
            - -Notification was received successfully - -
            - -Request body was malformed - -
            - -Not authorized - -
            - -Forbidden - -
            - -Method not allowed - -
            - -Could not accept the send notification, because a notification with that notificationId already exists - -
            - -Could not accept the send notification even though it is syntactically correct. The notification is not accepted, because of semantic reasons (e.g., an item is not known by the receiver). - -
            - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/sidebar.js deleted file mode 100644 index e91341315cc..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Traceability Kit/Software Development View/Unique ID Push API/unique-id-push-notification-api"},{"type":"category","label":"Unique ID Push Notification","link":{"type":"generated-index","title":"Unique ID Push Notification","slug":"/category/kits/Traceability Kit/Software Development View/Unique ID Push API/unique-id-push-notification"},"items":[{"type":"doc","id":"kits/Traceability Kit/Software Development View/Unique ID Push API/receive-unique-id-push-notification","label":"receiveUniqueIdPushNotification","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/unique-id-push-notification-api.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/unique-id-push-notification-api.info.mdx deleted file mode 100644 index 2bca1c1059e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/Unique ID Push API/unique-id-push-notification-api.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: unique-id-push-notification-api -title: "Unique ID Push Notification API" -description: "API documentation for Traceability Unique ID Push Notifications" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 1.0.0 - -# Unique ID Push Notification API - - - -API documentation for Traceability Unique ID Push Notifications - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx deleted file mode 100644 index ad62b437ea2..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx +++ /dev/null @@ -1,593 +0,0 @@ ---- -id: Aspect Models Development View Industry Core Kit -title: Aspect Models -description: "Industry Core KIT" -sidebar_position: 2 ---- - - - -import Notice from '../part_notice.mdx' -import AspectModelOverview from './part_aspect-model-overview.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -Aspect models are mostly easy to create by transforming a company's internal data into the target aspect model. Transformations are mostly straightforward in these cases. If necessary, special steps in creating aspect models are mentioned in the corresponding sections. - - - -### PartAsPlanned - -PartAsPlanned represents an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status in a specific version. - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.part_as_planned/2.0.0 -- Version 1.0.1: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.part_as_planned/1.0.1 - -#### Example: Aspect Model `PartAsPlanned 2.0.0` for a part type - -```json -{ - "partTypeInformation": { - "classification": "component", - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - }, - "partSitesInformationAsPlanned": [ - { - "functionValidUntil": "2023-12-05T20:53:18.826+01:00", - "catenaXsiteId": "BPNS1234567890ZZ", - "function": "production", - "functionValidFrom": "2023-12-05T20:53:18.826+01:00" - } - ], - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379" -} -``` - -#### Example: Aspect Model `PartAsPlanned 1.0.1` for a part type - -```json -{ - "partTypeInformation": { - "classification": "component", - "manufacturerPartId": "123-0.740-3434-A", - "nameAtManufacturer": "Mirror left" - }, - "validityPeriod": { - "validFrom": "2021-06-14T06:55:29.935Z", - "validTo": "2022-06-14T06:55:29.935Z" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379" -} -``` - -### SingleLevelBomAsPlanned - -The single-level Bill of Material represents one sub-level of an assembly and does not include any lower-level subassemblies. In as planned lifecycle state all variants are covered (\"120% BoM\"). If multiple versions of child parts exist that can be assembled into the same parent part, all versions of the child part are included in the BoM. If there are multiple suppliers for the same child part, each supplier has an entry for their child part in the BoM. - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_planned/2.0.0 -- Version 1.1.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_planned/1.1.0 - -#### Example: Aspect Model `SingleLevelBomAsPlanned 2.0.0` for a Catalog Part - -```json -{ - "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", - "childItems": [ - { - "catenaXId": "urn:uuid:5daB938E-Cafa-92B3-7ca1-9aD7885e9dC8", - "validityPeriod" : { - "validFrom" : "2023-03-21T08:17:29.187+01:00", - "validTo" : "2024-07-01T16:10:00.000+01:00" - }, - "quantity": { - "quantityNumber": 2.5, - "measurementUnit": "unit:litre" - }, - "createdOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL50096894aNXY", - "lastModifiedOn": "2022-02-03T14:48:54.709Z" - } - ] -} - -``` -#### Example: Aspect Model `SingleLevelBomAsPlanned 1.1.0` for a Catalog Part - -```json -{ - "catenaXId" : "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", - "childParts" : [ { - "childCatenaXId" : "fEbdF497-B223-8365-dEbe-df4A6E67bDee", - "validityPeriod" : { - "validFrom" : "2023-03-21T08:17:29.187+01:00", - "validTo" : "2024-07-01T16:10:00.000+01:00" - }, - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] -} -``` - -### PartSiteInformationAsPlanned - -The aspect provides site related information for a given as planned item (i.e. a part type or part instance that is uniquely identifiable within Catena-X via its Catena-X ID). A site is a delimited geographical area where a legal entity does business. In the "as planned" lifecycle context all potentially related sites are listed including all sites where e.g. production of this part (type) is planned. - -Aspect model in GitHub: -- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.part_site_information_as_planned/1.0.0 - -#### Example: Aspect Model `PartSiteInformationAsPlanned 1.0.0` for a Component that is Produced at the Given Site - -```json -{ - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "sites": [ - { - "catenaXSiteId": "BPNS1234567890ZZ", - "functionValidUntil": "2025-11-21T11:14:30.825+01:00", - "function": "production", - "functionValidFrom": "2022-11-21T11:14:30.825+01:00" - } - ] -} -``` -### PartSiteInformationAsBuilt (shared aspect) - -The aspect provides site related information for a given item(i.e. a part type or part instance that is uniquely identifiable within Catena-X via its Catena-X ID). A site is a delimited geographical area where a legal entity does business. In this context all potentially related sites are listed including all sites where e.g. production of this part(type). - -Aspect model in GitHub: -- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.part_site_information_as_built/1.0.0 - - -#### Example: Aspect Model `PartSiteInformationAsBuilt 1.0.0` for a component that is produced at the given site - -```json -{ - "catenaXId" : "580d3adf-1981-44a0-a214-13d6ceed9379", - "sites" : [ { - "catenaXsiteId" : "BPNS1234567890ZZ", - "function" : "production" - } ] -} -``` - -### SerialPart - -A serialized part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a serial numbers or a similar identifier (e.g. VAN) or a combination of multiple identifiers (e.g. combination of manufacturer, date and number) - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.serial_part/2.0.0 -- Version 1.0.1: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.serial_part/1.0.1 - -#### Example: Aspect Model `SerialPart 2.0.0` for a Vehicle - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, - { - "key": "partInstanceId", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - }, - { - "key": "van", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "sites": [ - { - "catenaXsiteId": "BPNS1234567890ZZ", - "function": "production" - } - ], - "partTypeInformation": { - "manufacturerPartID": "QX-39", - "classification": "product", - "nameAtManufacturer": "Vehicle Model A" - } -} -``` - -#### Example: Aspect Model `SerialPart 2.0.0` for a Serialized Part (Non-Vehicle) - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, - { - "key": "partInstanceId", - "value": "NO-574868639429552535768526" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "sites": [ - { - "catenaXsiteId": "BPNS1234567890ZZ", - "function": "production" - } - ], - "partTypeInformation": { - "manufacturerPartID": "95657362-83", - "customerPartId": "798-515297795-A", - "classification": "component", - "nameAtManufacturer": "High Voltage Battery", - "nameAtCustomer": "High Voltage Battery" - } -} -``` - -#### Example: Aspect Model `SerialPart 1.0.1` for a Vehicle - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, - { - "key": "partInstanceId", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - }, - { - "key": "van", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "partTypeInformation": { - "manufacturerPartID": "QX-39", - "classification": "product", - "nameAtManufacturer": "Vehicle Model A" - } -} -``` - -#### Example: Aspect Model `SerialPart 1.0.1` for a Serialized Part (Non-Vehicle) - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, - { - "key": "partInstanceId", - "value": "NO-574868639429552535768526" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "partTypeInformation": { - "manufacturerPartID": "95657362-83", - "customerPartId": "798-515297795-A", - "classification": "component", - "nameAtManufacturer": "High Voltage Battery", - "nameAtCustomer": "High Voltage Battery" - } -} -``` - -#### Creation of Aspect Model SerialPart - -The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding part. - -### Batch - -A batch is a quantity of (semi-) finished products or (raw) material product that have been produced under the same circumstances (e.g. same production location), as specified groups or amounts, within a certain time frame. Every batch can differ in the number or amount of products. Different batches can have varied specifications, e.g., different colors. A batch is identified via a Batch ID. - -Aspect model in GitHub: -- Version 2.0.1: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.batch/2.0.1 -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.batch/2.0.0 - -#### Example: Aspect Model `Batch 2.0.1` for a Batch of Raw Material - -```json -{ - "localIdentifiers": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "HUR" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "sites": [ - { - "catenaXsiteId": "BPNS1234567890ZZ", - "function": "production" - } - ], - "partTypeInformation": { - "manufacturerPartId": "123-0.740-3434-A", - "classification": "product", - "nameAtManufacturer": "PA66-GF30", - } -} -``` - -#### Example: Aspect Model `Batch 2.0.0` for a Batch of Raw Material - -```json -{ - "localIdentifiers": [ - { - "value": "BID12345678", - "key": "batchId" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "HUR" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "partTypeInformation": { - "manufacturerPartId": "123-0.740-3434-A", - "classification": "product", - "nameAtManufacturer": "PA66-GF30", - } -} -``` - -#### Creation of Aspect Model Batch - -The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding batch. - -### JustInSequencePart - -A just-in-sequence part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a combination of several IDs related to a just-in-sequence process. - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.just_in_sequence_part/2.0.0 -- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.just_in_sequence_part/1.0.0 - -#### Example: Aspect Model `JustInSequencePart 2.0.0` for a non-serialized component - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "jisNumber", - "value": "894651684" - }, - { - "key": "parentOrderNumber", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - }, - { - "key": "jisCallDate", - "value": "2022-01-24T09:13:34" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "sites": [ - { - "catenaXsiteId": "BPNS1234567890ZZ", - "function": "production" - } - ], - "partTypeInformation": { - "manufacturerPartID": "84816168424", - "classification": "product", - "nameAtManufacturer": "Black Leather Front Row Seat for Vehicle Model B" - } -} -``` - -#### Example: Aspect Model `JustInSequencePart 1.0.0` for a non-serialized component - -```json -{ - "localIdentifiers": [ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "jisNumber", - "value": "894651684" - }, - { - "key": "parentOrderNumber", - "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" - }, - { - "key": "jisCallDate", - "value": "2022-01-24T09:13:34" - } - ], - "manufacturingInformation": { - "date": "2022-02-04T14:48:54", - "country": "DEU" - }, - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "partTypeInformation": { - "manufacturerPartID": "84816168424", - "classification": "product", - "nameAtManufacturer": "Black Leather Front Row Seat for Vehicle Model B" - } -} -``` - -> Please note that if a just-in-sequence part is also a serialized part, SerialPart should be used instead. - -#### Creation of Aspect Model JustInSequencePart - -The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding part. - -### SingleLevelBomAsBuilt - -The aspect provides the child parts (one structural level down) which the given object assembles. - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_built/2.0.0 -- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_built/1.0.0 - -#### Example: Aspect Model `SingleLevelBomAsBuilt 2.0.0` for a Serialized Part - -```json -{ - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "childItems": [ - { - "quantity": { - "quantityNumber": 1.0, - "measurementUnit": "unit:piece" - }, - "hasAlternatives": false, - "createdOn": "2022-02-03T14:48:54.709Z", - "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "businessPartner": "BPNL50096894aNXY" - } - ] -} -``` - -#### Aspect Model `SingleLevelBomAsBuilt 2.0.0` for a Batch - -```json -{ - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "childItems": [ - { - "quantity": { - "quantityNumber": 25.0, - "measurementUnit": "unit:kilogram" - }, - "hasAlternatives": false, - "createdOn": "2022-02-03T14:48:54.709Z", - "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "businessPartner": "BPNL50096894aNXY" - } - ] -} -``` - -#### Example: Aspect Model `SingleLevelBomAsBuilt 1.0.0` for a Serialized Part - -```json -{ - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "childItems": [ - { - "quantity": { - "quantityNumber": 1.0, - "measurementUnit": "unit:piece" - }, - "createdOn": "2022-02-03T14:48:54.709Z", - "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "businessPartner": "BPNL50096894aNXY" - } - ] -} -``` - -#### Aspect Model `SingleLevelBomAsBuilt 1.0.0` for a Batch - -```json -{ - "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", - "childItems": [ - { - "quantity": { - "quantityNumber": 25.0, - "measurementUnit": "unit:kilogram" - }, - "createdOn": "2022-02-03T14:48:54.709Z", - "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", - "businessPartner": "BPNL50096894aNXY" - } - ] -} -``` - -#### Creation of Aspect Model SingleLevelBomAsBuilt - -The creation of the aspect model SingleLevelBomAsBuilt is more complicated. This aspect model contains the Unique ID of the manufacturer's part (attribute catenaXId) which is created - as described above - when the part's SerialPart or Batch aspect model is created. But it also contains the Unique IDs of the built-in parts (attributes childItems.catenaXId), as shown in the example above. - -For the build-in parts (child items), their Unique ID is not known to the manufacturer initially. Only know are the local ids that are printed on the physical part (serialized part or batch), i.e., manufacturer (BPN), manufacturer part id and serial or batch number. To get the Unique ID of a built-in part, a data provider therefore has to do the following: - -- Get all necessary local ids for the built-in part: - - manufacturer (BPN), manufacturer part id and serial number for serialized parts - - manufacturer (BPN), manufacturer part id and batch number for batches -- The next step is about getting the Unique ID of all built-in parts. There are two ways: - - Unique IDs might for built-in parts might already be available locally if Unique ID Push is supported by the data provider and the suppliers of the built-in parts. - - Query a supplier's Digital Twin Registry to find the digital twin for this built-in part - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx deleted file mode 100644 index 7f0ce50265c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx +++ /dev/null @@ -1,365 +0,0 @@ ---- -id: Digital Twins Development View Industry Core Kit -title: Digital Twins -description: "Industry Core KIT" -sidebar_position: 1 ---- - - - -import Notice from '../part_notice.mdx' -import UniqueIDPush from './part_uniqueidpush.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -Industry Core uses digital twins to make a company's data available to other Catena-X partners. Basics about digital twins with which you should be familiar to understand this section are described in the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit). - -### Register Digital Twins - -In Industry Core, different types of parts, e. g. serialized parts, batches, JIS parts or catalog part, are registered in a company's DTR as digital twins. - -> :raised_hand: **Unique ID Push** -> Once a digital twin was registered (initially created), optionally a Unique ID Push notification can be send from the manufacturer (creator of the digital twin) to the customer of the part to inform it that a new digital twin is available. - -The following general conventions apply for all these digital twins: - -- id: The AAS ID must be a UUIDv4 in URN format: `urn:uuid:`; -- globalAssetId: the Unique ID of the real-world part for which a digital twin is created. - -> :warning: The AAS ID is not the same id as the Catena-X Unique ID, although they have the same format (UUID) and therefore look the same. A Unique ID identifies real-world parts, whereas a AAS ID identifies a digital twin of such a part. So, don't use the same value for Unique ID and AAS ID. - -##### Property specificAssetIds - -Specific asset IDs are used to identify digital twins when looking up or searching for these digital twins. This is a required step by a customer of a part to connect the digital twins of their parts with the digital twins of the suppliers' child parts. To a customer, only the information printed on a real-world part is available and can be used for the lookup. Mandatory specific asset IDs ensure that at least this information is available for the digital twin. - -The following conventions for specific asset IDs apply to all digital twins: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            Key Availability Description Type
            manufacturerId Mandatory The Business Partner Number (BPNL) of the manufacturer of the part. BPNL
            manufacturerPartId Mandatory The ID of the type/catalog part from the manufacturer. String
            customerPartId Optional The ID of the type/catalog part from the customer.
            The main reason why this propertiy is optional is that it cannot be guaranteed that every manufacturer knows the customerPartId for their parts. In case the manufacturer knows the customer and the corresponding CustomerPartID of its part though, it is required to add this information for easier lookup and to enable further processes.
            - -
            String
            digitalTwinType Optional (for DT As-Built)
            Mandatory (for DT As-Planned)
            - The type of the digital twin: -
            • "PartInstance" for serialized parts, batches, and JIS parts
            • "PartType" for catalog parts
            - digitalTwinType was added to allow data consumers to search for all digital twins of a particular type, e.g, only for catalog parts by using digitalTwinType="PartType" as filter. Without this filter, a search for a particular manufacturer part ID would not only return the digital twin of the catalog part, but also all digital twins of instances of this catalog part, i.e., of the corresponding serial parts. -
            Enum
            - -**For serialized parts, additionally the following conventions apply:** - -| Key | Availability | Description | Type | -| :------------- | :----------- | :------------------------------------------------------------------------------------------- | :----- | -| partInstanceId | Mandatory | The serial number of the part from the manufacturer. | String | -| van | Optional | **Only for vehicles:** The pseudonymized vehicle identification number (VIN) of the vehicle. | String | - -**For batches, additionally the following conventions apply:** - -| Key | Availability | Description | Type | -| :------------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- | -| batchId | Optional | The number of the batch from the manufacturer. | String | -| partInstanceId | Mandatory | Also the number of the batch from the manufacturer.

            Currently, we also use the batch number as partInstanceId. This makes looking up digital twins for serialized parts and batches easier as a data consumer only has to specify the partInstanceId no matter if they are looking up a serialized part or a batch. Otherwise, the data consumer would need to know for what type of digital twin it is looking for or it would have to look for both until a match is found. | String | - -**For just-in-sequence (JIS) parts, additionally the following conventions apply:** - -| Key | Availability | Description | Type | -| :---------------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- | -| parentOrderNumber | Optional | A number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. | String | -| jisNumber | Mandatory | A number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number. | String | -| jisCallDate | Optional | The date of the just-in-sequence call-off as stated on the call-off document itself.
            The value must be compliant to ISO 8601: `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ss` or `YYYY-MM-DDThh:mm:ss±hh:mm` | Date | -| partInstanceId | Mandatory | A composition of `jisNumber`, `parentOrderNumber` (if available), `jisCallDate` (ifavailable). This information is typically known upfront to the supplier `jisNumber`, `partOrderNumber` and `jisCallDate` for just-in-sequence parts. | String | - -> :raised_hand: **Lookup of Digital Twins** -> The lookup for parts can use the customerPartId or the manufacturerPartId. Both, manufacturer and customer must agree upon what part id will be used for the lookup. Otherwise, when the customer would use the customerPartId for the lookup, but the manufacturer would only provide the manufacturerPartId in its digital twins, the lookup would fail every time. **This is decision that a customer must agree upon with each of their suppliers individually.** - -##### Authorization: Visbility of Specific Asset IDs in the DTR - -To enforce a strict need-to-know (and prevent data from being exposed to non-authorized parties), the visibility of entries in the attribute `specificAssetIds` must be protected, i.e.,their visibility must be restricted to authorized parties only. For that, the attribute `externalSubjectId` must be used. Detailed information about this can be found in the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit). - -##### Submodel Descriptors - -Here, we extend the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) standard with some additional conventions. - -Submodel descriptors MUST be compliant to the following additional conventions: - -- `id`: The submodel ID must be a UUIDv4 in URN format: "urn:uuid:<UUIDv4>"; -- `idShort`: the name of the aspect model in camel case, e.g. for aspect SerialPart: "serialPart". - -The actual access information for the EDC is part of the endpoint attribute in the submodel descriptor. - -```json -{ - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/public/{path}/submodel", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": ["1.1"], - "subprotocol": "DSP", - "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { "type": "NONE", "key": "NONE", "value": "NONE" } - ] - } -} -``` - -The following conventions apply for the endpoint: - -- `interface`, `endpointProtocol`, `endpointProtocolVersion`, `subprotocol`, `subprotocolBodyEncoding`, and `securityAttributes` are set as defined in the CX-0002 standard. -- `href`: The endpoint address for the logical operation GetSubmodel that is invoked by a data consumer to get the submodel. It must have the following format: - - `https://edc.data.plane/public`: Address of the EDC data plane that is providing the submodel. - - `{path}`: This `{path}` string is forwarded to the backend data service by the EDC data plane. Together with the EDC asset information (see below) it must contain all information for the backend data service to return the requested submodel. The actual path depends on the type of backend data service that the data provider uses to handle the request. More details follow below. - - `/submodel`: This `/submodel` string is also forwarded to the backend data service. As AAS Profile SSP-003 of the Submodel Service Specification is mandatory for release 3.2, `href` must have the suffix "/submodel" representing the invokation of the GetSubmodel operation. -- `subprotocolBody`: a semicolon-separated list of parameters used to negotiate the required contract agreement. - - `id=123`: The ID of the EDC asset for which a contract negitiation should be intiated. This ID is also called dataset ID as it is stored as `https://www.w3.org/ns/dcat/dataset.@id` in a catalog entry. This ID must be set by the data provider when creating the asset. Do not confuse this EDC asset ID (dataset ID) with other IDs that might be defined additionally for an EDC asset, e.g., `https://w3id.org/edc/v0.0.1/ns/id` (often refered to as `edc:id`). - - `dspEndpoint`: Server and port of the EDC control plane used for contract negotiation. - -> :raised_hand: **Backend Data Service for Submodels** -According to CX-0002, the backend data service identified via `href`and the filter criteria in `subprotocolBody` MUST be conformant to the Asset Administration Shell Profile SSP-003 of the Submodel Service Specification and must at least support the logical operation GetSubmodel. In release 3.2, only the logical parameter Content=Value must be supported via path suffix "/submodel/$value". This might change in later Catena-X releases. - -With this approach, the EDC asset structure must no longer follow the "one EDC asset per submodel" rule (as in Release 3.1 and before), but gives data providers more flexibility how to create EDC assets for their digital twins and submodels based on how they use `{path}`. - -###### Option 1: Same EDC Asset Structure as in Release 3.1 - -Submodels of digital twins are registered in the EDC the same way as for release 3.1: One EDC asset is created for every submodel of a digital twin. - -- `href` must have the following format: `https://edc.data.plane/public/submodel` -- `subprotocolBody` must have the following format: `id={edcAssetId};dspEndpoint=http://edc.control.plane` -- edcAssetId is the id of the EDC asset for the submodel. It must have the following format "{aasIdentifier}-{submodelIdentifier}" with - - aasIdentifier: the id of the digital twin (id property in the AAS descriptor) - - submodelIdentifier: the id of the submodel (id property in the submodel descriptor) - -Here's an example how such a submodel descriptor could look like: - -```json -"submodelDescriptors": [ - { - "idShort": "serialPart", - "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:samm:io.catenax.serial_part:1.0.1#SerialPart" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/public/submodel", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": ["1.1"], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0;dspEndpoint=http://edc.control.plane/", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { "type": "NONE", "key": "NONE", "value": "NONE" } - ] - } - } - ] - } -] -``` - -In this example, the `path` part in the `href` is empty, as the EDC asset referenced in `subprotocolBody` directly points to a service returning the correct submodel (set up correctly with its dataAddress in the data provider's EDC). - -###### Option 2: EDC Asset Structure on Catalog Part Level - -A data provider can link several submodel endpoints to the same EDC asset (referenced by its id). This allows to create only one EDC asset (per aspect model) for a catalog part and link all submodels (of the same aspect model) for serialized parts of the catalog part to the same EDC asset. The data provider would still need to create separate EDC assets per aspect model as in most cases different usage policies are used for aspect models. - -If a data provider no longer creates EDC assets on the level of submodels, the EDC can no longer authorize a request on a submodel-level. For example: If EDC assets are created per catalog part, the EDC can only authorize if the requestor is allowed to see parts of these type in general; if the requestor is allowed to see a actual serialized part, must be authorized by the backend data service executing the request. - -Here's an example how such a submodel descriptor could look like: - -```json -"submodelDescriptors": [ - { - "idShort": "serialPart", - "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:samm:io.catenax.serial_part:1.0.1#SerialPart" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "https://edc.data.plane/public/urn%3Auuid%3A75e98d67-e09e-4388-b2f6-ea0a0a642bfe-urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0/submodel", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": ["1.1"], - "subprotocol": "DSP", - "subprotocolBody": "id=urn:uuid:1475f313-0a83-4e2b-b705-a100eebcb7d7;dspEndpoint=http://control-plane.edc.catena-x.net/", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { "type": "NONE", "key": "NONE", "value": "NONE" } - ] - } - } - ] - } -] -``` - -The path part of the `href` property contains the information for the backend data service which digital twin's submodel to return while the EDC asset ID is used for several endpoints. The path part here is just an example as it depends on the type of backend data service the data provider uses. - -The above options are only two examples how a submodel's endpoint can be created. As long as it's compliant with the above conventions (including CX-0002) a data provider can also use any other EDC asset structure. - -###### Data Consumption with AAS Submodel Descriptor Endpoints - -The endpoint `href` in the submodel descriptor cannot be used directly to contact an EDC and access the data in Catena-X. - -- A data consumer must first identify the protocol that must be used to retrieve the submodel data based on the `subprotocol`. For data transfers in Catena-X, this is "DSP" -- With `href`, the data consumer calls the local operation GetSubmodel as specified by the suffix "/submodel". As only the logical parameter "Content" must be supported in release 3.2, "/$value" must be appended to `href` by the data consumer. - If the `href` endpoint is called with operations or parameter values not yet supported, the error response 501 "Not Implemented" must be returned according to CX-0002. -- Then, the data consumer must use the information in the `subprotocolBody` to perform a contract negotiation for the EDC asset referenced by `id` with the EDC control plane of the data provider specified by `dspEndpoint`. -- Finally, using the id from the contract agreement with the control plane, the data consumer initiates the data transfer with the EDC data plane of the data provider referenced in the `href`. The enriched path part of the `href` (see bullet point 2) is passed to data provider data plane by the data consumer as a parameter for the backend data service that actually executes the request and returns the submodel. - -All these steps must be handled by the data consumer that want to retrieve the submodel data of a digital twin. - -### Lookup in the Digital Twin Registry - -For a data provider, there are currently the following steps where they have to lookup digital twins of other partners in the Catena-X network. - -- The data provider must use the local IDs for a serialized part or batch (manufacturer, part number, serial or batch number) and for a just-in-sequence part (manufacturer, parentOrderNumber, jisNumber, jisCallDate) to lookup the AAS ID of the digital twin of this serialized part, batch or just-in-sequence part. The AAS descriptor with this ID contains the Unique ID of the serialized part, batch or just-in-sequence (as globalAssetId) that is used to create SingleLevelBomAsBuilt submodel. - -- The data provider must use the local IDs for a catalog part (manufacturer, part number) to lookup the AAS ID of the digital twin of this catalog part. The AAS descriptor with this ID contains the Unique ID of the catalog part (as globalAssetId) that is used to create the SingleLevelBoMAsPlanned submodel. - -For a data consumer, there are currently the following steps where they have to lookup digital twins of other partners in the Catena-X network. - -- The data consumer in the Traceability use case in most cases will use the Unique ID of a part to lookup the digital twin (more precisely, its AAS ID) of this part. -- The data consumer from another use case (e.g., Circular Economy), might either use the Unique ID of a part (if known) or the local IDs of a part to lookup the part's digital twin (AAS ID) depending on what is available in the use case. - -##### Lookup up a Digital Twin with Local IDs - -The local IDs of a serialized part (manufacturer, part number, serial number) are stored as specific asset IDs in the AAS descriptor of the digital twin. From the Digital Twin Registry API, the following function can be used for this lookup `GET /lookup/shells`. - -All Asset identifier key-value-pairs used as parameter to this lookup function are combined using AND. An example query would look like this: `https://URL/registry/lookup/shells?assetIds=%5B%7B%22key%22%3A%20%22manufacturerId%22,%22value%22%3A%20%22BPNL7588787849VQ%22%7D,%7B%22key%22%3A%20%22manufacturerPartId%22,%22value%22%3A%20%2295657362-83%22%7D,%7B%22key%22%3A%20%22partInstanceId%22,%22value%22%3A%20%22NO-574868639429552535768526%22%7D%5D` - -**The assetIds value looks like this unencoded (but with additional spaces and linebreaks):** - -```json -[ - { - "key": "manufacturerId", - "value": "BPNL7588787849VQ" - }, - { - "key": "manufacturerPartId", - "value": "95657362-83" - }, - { - "key": "partInstanceId", - "value": "NO-574868639429552535768526" - } -] -``` - -The lookup (for serialized parts/batches as well as catalog parts) can use the customer or the manufacturer part id (manufacturerPartId or manufacturerPartId). - -- For a digital twin, adding the customer part id to the specific asset IDs is optional. The main reason for this is that it cannot be guaranteed that every manufacturer knows the customer part id for their parts. But, if they know it, it is recommended to always add the customer part id to the specifiAssetId property for easier lookup (by customers). -- A customer that wants to do a lookup for a supplier's digital twin, must first decide what id they want to use for the lookup. This depends on the information that is available to them. - - If the customer knows the manufacturer part id, they should use the manufacturer part id for the lookup as the manufacturer part id is guaranteed to be available in the digital twin (as the manufacturer part id is a mandatory property). - - If the customer does not know the manufacturer part id, they must use the customer part id (i.e., their own part id). In that case they must make sure that their suppliers register their digital twins with this information (as the customer part id is optional) as part of the specific asset IDs. This is decision that a customer must agree upon with each of their suppliers individually. - -As a result, the AAS ID of the digital twin with this local IDs is returned. The AAS ID can then be used to retrieve details about the digital twin, i.e. the digital twin's AAS descriptor including submodel descriptors. - -**Example result for looking up a digital twin with local IDs:** - -```json -["urn:uuid:c227a880-b82b-40f7-846c-3942ddf26c29"] -``` - -Note that this query can return more than one AAS ID depending on the local IDs uniquely identifying a digital twin or not. - -Currently, even if more than one digital twin is returned in a lookup, these digital twins should have different submodels assigned to them. These submodels should be disjunct and not overlap. This means that you can use the submodel to filter out the correct digital twin. - -- If there are returned more than one digital twin with the same submodel (based on their semanticId), this is considered an error. Processing should be canceled and an error message should be reported. - -The next section describes to modify the lookup to additionally restrict the results to digital twins with a specific submodel type based on it's semanticId. - -###### Unique ID Push - -Once the digital twin was created, optionally a Unique ID Push notification can be send by the manufacturer of the part to the customer of the serialized part of batch to inform the customer that information about a serialized part or batch is available as a digital twin. This is an optional process and both, the manufacturer of a part as well as the customer of the part must support Unique ID Push notifications. - -For more information, see [Unique ID Push Notifications](#unique-id-push-notifications) - -###### Query a Digital Twin Registry to find the digital twin for this built-in part - -- Querying digital twins is described in [Lookup for Digital Twins in the Digital Twin Registry](#lookup-for-digital-twins-in-the-digital-twin-registry) - - Note that the query parameters differ depending on what type of digital twin is looked up. - - Currently though, no matter if you want to lookup serialized parts or batches, you can use partInstanceId (using the serial number or the batch number as search parameter value). - - For Batch digital twins, the key batchId might be provided optionally. As this key is not mandatory currently, you cannot rely on this key being available when looking for Batch digital twins. - - To understand why, take a look at how these digital twins are created, especially their specific asset IDs: [Creating Submodels for Digital Twins](#creating-submodels-for-digital-twins) - - The result of this query will be the AAS ID of the digital twin. -- Use this AAS ID to get the AAS Descriptor including all Submodel Descriptors of this digital twin. The AAS Descriptor contains the Submodel Descriptor SerialPart or Batch (depending on the digital twin type). -- Fetch the submodel SerialPart or Batch (depending on the digital twin type) from the EDC that is referenced in the corresponding Submodel Descriptor. -- The submodel then contains the Unique ID of the built-in part in its catenaXId attribute. - -These steps have to be repeated for all built-in parts by the manufacturer. After that, the manufacturer has all information to create the SingleLevelBomAsBuilt. - -#### Publish Traceability Data Offers at EDC - -With the changes of Release 3.2 regarding the submodel endpoints in the DTR, the actual EDC asset structure for submodels is no longer restricted by use case conventions and can be decided by the data provider. - -##### Data Provider Tasks - -Basically, as a data provider you have to do the following - -- Implement a Backend Data Service (BDS) for every asset that is provided via the EDC. It does not have to be a different BDS for each asset - you can use the same BDS for several assets (to be verified). -- The BDS must support the Asset Administration Shell Profile SSP-003 of the Submodel Service Specification (see standard CX-0002 for more details). -- The BDS must use the REST API data plan for data transmission. -- The BDS must verify that it only returns data to the data consumer that is compliant to the EDC asset and data offer for which data is queried and authorize the request accordingly. - - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_policies.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_policies.mdx deleted file mode 100644 index fa140d8cf9a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/page_policies.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -id: Policies Development View Industry Core Kit -title: Policies -description: "Industry Core KIT" -sidebar_position: 3 ---- - - - -import Notice from '../part_notice.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -Policies are used to increase data sovereignty by limiting the access and usage of data. In the following, access and usage policies with their usage in the EDC are described. - -### Access Policies - -#### BPN Access Policy - -This policy allows limiting access to a data offer based on a list of specific BPNs. This translates to the following functionality: - -- The data offer creator will be able to create a policy listing all the BPN that can access the data offer -- This means that only the connectors registered in the Catena-X network with the BPN listed in the policy can see the data offer and accept it (for the creation of data contracts and subsequent data exchange) - - -Examples including a JSON payload for single and multiple BPN are described on [this page in the tractus-x EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/tree/c8e9675faf417ec5cded9537964da834d49c52cb/edc-extensions/bpn-validation) or in the [Connector Kit](../../../category/connector-kit). - -### Usage Policies / Contract Policies - -Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way of formulating policy payloads. It further allows to stack different constraints with the `odrl:and` operator. Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the network. - -Since usage or contract policies are highly dependent on the use case, they are described by them in their associated KITs. - -### Contract Definitions - -In the EDC, every policy is connected with a data asset by a contract definition. Details about the endpoint and payload can be found in the [Transfer Data sample in the tractus-x EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/bc7a1aaf8e1d2a742f71c04e98bcdf409a274fc3/docs/samples/Transfer%20Data.md#2-setup-data-offer). - -### Verifiable Credentials - -Verifiable Credentials (VC) are part of the Self-Sovereign Identity (SSI) standard by the W3C. Details about Catena-X specific VCs can be found in the [CX - 0016 Company Attribute Verification](#standards) standard. As mentioned there, it offers a `UseCaseFrameworkConditionCX` type allowing a data provider to check if specific conditions, like a signed use case contract as introduced in the [Purpose-base Usage Policy section](#purpose-based-policy), are agreed. Further technical documentation are presented in the [SSI Docu](https://github.com/eclipse-tractusx/ssi-docu/tree/main/docs/architecture) repository. - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx deleted file mode 100644 index e685118fd56..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -sidebar_class_name: hidden ---- - - - -In the following section, all aspect models that are part of Industry Core are documented. - -| Digital Twin Type | Aspect Model | Mandatory Supported Version | Optionally Supported Versions | KIT | -| :-- | :-- | :-- | :-- | :-- | -| PartType | PartAsPlanned | 1.0.1 | 2.0.0 | Industry Core | -| | SingleLevelBomAsPlanned | 1.1.0 | 2.0.0 | Industry Core | -| | PartSiteInformationAsPlanned | 1.0.0 | | Industry Core | -| | SingleLevelUsageAsPlanned | 1.1.0 | | Traceability | -| PartInstance | SerialPart | 1.0.1 | 2.0.0 | Industry Core | -| | Batch | 2.0.0 | 2.0.1 | Industry Core | -| | JustInSequencePart | 1.0.0 | 2.0.0 | Industry Core | -| | SingleLevelBomAsBuilt | 1.0.0 | 2.0.0 | Industry Core | -| | PartSiteInformationAsBuilt (shared aspect) | 1.0.0 | | Industry Core | -| | SingleLevelUsageAsBuilt | 2.0.0 | | Traceability | -| | TractionBatteryCode | 1.0.0 | | Traceability | diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx deleted file mode 100644 index c8d8adf5158..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx +++ /dev/null @@ -1,178 +0,0 @@ ---- -sidebar_class_name: hidden ---- - - - -### Unique ID Push - -Unique ID Push notifications are a way for a manufacturer to notify a customer as soon as possible when a new digital twin for a part is available. - -The solution is based on notification assets in the EDC (which is the same approach that is used for quality alerts & investigations). The customer creates a notification asset in the EDC and the customer's suppliers send their notifications (with the Unique Id) to this notification asset. As this notification asset is a general EDC asset - as for all EDC assets - access policies, usage policies and contract definitions must be created. - -> :raised_hand: It is important to understand that the customer (receiver) creates EDC asset and policies, and thus, the supplier (sender) of the Unique ID push notification must check during the EDC negotiation process if the conditions the receiver offers are acceptable for the sender. - -#### Prerequisites and Constraints - -In order to be able to push Unique ID(s) of part(s) to the correct partner, it is required that the data provider (manufacturer) pushing the Unique IDs is aware of the BPN of the actual receiver of the part (i.e., the customer) or has enough data in its context to use BPDM functions to determine the BPN Number of the receiver. - -For actively pushing Unique IDs, an EDC is required and the data provider needs to be enabled to execute the complete process including EDC communication and HTTP Push (i.e., HTTP POST) of the payload. - -Secondly, EDCs are being used for the exchange and it is currently required to offer a HTTP POST API to receive the Unique IDs push at the receiver's side. This API needs to be registered in the EDC Catalog as a data offer and requires specific properties to be set to standardized values, as this allows discover-ability. Details still tbd. - -#### Unique ID Push Process Overview - -How the actual process is triggered is application specific. It is recommended to trigger the push of Unique IDs towards the customer after the Goods Issue has been booked, since commonly at that point the serial numbers/batch numbers of the parts being delivered are fixed in the logistics process and shall be contained in delivery documents, EDI Messages and/or any internal representation of the received items (non-Catena-X communication). - -The Unique ID push is initiated by the supplier (acting as sender) towards their customer (acting as receiver). Since the Unique ID of the asset (i.e., serial unit / batch) is unknown in the logistics process, the message needs to include local identifiers to be matched towards the information from the delivery documents and furthermore the internal data of the recipient's traceability solution. - -Upon receipt of the message, the customer needs to match the local identifiers with its internal traceability records and attach each Unique ID to the respective data set. How this is done is depending on the customer's internal systems: - -- If there is an object for incoming deliveries, this event could be updated. - Alternatively, if only production events are tracked, the data could be integrated at this point into the data provisioning pipeline's data structure for consumed materials. -- In the end this enables the customer to integrate the child parts into the SingleLevelBomAsBuilt aspect. - -![Unique ID Push Process](../assets/unique_id_push_process.png) - - - -#### Schema of Unique ID Push Notifications - -The notifications send to inform a customer about the creating of a new digital twin for one of the parts they received have a standardized format. - -All endpoints as well as the schema of the notification below are described in detail in the [Unique ID Push API documentation](Unique%20ID%20Push%20API/unique-id-push-notification-api). - -> Adding the customer part id to the notification is optional. The main reason for this is that it cannot be guaranteed that every manufacturer knows the customer part id for their parts. But, in case the manufacturer knows the customer and the corresponding customer part id of its part though, it is required to always add the customer part id to the notification. - -#### Notification Receiver (Customer) - -Here is a short overview what the receiver has to do when they want to support Unique Id Push notifications. This is an optional feature. - -- The receiver in this scenario is the customer of a part. -- The receiver must create a EDC asset in their EDC that works as the endpoint for receiving notifications. Also, access & usage policies as described below must be configured. -- The EDC in which the notification EDC asset was created must be registered at the Discovery Service (so that the sender can find the partner's EDC which should receive notifications) -- When the Receiver receives a Unique Id Push notification, it must process this notification after it was received by the EDC (in a Backend Data Service) -- How the Receiver processes the notification is up to them, but the following steps are recommended: - - Verify the correctness of the data in the notification (i.e., the receiver is actually the customer of this part). - - Store the notification data for later. - - Use this data when the digital twin for the part into which the delivered part is built into is created instead of doing a lookup to a supplier's Digital Twin Registry. - -##### EDC Asset - -For the EDC asset for receiving Unique ID Push notifications, the following conventions apply: - -- The asset ID must be "uniqueidpushnnotification-receipt". -- The following properties must be set for this asset: - ```json - { - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ _.assetId }}", - "properties": { - "dct:type": { "@id": "cx-taxo:ReceiveUniqueIdPushNotification" }, - "cx-common:version": "1.0", - "asset:prop:id": "uniqueidpushnnotification-receipt", - "asset:prop:type": "notification.trace.uniqueidpush", - "asset:prop:notificationtype": "uniqueidpush", - "asset:prop:notificationmethod": "receive" - }, - "privateProperties": {}, - "dataAddress": {} - } - ``` - - Properties "asset:prop:*" must still be added to be backward compatible with previous releases. Properties "dct:type" and "cx-common:version" are used to classify the asset and are explained in the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT#registration-at-edc) in more detail. - -##### EDC Policies - -**Access Policies** -A data provider can decide on its own what access policies they want to define for their notification asset. Based on the purpose of the asset, all suppliers of the data provider should in general be allowed to send notifications to this asset. Therefore, either a public access policy or a BPN-based access policy (allowing all suppliers) should be used. - -**Usage Policies** -In general, a data provider is free to decide which usage policies to define for its assets. For notifications, though, the data provider is actually the receiver of notifications, i.e., the usage policy here has the purpose to define what the data provider does or is allowed to do with the notifications. It's something the sender of the notification has to rely on and accept when sending its notification. - -Keep in mind that usage policies currently aren't technically enforced by the EDC or other components. - -> :raised_hand: **Usage Policy for Unique ID Push** -> The Unique ID push notification endpoints are protected with a purpose-based usage policy and "purpose.trace.v1.aspects" as purpose. - -##### Backend Data Service to Process Unique ID Push Notifications - -The receiver must setup a backend data service that provides an HTTP Endpoint for notifications. All endpoints as well as the schema of the notification below are described in detail in the [Unique ID Push API documentation](Unique%20ID%20Push%20API/unique-id-push-notification-api). - -#### Notification Sender (Manufacturer, Supplier) - -Here is a short overview what the sender has to do when they want to support Unique Id Push notifications. This is an optional feature. - -- The Sender in this scenario is the manufacturer or supplier of a part. -- When a new digital twin for a part was created, the manufacturer is responsible to send a Unique Id Push notification for this twin to the customer of this part. -- It is recommended to send this notification as soon as possible, i.e., directly after the digital twin was created. - -##### Mapping BPN to EDC URL with Discovery Service API - -The sender must first find the EDC of the customer to which the notification should be sent to. For this, the BPN of the customer is required. With this, the Discovery Service can be used to query for all EDCs of the customer. After that, the data catalog of each of these EDCs must be queried for the notification EDC asset as described above. If this notification EDC asset is found in one of these EDCs, the notification can be sent. - -There should only be one EDC which provides the notification EDC asset for Unique Id Push. If more than one EDC (for the same BPN/partner) are found, this is considered a misconfiguration of the corresponding partner. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_sources.pptx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_sources.pptx deleted file mode 100644 index ec3acc01190..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_sources.pptx and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_architecture-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_architecture-view.mdx deleted file mode 100644 index edb2e03f605..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_architecture-view.mdx +++ /dev/null @@ -1,133 +0,0 @@ ---- -id: Architecture View Industry Core Kit -title: Architecture View -description: 'Industry Core Kit' -sidebar_position: 2 ---- - - - -import Notice from './part_notice.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -The following page offers an architecture perspective including the main building blocks and information regarding -communication between different components, shown as sequence diagrams in a runtime view. In general, data access must -be provided in the Catena-X network using the Data Space Protocol (DSP). As standard for data-level interoperability, -the Asset Administration Shell (AAS) standard is used - this is relevant for registering data via the Digital Twin -Registry (short DTR), as well as for delivery of said data. SAMM is used as modelling language to model a Digital Twin's -aspects, yielding json-schema that defines the payloads and context for runtime data. - -## Assumptions - -This architecture is based on the following assumptions: - -- There is a complete setup of the Catena-X Dataspace available with all Core Services as defined by the [Operating Model Whitepaper v2.1](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). -- All users have **completed onboarding** to the Catena-X network. This includes: - - All participants hold a Verifiable Credential issued by an Operating Company (Core Service Provider B) - - All participants have at least one Dataspace Connector deployed that's linked to their BPNL at the EDC Discovery - Service. - - All participants have an active network membership that is represented in their membership credential. - - Data Providers operate a Digital Twin Registry according to - the [Digital Twin Kit](../Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit) - - Data Providers expose their data via the Submodel API according to the Digital Twin Kit. -- The **customers of parts** (on catalog and instance level) must be known when creating a digital twin and registering - its data. Registering data in EDC and DTR requires data providers to define appropriate access permissions to prevent - exposing data to unauthorized parties. For Traceability, the customer of a part must have access to the digital twin - in - the DTR as well as to the digital twin's data in the EDC. If the customer is not known when a digital twin is created, - additional processes must be set up by the data provider to add access permissions for the customer at a later time. - -## Non-Functional Requirements - -| Requirement | Description | -|:-----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Lawfulness | Automotive supply chains hold sensitive data. Not only can improper exposure lead to the loss of trade-secrets but it can also violate antitrust regulations - especially when gaining access to sensitive data of horizontal competitors. As this can jeopardize the business of a company, especially Data Providers (and by proxy Business Application Providers) must ensure that their solutions are not only secure by default but also provide ergonomic and reliable means for configuration. | -| Correctness | Data Chains are built up of the links to resources distributed among the supply chain. This is reflected in distributed data. Publishing incorrect or outdated data to the network will have ripple-on effects that may break the chain for all interested parties. To avoid this, implementation strictly according to standard, verified by rigorous certification, is critical for the success of the Industry Core and the network as a whole. | -| Resilience | While processing data for publishing it to Catena-X, a data provider needs to access the digital twins of built-in parts from suppliers. These must be available in Catena-X at this point. If these digital twins are not found while the data provider is looking them up, the data provider will not be able to integrate these built-in parts into BoM aspect models (e.g., SingleLevelBomAsBuilt) as it is missing the built-in parts' Unique ID. Reasons for not finding a built-in part's digital twin can be:
            1. There is a network failure while the data provider's is looking for the digital twin.
            2. The supplier did not yet create the digital twin, e.g., because its internal processes were delayed.
            3. The supplier is not yet part of the Catena-X network.
            Resilience means that the data provider implements a pipeline that can cope with these issues. Digital twins are provided with the information that is available and are updated once more information is available (e.g., the supplier provides digital twins for built-in parts later on). | -| Backward Compatibility |

            Backward compatibility in Catena-X allows for interoperability with previous Catena-X releases and not just the most recent one. For Industry Core, this means that software, e.g., a Traceability app, that was built based on an older, but still valid, Industry Core KIT and Catena-X version, must still work in an environment that is running the most recent Catena-X release. A new release is not allowed to introduce a new or change an existing feature that prevents software (based on a still valid release) from no longer working.

            Only major Catena-X releases may contain breaking changes and do not need to be backward compatible. Data providers and data consumers must take special care to prepare for such releases by planing necessary migrations in time.

            • **For digital twins and aspect models**, this means that data providers and data consumers MUST at least support the mandatory version of an aspect model. Support for newer versions is optional, but if supported, they must be provided or consumed additionally to the mandatory version.
              A data provider that wants to support several versions of aspect models must add a separate submodelDescriptor for every supported aspect model version to the digital twin. The submodelDescriptors will have different semanticIds and might also point to different EDC assets - depending on the asset structure used in the EDC for providing the digital twin's sumodel.
              A data consumer must part the submodelDescriptors for a digital twin for supported semanticIds and then select the most suitable one for further processing.
            • **For Notification APIs**, a separate EDC asset must be created for every minor API version, e.g., for versions v1.1 and v1.2 of the API separate EDC assets must be created. The API version (e.g., 1.1) must be documented in the `https://w3id.org/catenax/ontology/common#version` property of the EDC asset. It is not recommended to create a separate EDC asset for every patch version as a patch is always backward compatible. Adding the patch level to the EDC asset version forces data consumers to frequently to adapt to a new EDC asset. With that, a data consumer can select the correct API version that it supports.
            More details about the versioning of EDC assets (for submodels as well as for Notification assets) including examples, can also be found in the [Digital Twin KIT - Registration at EDC](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT/#registration-at-edc). | - -In general, data must be provided to the Catena-X network using the Data Space Protocol (DSP). As standard for digital twins the Asset Administration Shell (AAS) standard is used - this is relevant for registering digital twins (in the Digital Twin Registry) as well as for providing digital twin data. SAMM is used as modelling language to describe the data of digital twins as aspects models. - -## Building Block View - -![Building Block View of the Industry Core](./assets/ic-arch-view-blocks.svg) - -## Runtime View - -The runtime patterns represent a subset of the interactions specified in the Digital Twin Kit. -Its ["Discovery Sequence" section](../Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT#discovery-sequence) -describes the interaction between a Data Provider and Data Consumer including the necessary configuration steps. -Since the Discovery Services according to CX-0053 are not part of the Industry Core, all calls going to the components -`DiscoveryFinder` and `BPN Discovery Service` can be omitted. - -## Standards - -A formal definition of the Industry Core's content is given in the standards CX-0126 and CX-0127 - first released in -CX R24-03. These two standards build on a common subset of technologies that are themselves described in Catena-X standards. - -The two standards share a common set of base technologies. And while the Industry Core does provide Business-relevant -capabilities for Data Consumers, it can likewise serve as a launchpad for new use-cases. - -![Locating the Industry Core standards in the Catena-X landscape](./assets/ic-arch-view-stds.svg) - -The Interoperability Layer the Industry Core Standards build on, defines API structures of Data Providers and relevant -core services hosted centrally. They depend on the EDC Discovery Service defined in standard CX-0001 to discover a -participant's the EDC-endpoint. CX-0002 is the standard for the integration between assets and related data - leveraging -the Asset Administration Shell standard as adopted by Catena-X. Its correct deployment is especially critical as its -services (Digital Twin Registry and Submodel Endpoints) are operated by all Data Providers. - -The Identity and Sovereignty Layers are defined in a variety of Catena-X standards that are assumed to be deployed and -integrated form the foundation for data exchange in Catena-X. - -All relevant standards can be downloaded from the -official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- Industry Core specific - - [CX - 0126 Industry Core Part Type 1.0.0](https://catena-x.net/de/standard-library) - - [CX - 0127 Industry Core Part Instance 1.0.0](https://catena-x.net/de/standard-library) -- Interoperability Layer - - [CX - 0001 EDC Discovery API 1.0.2](https://catena-x.net/de/standard-library) - - [CX - 0002 Digital Twins in Catena-X 2.2.0](https://catena-x.net/de/standard-library) - - [CX - 0003 SAMM Aspect Meta Model 1.1.0](https://catena-x.net/de/standard-library) -- Sovereignty Layer - - [CX - 0018 Eclipse Data Space Connector (EDC) 2.1.0](https://catena-x.net/de/standard-library) -- Identity Layer - - [CX - 0013 Identity of Member Companies 1.1.0](https://catena-x.net/de/standard-library) - - [CX - 0014 Employees and Technical Users 1.0.1](https://catena-x.net/de/standard-library) - - [CX - 0015 IAM & Access Control Paradigm 1.0.1](https://catena-x.net/de/standard-library) - - [CX - 0016 Company Attribute Verification 1.1.0](https://catena-x.net/de/standard-library) - - [CX - 0017 Company Role by the Connector 1.1.0](https://catena-x.net/de/standard-library) - - [CX - 0050 Framework Agreement Credential 1.0.0](https://catena-x.net/de/standard-library) - - [CX - 0051 Summary Credential 1.0.0](https://catena-x.net/de/standard-library) - -_Sidenote: The following existing standards are incorporated into new standards. Please only refer to CX-0126 and CX-0127._ - -- [CX - 0126 Industry Core Part Type 1.0.0](https://catena-x.net/de/standard-library) is the new standard based on the following existing standards: - - CX - 0042 Aspect Model SingleLevelBomAsPlanned - - CX - 0043 Aspect Model PartAsPlanned - - CX - 0094 Aspect Model PartSiteInformationAsPlanned - - CX - 0061 Triangle Traceability Data Provisioning BomAsPlanned -- [CX - 0127 Industry Core Part Instance 1.0.0](https://catena-x.net/de/standard-library) is the new standard based on the following existing standards: - - CX - 0019 Aspect Model SerialPart - - CX - 0020 Aspect Model SingleLevelBomAsBuilt - - CX - 0021 Aspect Model Batch - - CX - 0060 Triangle Traceability - Digital Twin As-Built - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_business_view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_business_view.mdx deleted file mode 100644 index a1e793e9845..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_business_view.mdx +++ /dev/null @@ -1,103 +0,0 @@ ---- -id: Business View Industry Core Kit -title: Business View -description: 'Industry Core Kit' -sidebar_position: 1 ---- - - - -import Notice from './part_notice.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -The following page offers a high level business view on the Industry Core KIT with its vision, mission, benefits, business value, customer journey and examples in form of videos. - -## Vision & Mission - -### Vision - -The goal of Catena-X is to empower data-driven use cases to address the current challenges of sustainability, - resiliency, and quality. In the automotive industry, these challenges predominantly revolve around optimizing physical parts, - components, and materials. The Catena-X Industry Core describes how these parts and vehicles can be digitally represented and found in the Catena-X network. - It serves as the foundation to enable the seamless integration of multiple use cases. - Reusing central components and standards (especially data provisioning of digital twins of parts) across different use cases promotes efficiency and interoperability. - The Industry Core enables a sovereign data exchange based on parts and vehicles and lays the foundation for compliance with supply chain regulations. - Each partner in each Industry Core compliant use case expands the Catena-X network and the realization of seamless data chains. - As a result, cross-domain network effects and n-tier use cases become possible with each use case benefiting from all others. - -### Mission - -The Industry Core describes a physical part, component or material at type and/or instance level, makes it identifiable and discoverable in the network and enables traversing across several levels. - -Thus, it acts as a fundamental framework that facilitates smooth integration of various use cases. The Industry Core KIT and standards will enable data- and application-providers to instantiate and make use of the Industry Core. -It will provide a common set of tools and a foundational definition to ensure that interoperability standards extend beyond technical aspects. This includes guidance for setting up the core- and enablement-services to ensure easy onboarding like guidance on setting up the required participant infrastructure like a decentralised Digital Twin Registry and Submodel endpoints for discovery of digital twins. -Once set up, Catena-X use cases like Traceability, Circular Economy, PCF and more can easily be built on top by adding further business logic and aspect models to the digital twins established. - -In the current version, the KIT supports the creation of digital twins on a Type-level (part- / material-number, catalog part) and Instance-level (a specific vehicle, serialized part, batches etc.) as well as the logical linking to their sub-components (Bill of Material, BoM). The default visibility of digital twins and their respective semantic models follows the one-up/one-down principle. - -Parts and vehicles on the Instance-level can be provided and linked to their subparts, when the part or vehicle has been built. This is why it is often also refered to the lifecycle phase BoM as built. -Parts and vehicles at type level can be provided at the earliest when the part has been designed and is available for ordering as a catalog part. The linking of subcomponents at this point in time is often referred to as BoM as planned. However, the digital representation of the part at type level can also be initiated at a later point in time and remains in place until the part is dismantled. - -The Industry Core KIT provides the necessary standards, aspect models, APIs, logics, and processes on how to implement the Industry Core. -All described specifications in the KIT are based on Catena-X standards like Data Space Connector, Asset Administration Shell (AAS), and dezentralised Digital Twin Registry (DTR). They refer to other Catena-X KITs like the Connector KIT (EDC), Data Chain KIT (Item Relation Ship, IRS) and Business Partner KIT to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. - - -## Business Value & Benefits -### Business Value - -The Industry Core enables a sovereign data exchange based on parts and vehicles and the realization of n-tier data chains. -It facilitates the implementation of part-related Catena-X use cases such as traceability, circular economy, PCF and many more. - -The reusing core- & enablement services and the uniform usage of digital twins -accelerates data providers and consumers to implement new use cases to the Catena-X ecosystem. -This leads to a much faster time-to-market and scalability of new value-driven use cases. - -### Todays Challenge -Catena-X use cases and solutions are based on the provision and utilisation of data. To this end, the use cases often define their own infrastructure and semantics for data exchange. This leads to redundancies at data level, resulting in additional effort and complexity in data provision. - -The Catena-X network and the Industry Core create an industry-wide standard for data exchange by re-using central components and shared semantics. -To do so, once is enough: Once EDC, BPN, decentralized registry, and digital twins according to standardized semantics are established, numerous use cases can be enabled by extending the tech-stack with domain specific data aspects / models. -The goal is to facilitate simple onboarding and leverage network effects. Reusing central components and standards (especially in data provisioning) across different use cases promotes efficiency and interoperability. - - -### Benefits for OEM, SME and Solution Provider -#### OEM -The Industry Core simplifies data provision. Once the Industry Core is set up, multiple use cases can be easily enabled through additional sub-models attached to the digital twin, promoting component reuse. -This reduces infrastructure costs and time to value, lowering the barrier to entry for participation in new use cases. - -The same applies as a data consumer. Easy and fast discovery of supplier components enables fast and component-related data exchange. -The pattern for access and interaction with data from business partners becomes independent of the data’s content: After all, additional use-cases can be onboarded simply by accessing different submodels of a digital twin. - -#### SME -Reduced complexity helps SMEs participating at more than one Catena-X use case. -One example is the reduction in interfaces to shopfloor, PLM or MES systems, -as this data only needs to be provided once and not individually for each use case. - -#### Solution Provider -Fast and efficient scalability of new use cases through reusability of central components. -Solution providers will be able to implement and offer new Catena-X use cases easily and fast -since they are built on top of each other. - -## Customer Journey -With the Industry Core KIT, we support the Catena-X customer journey for our adopters and solutions providers. - -![Customer Journey](assets/ic_customer-journey.png) - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_changelog.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_changelog.mdx deleted file mode 100644 index 943d1f5c776..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_changelog.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: Industry Core Kit Changelog -title: Changelog -description: 'Industry Core Kit' -sidebar_position: 0 ---- - - - -import Notice from './part_notice.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -All notable changes to this Kit will be documented in this file. - -## [0.1.0] - 2024-02-28 - -Compatible for **release 24.03**. - -### Added - -- **General:** - - Migrated content related to Industry Core from Traceability KIT to new Industry Core KIT -- **Business View:** - - Created initial version - - Added the customer journey for Industry Core KIT -- **Architecture View:** - - Created initial version - - Added definition and impact of backward compatibility for Industry Core -- **Operation View:** - - Created initial version -- **Development View:** - - **Digital Twins:** - - Created initial version - - **Aspect Models:** - - Created initial version - - **Policies:** - - Created initial version - -### Changed - -- **Development View:** - - **Digital Twins:** - - Updated EDC asset properties to comply with architecture guidelines for versioning and asset typization - - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_software-operation-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_software-operation-view.mdx deleted file mode 100644 index 313390930cf..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/page_software-operation-view.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: Operation View Industry Core Kit -title: Operation View -description: 'Industry Core Kit' -sidebar_position: 3 ---- - - - -import Notice from './part_notice.mdx' - -![Industry Core kit banner](@site/static/img/doc-industry-core_header-minified.png) - -The following page offers information on how to operate and deploy the Industry Core. - -Since the Industry Core is a baseline and enablement for other use cases, it doesn't offer one specific application that -fullfills all functions. For the data provisioning part, the open source solution of the **Simple Data Exchanger (SDE)** -for data provisioning can be used. Further information regarding their usage, configuration and deployment are published -on GitHub: - -- [SDE Frontend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-frontend) -- [SDE Backend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-backend) - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_adoption-view.md deleted file mode 100644 index 3c859ec10ca..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_adoption-view.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -id: Adoption View MaaS KIT -title: Adoption View -description: 'MaaS KIT' -sidebar_position: 2 ---- - -## Vision & Mission - -**Enable interoperable, federated network of networks linking manufacturing demand with manufacturing capabilities for -digitally enabling manufacturing as a service.** - -**Comprehensive reference architecture with standardized interfaces for on-demand manufacturing** - -The Manufacturing-as-a-Service (MaaS) KIT defines the mechanisms and services required for an interoperable, federated -network of networks where manufacturing demand meets manufacturing capabilities. The Catena-X Digital Manufacturing as a -Service Ecosystem (CDME) provides a comprehensive reference architecture with standardised interfaces and data models, -including first implemented services, to present the operational network of networks with a single entry point into the -world of domain-independent on-demand manufacturing (ODM). The main focus is on the mediation of manufacturing demand -and manufacturing supply, which is offered in a service- orientated manner. In addition, IT services enable connectivity -and process automation to be part of this digital marketplace. - -## Business Value - -### Reference architecture - -The reference architecture includes standardized and tested interfaces and data models that can be used for the -development and implementation of Manufacturing-as-a-Service solutions (Chapter 4 of Whitepaper). - -### First implemented example services and applications - -There are several demonstrators and services that provide different building blocks within the reference architecture -and support the workflow of a MaaS marketplace for customers. - -- SFW Connector - for manufacturer onboarding of their offered capabilities -- Supplier Knowledge Base - knowledge base for supplier information including capabilities -- Asset Management Service - register, update and delete manufacturing capabilities -- Asset Management and Refinement Application (AMARA) - central user interface and recommender system to enable a - supplier to refine its information within the Supplier Knowledge Base -- Sustainability Knowledge Base - knowledge base for manufacturer sustainability information (including certifications, - PCF, CCF, etc.) -- Supply Chain Sustainability Service - collects information for a supply chain from the Sustainability Knowledge Base -- SFW Search Engine - performs the matchmaking process between the manufacturer and the buyer, based on the information - provided by these manufacturers -- Process Derivation Service - to derive required manufacturing processes -- STEP File splitting service - to split assembly products in single part components -- MaaS Portal - GUI application for demand configuration and supplier selection - -## UseCase / Domain explanation - -MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the -offered manufacturing capability. - -The goal is a federated marketplace for manufacturing as a service, connecting single manufacturers and on- demand -manufacturing platforms over different manufacturing domains, including the support in digitalization and automation by -provided services supporting specific steps in the offering process. Manufacturers who want to offer their manufacturing -resources as a service, will do so by onboarding their manufacturing capabilities directly to the federated marketplace -or to existing on-demand manufacturing platforms or networks. Capabilities include knowledge of the factories, e.g., -machinery, employee expertise, past production outputs and processes, capability terms like “band sawing”, -certifications, etc. Buyers search for the manufacturing capabilities they need to produce a specific product (usually -parts or assemblies). This can include individual manufacturing steps to cover missing capabilities related to existing -productions or even fully external production offers. Both the ODM platform and the marketplace can perform the -necessary matchmaking between required and offered capabilities. Typically, the ODM platforms offer the production of a -specific part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number -of manufacturers. However, both may utilize additional IT or engineering services to provide their customers with added -values such as onboarding application, automated process derivation or sustainability services. A federated marketplace -not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered -with ODM platforms. As a result, a network of networks is built, which connects different networks of manufacturers ( -according to their capabilities) and different domains. This approach enables a single-entry point to the network of -networks via the marketplace. - -![Marketplace use case overview (Schoeppenthau et al. 2023)](resources/MarketplaceUseCases.png) -*Marketplace use case overview (Schoeppenthau et al. 2023)[^1]* - -## Whitepaper - -To empower MaaS for the automotive industry we built a reference architecture of a digital MaaS ecosystem based on a -dataspace-agnostic reference architecture for open, sustainable, and resilient digital manufacturing ecosystems. To -perform the capability matchmaking and capability data integration, the prototypical implementation of this reference -architecture consists of components for smart semantic integration to bridge the semantic gap between different -manufacturing capability descriptions, as well as a search engine and a multi- purpose API connector. Furthermore, the -standardization of interfaces and data models for the most relevant communication within the architecture ensures -exchangeability of and interoperability between all major components. This prevents the vendor lock-in effect, enables a -market for MaaS services and opportunities for interested operating companies. The architecture fully supports existing -manufacturing networks like on-demand manufacturing platforms by federating them in utilizing a network of networks -approach. - -The journal article “Building a Digital Manufacturing as a Service Ecosystem for Catena-X” describes the -dataspace-agnostic basis for the Catena-X MaaS reference architecture. - -![Link to the journal paper: ](resources/Architekturteaser.png) -*Building a Digital Manufacturing as a Service Ecosystem for Catena-X[^1]* - -## Semantic Models - -The knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources in -various fields of expertise and interoperability of systems utilizing and managing this information is a major issue. -The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe -semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this -reason, the CDME architecture does not rely on standardized semantics. However, basic concepts are defined as aspect -models, to provide a common semantics where appropriate. - -### Manufacturing Capability Model - -An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and -capabilities, as well as their relations to each other. Sharing information about the required and available -manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and -value-added services such as automated search and matchmaking. -Link to the semantic data -model: - -### Request for QuotationModel - -An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from -potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on -connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the -appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the -demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and -formulate an offer. A common description of the request for quotation based on a standardized semantic definition is -therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network -for every Catena-X member to join and enables interoperability between the partners. -Link to the semantic data -model: - -## Logic / Schema - -In general, the MaaS KIT does not consider specific business logic. However, a capability matchmaking is a central -requirement for every MaaS KIT-based architecture. This leads to the phases depicted in the figure below. The figure -segments the phases into phases containing ecosystem and user actions. For the matchmaking to work, manufacturers have -to register themselves with the ecosystem in order to onboard their capability-related information. Furthermore, since -they have the domain-expertise regarding their capabilities, they refine them, which from there point of view is similar -to search engine optimization and keep their information up to date. For all that, they can use services provided by the -digital ecosystem (cf. Service Provision and Consumption). Stakeholders with a demand for manufacturing capabilities can -further use services to communicate this demand to the systems which perform the matchmaking. Additionally, if the -demand is not yet available as process alternatives or similar machine-interpretable structures, it has to be -transformed accordingly. If manufacturers have been found by their matching capabilities, they have to be further -filtered by additional aspects, e.g. carbon footprints, to fit respective prerequisites for an order. For this, the -information of interest has to be requested from factory endpoints or further services. -The figure also depicts phases which are currently out of scope. This includes the product design, the simulation and -planning within a factory and all steps after a request for quotation is submitted. - -![Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023](resources/image-2023-11-2_13-54-35.png) -*Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023)[^1]* - -[^1]: ```Schöppenthau, F.; Patzer, F.; Schnebel, B.; Watson, K.; Baryschnikov, N.; Obst, B.; Chauhan, Y.; Kaever, D.; Usländer, T.; Kulkarni, P. Building a Digital Manufacturing as a Service Ecosystem for Catena-X. Sensors 2023, 23, 7396. https://doi.org/10.3390/s23177396``` - -## Standards - -Standardizing the necessary interfaces and data models of our architecture enables to exchange data with different -systems and users and to extend the reference architecture with additional services, replace certain individual services -with equivalent ones or to remove optional services. - -Within the Resiliency KIT Manufacturing as a service, two main standards were defined: - -- [CX - 0052: Manufacturing Capability Model and API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0052-AspectModelManufacturingCapability-v1.0.0.pdf) - - for declaration of offered and required manufacturing capabilities -- [CX - 0129:Request for Quotation Model and API](https://catena-x.net/de/standard-library) - for manufacturing demand - configuration - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by - Fraunhofer IOSB) -- SPDX-FileCopyrightText: 2024 ISTOS GmbH -- SPDX-FileCopyrightText: 2024 mipart GmbH -- SPDX-FileCopyrightText: 2024 Siemens AG -- SPDX-FileCopyrightText: 2024 up2parts GmbH diff --git a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_changelog.md deleted file mode 100644 index 9d46475165a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/page_changelog.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: Manufacturing as a Service KIT Changelog -title: Changelog -description: 'Manufacturing as a Service KIT' -sidebar_position: 1 ---- - -![mp kit banner](@site/static/img/MPKitIcon.png) - -### Manufacturing as a Service KIT - -All notable changes to this KIT will be documented in this file. - -## [0.1.0] - 2024-03-29 - -### Added - -- Initial version of the KIT - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/provide-production-forecast-information.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/provide-production-forecast-information.api.mdx deleted file mode 100644 index 217e48fc2f9..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/provide-production-forecast-information.api.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -id: provide-production-forecast-information -title: "Information provided by MP to Client" -description: "Information provided by MP to Client" -sidebar_label: "Information provided by MP to Client" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"ProvideProductionForecastInformation","requestBody":{"description":"Optional description in *Markdown*","required":true,"content":{"application/json":{"schema":{"description":"Answer to a customer with all information about the requested items","type":"object","properties":{"productionForecastResponse":{"description":"The concrete information about a production forecast","type":"object","properties":{"listOfForecastItems":{"description":"List of ForecastItems matching the items to an order","type":"array","items":{"description":"ForecastItem entry for the requested order","type":"object","properties":{"positionId":{"description":"Identifier of a position of an order","type":"string"},"productionForecast":{"description":"Date of completion","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"precisionOfForecast":{"description":"Accuracy of the prediction","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"productionStatus":{"description":"Status of the order/position within MP","type":"string","enum":["itemReceived","itemPlanned","itemInProduction","itemCompleted","statusUndefined"]},"reasonsForDelay":{"description":"Optional field to provide information to the customer why a delivery date is not met","type":"string","enum":["supplyProblems","otherCircumstances","internalProblems","noInformationAvailable"]},"returnCode":{"description":"Return code that indicates whether a single item of an order matches the customers desired request","type":"string","enum":["ok","lowerAccuracyOfPrecision","noForecastAvailable"]},"forecastDate":{"description":"Date/time of the forecast calculation","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["positionId","productionForecast","precisionOfForecast","productionStatus","returnCode","forecastDate"]}},"iterationNumber":{"description":"Only set in CommunicationMode == \"notification/cyclic\" to be able to check the order of the notifications. \n\nNot required for communication mode = \"synchronous\"","type":"number"},"communicationMode":{"description":"Specification of the communication mode","type":"string","enum":["synchronous","cyclic","notification"]},"versionDataModel":{"description":"Specifies the used version of the data model","type":"string"}},"required":["listOfForecastItems","communicationMode","versionDataModel"]},"header":{"description":"Contains information common to all messages","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string"},"context":{"description":"Information about the context the message should be considered in.\r\nDefault: For Use Cases which need to validate against the Semantic Hub automatically.\r\nFallback: For Use Cases which do not use automatic validation.\r\nIn both cases: Versioning only refers to major versions.\r\nString pattern of the value follows: ---","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string"},"version":{"description":"The version of the standard defining the semantics and the structure of the message's header. The version number should follow the Semantic Versioning 2.0.0 specification.","type":"string"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["productionForecastResponse","header"]}}}},"responses":{"200":{"description":"OK. The request has succeeded"},"400":{"description":"Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."},"401":{"description":"Unauthorized. Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."},"403":{"description":"Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."},"420":{"description":"lowerAccuracyOfPrecision. the returned data has a lower precision than requested"},"421":{"description":"noForecastAvailable. No data available"}},"description":"Information provided by MP to Client","method":"post","path":"/ProvideProductionForecastInformation","servers":[{"url":"http://example.mp.org"}],"jsonRequestBodyExample":{"productionForecastResponse":{"listOfForecastItems":[{"positionId":"string","productionForecast":"string","precisionOfForecast":{"timeUnit":"unit:secondUnitOfTime","value":0},"productionStatus":"itemReceived","reasonsForDelay":"supplyProblems","returnCode":"ok","forecastDate":"string"}],"iterationNumber":0,"communicationMode":"synchronous","versionDataModel":"string"},"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"info":{"version":"1.0.0","title":"SIS EDC Consumer","license":{"name":"MIT"}},"postman":{"name":"Information provided by MP to Client","description":{"type":"text/plain"},"url":{"path":["ProvideProductionForecastInformation"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Modular Production Kit/Software Development View/Consumer//sis-edc-consumer -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Information provided by MP to Client - - - -Information provided by MP to Client - -
            Request Body required
            - -Optional description in *Markdown* - -
              productionForecastResponse object required
              - -The concrete information about a production forecast - -
              listOfForecastItems object[] required
              - -List of ForecastItems matching the items to an order - -
              precisionOfForecast object required
              - -Accuracy of the prediction - -
              header object required
              - -Contains information common to all messages - -
              ---"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
              - -OK. The request has succeeded - -
              - -Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). - -
              - -Unauthorized. Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. - -
              - -Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. - -
              - -lowerAccuracyOfPrecision. the returned data has a lower precision than requested - -
              - -noForecastAvailable. No data available - -
              - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js deleted file mode 100644 index 28dce47df2d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"category","label":"UNTAGGED","items":[{"type":"doc","id":"kits/Modular Production Kit/Software Development View/Consumer//provide-production-forecast-information","label":"Information provided by MP to Client","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/get-production-forecast-information.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/get-production-forecast-information.api.mdx deleted file mode 100644 index f22cbce066f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/get-production-forecast-information.api.mdx +++ /dev/null @@ -1,112 +0,0 @@ ---- -id: get-production-forecast-information -title: "Client asking for MP information" -description: "Client asking for MP information" -sidebar_label: "Client asking for MP information" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"GetProductionForecastInformation","requestBody":{"description":"Optional description in *Markdown*","required":true,"content":{"application/json":{"schema":{"description":"Aspect Model to request a production forecast","type":"object","properties":{"request":{"description":"Data model for a request","type":"object","properties":{"offset":{"description":"Send/start time of the first message/notification\n- \"0\" ==> immediate response","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"customerId":{"description":"Internal customerId","type":"string"},"precisionOfForecast":{"description":"Accuracy of the time specification of the completion date.\n- default: implicitly defined by production\n- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy.","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"productionForecastForAll":{"description":"Boolean variable that detemines whether the customer request information about each position of an order, or information about the complete order","type":"boolean"},"orderId":{"description":"The Id identifying subject of the request","type":"string"},"deviationOfSchedule":{"description":"Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber\n\nmandatory for CommunicationMode = \"notification\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"notificationInterval":{"description":"Interval time that either specifies the cyclic send time or limits the notification time\nmandatory for CommunicationMode = \"cyclic\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"communicationMode":{"description":"Specification of the communication mode","type":"string","enum":["synchronous","cyclic","notification"]},"versionDataModel":{"description":"Specifies the used version of the data model","type":"string"}},"required":["offset","customerId","productionForecastForAll","orderId","communicationMode","versionDataModel"]},"header":{"description":"Contains information common to all messages","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string"},"context":{"description":"Information about the context the message should be considered in.\r\nDefault: For Use Cases which need to validate against the Semantic Hub automatically.\r\nFallback: For Use Cases which do not use automatic validation.\r\nIn both cases: Versioning only refers to major versions.\r\nString pattern of the value follows: ---","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string"},"version":{"description":"The version of the standard defining the semantics and the structure of the message's header. The version number should follow the Semantic Versioning 2.0.0 specification.","type":"string"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]}}}},"responses":{"200":{"description":"OK. The request has succeeded"},"201":{"description":"OK, Precision not possible. The request has succeeded. Precision is not possible, the default precision will be used"},"400":{"description":"Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."},"401":{"description":"Unauthorized. Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."},"403":{"description":"Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."},"420":{"description":"Unknown BPNS. The BPNS which is given as parameter is not registered in the data provider database as a direct partner."},"421":{"description":"Invalid CustomerId. The customerID unknown or invalid"},"422":{"description":"Invalid OrderId.\tThe orderID not found or invalid"},"423":{"description":"Invalid Notification Interval. The data field Notification interval is not set with a proper value or missing"},"424":{"description":"Invalid Deviation. The data field Deviation is not set with a proper value or missing"},"425":{"description":"Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."},"426":{"description":"incomplete Request"}},"description":"Client asking for MP information","method":"get","path":"/GetProductionForecastInformation","servers":[{"url":"http://example.mp.org"}],"jsonRequestBodyExample":{"request":{"offset":{"timeUnit":"unit:secondUnitOfTime","value":0},"customerId":"string","precisionOfForecast":{"timeUnit":"unit:secondUnitOfTime","value":0},"productionForecastForAll":true,"orderId":"string","deviationOfSchedule":{"timeUnit":"unit:secondUnitOfTime","value":0},"notificationInterval":{"timeUnit":"unit:secondUnitOfTime","value":0},"communicationMode":"synchronous","versionDataModel":"string"},"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"info":{"version":"1.0.0","title":"SIS EDC - Provider","license":{"name":"MIT"}},"postman":{"name":"Client asking for MP information","description":{"type":"text/plain"},"url":{"path":["GetProductionForecastInformation"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"GET","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/Modular Production Kit/Software Development View/Provider//sis-edc-provider -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Client asking for MP information - - - -Client asking for MP information - -
              Request Body required
              - -Optional description in *Markdown* - -
                request object
                - -Data model for a request - -
                offset object required
                - -Send/start time of the first message/notification -- "0" ==\> immediate response - -
                precisionOfForecast object
                - -Accuracy of the time specification of the completion date. -- default: implicitly defined by production -- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy. - -
                deviationOfSchedule object
                - -Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber - -mandatory for CommunicationMode = "notification" - -
                notificationInterval object
                - -Interval time that either specifies the cyclic send time or limits the notification time -mandatory for CommunicationMode = "cyclic" - -
                header object required
                - -Contains information common to all messages - -
                ---"} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                - -OK. The request has succeeded - -
                - -OK, Precision not possible. The request has succeeded. Precision is not possible, the default precision will be used - -
                - -Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). - -
                - -Unauthorized. Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. - -
                - -Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. - -
                - -Unknown BPNS. The BPNS which is given as parameter is not registered in the data provider database as a direct partner. - -
                - -Invalid CustomerId. The customerID unknown or invalid - -
                - -Invalid OrderId. The orderID not found or invalid - -
                - -Invalid Notification Interval. The data field Notification interval is not set with a proper value or missing - -
                - -Invalid Deviation. The data field Deviation is not set with a proper value or missing - -
                - -Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. - -
                - -incomplete Request - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/sidebar.js deleted file mode 100644 index 0da6170aa27..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"category","label":"UNTAGGED","items":[{"type":"doc","id":"kits/Modular Production Kit/Software Development View/Provider//get-production-forecast-information","label":"Client asking for MP information","className":"api-method get"},{"type":"doc","id":"kits/Modular Production Kit/Software Development View/Provider//unsubscribe","label":"Client unsubscribing from information pushes","className":"api-method delete"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx deleted file mode 100644 index bb9987d6553..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: unsubscribe -title: "Client unsubscribing from information pushes" -description: "Client unsubscribing from information pushes" -sidebar_label: "Client unsubscribing from information pushes" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"Unsubscribe","parameters":[{"name":"messageId","in":"path","description":"which message to unsubscribe from","required":true,"schema":{"type":"string","format":"uuid4"}}],"responses":{"200":{"description":"OK. The request has succeeded"},"400":{"description":"Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."},"401":{"description":"Unauthorized. Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."},"403":{"description":"Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."},"420":{"description":"Unknown BPNS. The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}},"description":"Client unsubscribing from information pushes","method":"delete","path":"/relatedMessageId/{messageId}","servers":[{"url":"http://example.mp.org"}],"info":{"version":"1.0.0","title":"SIS EDC - Provider","license":{"name":"MIT"}},"postman":{"name":"Client unsubscribing from information pushes","description":{"type":"text/plain"},"url":{"path":["relatedMessageId",":messageId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) which message to unsubscribe from","type":"text/plain"},"type":"any","value":"","key":"messageId"}]},"method":"DELETE"}} -sidebar_class_name: "delete api-method" -info_path: docs-kits/kits/Modular Production Kit/Software Development View/Provider//sis-edc-provider -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## Client unsubscribing from information pushes - - - -Client unsubscribing from information pushes - -
                Path Parameters
                - -OK. The request has succeeded - -
                - -Bad request. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). - -
                - -Unauthorized. Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. - -
                - -Forbidden. The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. - -
                - -Unknown BPNS. The BPNS which is given as parameter is not registered in the data provider database as a direct partner. - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index fbc053c27ef..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -id: Sample Data Modular Production Kit -title: Sample Data -description: 'Modular Production Kit' -sidebar_position: 4 ---- - -![mp kit banner](@site/static/img/MPKitIcon.png) - -The following example shows the payload used for exchange - -### GetProductionForecast - -```json -{ - "request" : { - "precisionOfForecast" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "offset" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "orderId" : "00000000-0000-0000-C000-000000000046", - "customerId" : "BPNL7588787849VQ", - "deviationOfSchedule" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "productionForecastForAll" : false, - "versionDataModel" : "urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0", - "notificationInterval" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "communicationMode" : "synchronous" - }, - "header" : { - "senderBpn" : "BPNL7588787849VQ", - "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", - "expectedResponseBy" : "2023-06-19T21:24:00+07:00", - "context" : "urn:samm:io.catenax.:1.x.x", - "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", - "receiverBpn" : "BPNL6666787765VQ", - "sentDateTime" : "2023-06-19T21:24:00+07:00", - "version" : "urn:samm:io.catenax.message_header:1.0.0" - } -} -``` - -### ProvideProductionForecast - -```json -{ - "productionForecastResponse" : { - "listOfForecastItems" : [ { - "returnCode" : "ok", - "precisionOfForecast" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "reasonsForDelay" : "supplyProblems", - "positionId" : "00000000-0000-0000-C000-000000000046", - "productionStatus" : "itemReceived", - "productionForecast" : "2023-06-19T21:24:00+07:00", - "forecastDate" : "2023-06-19T21:24:00+07:00" - } ], - "versionDataModel" : "urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0", - "communicationMode" : "synchronous", - "iterationNumber" : 6 - }, - "header" : { - "senderBpn" : "BPNL7588787849VQ", - "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", - "expectedResponseBy" : "2023-06-19T21:24:00+07:00", - "context" : "urn:samm:io.catenax.:1.x.x", - "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", - "receiverBpn" : "BPNL6666787765VQ", - "sentDateTime" : "2023-06-19T21:24:00+07:00", - "version" : "urn:samm:io.catenax.message_header:1.0.0" - } -} -``` - -### ShopfloorInformationTypes - -```json -{ - "versionDataModel" : "urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0", - "timeValue" : { - "value" : 12, - "timeUnit" : "unit:secondUnitOfTime" - }, - "communicationMode" : "synchronous" -} -``` diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_adoption-view.md deleted file mode 100644 index 6a6bc5e8c76..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_adoption-view.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -id: Adoption View Modular Production Kit -title: Adoption View -description: 'Modular Production Kit' -sidebar_position: 2 ---- - -![mp kit banner](@site/static/img/MPKitIcon.png) - -### Modular Production Kit - -## Vision & Mission - -### The missions of the KIT - -The solution approaches developed in the Modular Production use case are environments to leverage existing business potentials. For this purpose, services, interface, and data model definitions based on industry standards are introduced with the goal of increasing the flexibility and reliability of industrial production. - -Business Partners can deploy these developments by utilizing the Catena-X Network, where Modular Production offers Services to supply its partners with information about production planning and status, as requested by other use cases. - -## Business Value - -Existing Business Values can be increased by enabling customized production (batch size 1) without a significant increase of costs. Key factors for such a production environment are automated planning of production processes, flexible resource orchestration, as well as available product information during its manufacturing. With these applications, the OEM can increase the efficiency within its shop floor and thus, reduce planning times and costs by an automated reconfiguration of processes and resources in case of unplanned events. Consequently, the saved efforts can be utilized to launch new business models or increase the overall output. - -## Business Process - -Modular Production is part of the value chain. Therefore, it has to guarantee flexibility and availability on one hand and on the other hand it has to allow product flexibility in combination with small lot sizes. The effect of disturbances and decision in this network are not limited to a local area, but they have also a big impact to other partners in the value chain network. In Consequence, it is necessary to directly communicate data from the shop floor to other members of the network, such as customers or their substitutes like logistic companies. This communication is realized with the Shop-Floor-Information-Service (SIS). For example, if a customer wants to know the estimated production date for a product, he uses the Shop-Floor-Information-Service to get this information either with a direct request, via cyclic messages or notifications in case in case of a deviation from the initially scheduled production plan. The Shop-Floor-Information-Service uses the *GetProductionForecastInformation* model and the *ProvideProductionForecastInformation* model. - -## Whitepaper - -- [Modular Production Onboarding](res/modular-production-onboarding.pdf) - -## Semantic Model - -The Shop Floor Information Service features one model, the Production Forecast, which in turn consists of three semantic models, namely the *GetProductionForecastInformation* model and the *ProvideProductionForecastInformation* model. - -All partners need the same semantic models for a common understanding of the information exchange. Customers or third parties specify within the *GetProductionForecastInformation* model the concrete required information about an order or a position within an order. Modular Production interprets this request and answers to it with the *ProvideProductionForecastInformation* data model. Depending on the customer’s request, Modular Production sends either a single or multiple responses. For the latter, customers need to notify Modular Production that no further forecasts are desired. - -The *GetProductionForecastInformation* is sent from a partner to Modular Production with a HTTP request to receive a production forecast. The *ProvideProductionForecastInformation* model is containing the orders, the estimated production date and a state describing whether the order is planned, in progress or done and the creation date of the information. The semantic model can be found here: - -- -- -- . - -The *GetProductionForecastInformation* data model must be implemented by all participants who wish to use the Shop-Floor-Information-Service as a Modular Production, a customer or a participating third party. Companies, which use the Shop-Floor-Information-Service as a customer or third party must be able to send *GetProductionForecastInformation* request, whereas partners using the Shop-Floor-Information-Service as a Modular Production must be able to receive the *GetProductionForecastInformation* request. Besides, the *GetProductionForecastInformation* model enables a customer to select one of three communication modes. In general, the *communicationMode* describes different ways of communication between the Modular Production and a consumer. In case of the synchronous mode, the Modular Production immediately sends the requested information back to the consumer, whereas the other modes are addressing a continuous exchange. The cyclic mode sends the information periodically (e.g. every day), whereas the notification mode informs if the forecast for the production has changed. Besides the *communicationMode* some mode specific parameters are also part of the data model. - -The *ProvideProductionForecastInformation* model responses to the request. It contains the concrete forecast for all orders and order positions. Consequently, the response consists of a list with forecast dates where each list element refers an id for each of the orders/order positions. The link to the request is accomplished with a related *messageId*, referring the *messageId* of the initial request. *ProvideProductionForecastInformation* is containing the orders, the estimated production date and a state describing whether the order is planned, in progress or done as well as some protocol data like ids and date of creation of the information. - -## Logic & Schema - -### Architecture - -The *GetProductionForecastInformation* contains the request for the forecasting data which is sent from a Modular Production partner to a customer or a third party on the next lower level. All participants using the Shop-Floor-Information-Service in the role of a customer, or third party must be able to send the *GetProductionForecastInformation*. All participants using the Shop-Floor-Information-Service in the role of a Modular Production must be able to receive and process the *GetProductionForecastInformation*. -The following diagram depicts all possible interactions between partners, in case they apply the Production Forecast Service. The communication between partners is accomplished by utilizing the Eclipse Data Space Connector (EDC) to ensure data sovereignty.) It takes place in different phases: - -1. Negotiation between the EDC of the partners using the proposed policies, -2. *GetProductionForecastInformation*(...) - the call of the customer, -3. get the desired information via *ProvideProductionForecastInformation*(...) - transferred by Modular Production (synchronous, cyclic, or notification-like), -4. Unsubscribe from the *GetProductionForecastInformation* service to receive no further information. - -![SIS Production Forecast Sequence Chart](res/SIS_ProduktionForecast_SequenceChart.svg) - -The left side shows the different request possibilities of customers. The right shows Modular Production that features a scheduler to generate answers for requests. The two boxes in the middle represent the EDC of each partner. The communication between the respective EDC is transparent to the user (shaded). Data for the request and the response are transmitted in the payload of the messages. The synchronous response (http response) does not contain any technical information but provides information whether the exchange of information succeeded or not. The concrete information is sent with one or multiple asynchronous responses, depending on the communication mode between the partners. The left side shows the different request possibilities of customers. The right shows Modular Production that features a scheduler to generates answers for requests. - -### Components - -#### Technical requirements for a CATENA-X compliant data transmission - -![SIS Production Forecast Overview](res/SIS_ProduktionForecast_Overview.svg) - -Both partners, the customer and the Modular Production, must be members of the Catena X network to communicate with each other. By registering a Modular Production in advance with the Discovery Service, a customer can find it via a so-called Business Partner Number (BPN). With the help of SSI (Self Sovereign Identity) the correct identity is guaranteed. Customer are using the *GetProductionForecastInformation* call to request a production forecast, as specified in CX-0075. The Modular Production generates the required information by internal services like a schedulers and answers accordingly by calling *ProvideProductionForecastInformation* as specified in CX-0075. In case of a cyclic messages or notification mode, the customer has to unsubscribe from the service, if the service is not needed anymore. - -The *GetProductionForecastInformation* as well as the *ProvideProductionForecastInformation* is using a Asset Administration Shell (AAS) serialized as a JSON string which is sent through EDC mechanism: Namely: *GetProductionForecastInformation* uses *GetProductionForecast* data model and *ProvideProductionForecastInformation* uses *ProvideProductionForecast* data model. The unsubscribe call has no corresponding data model, as it is a simple HTTP DELETE. The JSON string is standardized in document (MP) CX - 0069 Shop-Floor-Information-Service Aspect Model v.1.0.0. The standard only describes the sending and receiving of Shop-Floor-Information-data through EDC. The object is created and handled by applications of the companies involved, but these applications are not part of the standard. - -## Standards - -The standards for release 3.2 will be published soon. Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- CX-0068 Shop-Floor-Information-Service API v.1.0.0 -- CX-0069 Shop-Floor-Information-Service Aspect Model v.1.0.0 -- CX-0075 Shop-Floor-Information-Service Default / Process v.1.0.0 - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IWU & Fraunhofer IOSB & Fraunhofer IPA) -- SPDX-FileCopyrightText: 2023 Siemens AG diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_changelog.md deleted file mode 100644 index c49910b3f88..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/page_changelog.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: Modular Production Kit Changelog -title: Changelog -description: 'Modular Production Kit' -sidebar_position: 1 ---- - -![mp kit banner](@site/static/img/MPKitIcon.png) - -### Modular Production Kit - -All notable changes to this Kit will be documented in this file. - -## [0.1.0] - 2023-11-20 - -### Added - -- Initial version of the Kit including adoption and development view - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/01-osim-api.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/01-osim-api.info.mdx deleted file mode 100644 index 0e0641e9c62..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/01-osim-api.info.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: osim-api -title: "OSim API" -description: "Osim API for requesting and receiving simulation results as well as for interactions related to scenario management." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - - - Version: 2.0.0 - - -# OSim API - -OSim API for requesting and receiving simulation results as well as for interactions related to scenario management. diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/02-page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/02-page_software-development-view.md deleted file mode 100644 index 3a2de2da840..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/02-page_software-development-view.md +++ /dev/null @@ -1,183 +0,0 @@ ---- -id: Specification OSim Kit -title: Specification -description: 'OSim Kit' ---- - -![osim kit banner](@site/static/img/OSimKitIcon.svg) - -### OSim Kit - -## Sample Data - -### Sample-1 - -The following example shows the payload used for exchange of simulation results between the OSim partners. The format corresponds with AAS format serialized as a JSON string. - -```json -{ - "owner": { "id": "BPNL00000007OTZ3" }, - "dataQuality": 1, - "description": "Daily standard simulation", - "comment": "successful simulation", - "expirationTimestamp": "2023-03-24T09:15:24.000Z", - "runId": "0fece48b-c8d1-4180-1a9caca6d67e", - "shipments": [ - { - "handlingUnits": [ - { - "name": "Palette", - "volume": 1, - "weight": 189, - "batches": [ - { - "unitOfMeasurement": "KG", - "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50, - "materialNumber": "KK1000GR", - "batchOrderId": "Order-0001", - "batchId": "Batch_1", - "hazardousGoods": false, - "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", - "batchNumber": "45" - } - ], - "handlingUnitId": "HUT_1", - "amount": 1 - } - ], - "shipmentId": "DE51515151", - "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": { "id": "BPNL00000007OTZ3" }, - "recipient": { "id": "BPNL00000007OTZ4" }, - "logistics": { "id": "BPNL00000007OS0H" }, - "preceding": {}, - "splittingAllowed": true, - "destinationTimestamp": "2023-03-19T09:00:00.000Z" - } - ], - "timestamp": "2023-03-09T14:13:42.806Z" -} -``` - -### Sample-2 - -The following example shows the payload used for exchange of scenario data between the OSim partners. The format corresponds with AAS format serialized as a JSON string. - -```json -{ - "materialFlowScenarioRequest": { - "scenarioSimResults": { - "resultOwnId": "916b5688-8bd8-4d7e-83b9-e0d40939274e", - "resultOwnSimRunInitial": { - "owner": {}, - "dataQuality": 0, - "description": "Please simulate asap", - "comment": "successful simulation", - "expirationTimestamp": "2023-03-24T09:15:24.000Z", - "runId": "0fece48b-c8d1-4180-1a9caca6d67e", - "shipments": [ - { - "handlingUnits": [ - { - "name": "Palette", - "volume": 1.0, - "weight": 189.0, - "batches": [ - { - "unitOfMeasurement": "KG", - "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50.0, - "materialNumber": "KK1000GR", - "materialHazardousGoods": false, - "batchOrderId": "Order-0001", - "batchId": "Batch_1", - "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", - "batchNumber": "45" - } - ], - "handlingUnitId": "HUT_1", - "amount": 1 - } - ], - "shipmentId": "DE51515151", - "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": {}, - "recipient": {}, - "logistics": {}, - "preceding": {}, - "splittingAllowed": true, - "destinationTimestamp": "2023-03-19T09:00:00.000Z" - } - ], - "timestamp": "2023-03-09T14:13:42.806Z" - }, - "resultOwnSimRunUpdated": { - "owner": {}, - "dataQuality": 0, - "description": "Please simulate asap", - "comment": "successful simulation", - "expirationTimestamp": "2023-03-24T09:15:24.000Z", - "runId": "0fece48b-c8d1-4180-1a9caca6d67e", - "shipments": [ - { - "handlingUnits": [ - { - "name": "Palette", - "volume": 1.0, - "weight": 189.0, - "batches": [ - { - "unitOfMeasurement": "KG", - "materialName": "KK1000GR-Gehäuse-Rot", - "quantity": 50.0, - "materialNumber": "KK1000GR", - "materialHazardousGoods": false, - "batchOrderId": "Order-0001", - "batchId": "Batch_1", - "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", - "batchNumber": "45" - } - ], - "handlingUnitId": "HUT_1", - "amount": 1 - } - ], - "shipmentId": "DE51515151", - "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", - "destination": {}, - "recipient": {}, - "logistics": {}, - "preceding": {}, - "splittingAllowed": true, - "destinationTimestamp": "2023-03-19T09:00:00.000Z" - } - ], - "timestamp": "2023-03-09T14:13:42.806Z" - } - }, - "scenarioParameter": { - "unitOfMeasurement": "KG", - "parameterScenario": "8d464b8b-6977-4952-8a22-0489067ca081", - "parameterComment": "updated Delivery Date", - "materialName": "KK1000GR-Gehäuse-Rot", - "parameterQuantityUpdated": 1.0, - "parameterId": "847c71e5-614a-468b-a3a0-674bf2af3004", - "materialNumber": "KK1000GR", - "parameterDeliveryDateUpdated": "2023-10-10T09:00:00.000Z", - "parameterDeliveryDateInitial": "2023-10-09T10:00:00.000Z", - "parameterOrderId": "OID-011123456", - "parameterQuantityInitial": 1.0 - }, - "scenarioHeader": { - "scenarioOwnerRole": "Customer", - "scenarioCreationTimestamp": "2023-10-04T09:10:00.000Z", - "scenarioExpirationTimestamp": "2023-10-07T09:10:00.000Z", - "scenarioOwner": "BPNL0000007OTZ3", - "scenarioDescription": "Changes in Delivery Date", - "scenarioId": "8d464b8b-6977-4952-8a22-0489067ca081", - "scenarioTitle": "Delivery Modification" - } - } -} -``` diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx deleted file mode 100644 index c2c20ba6240..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: receive-latest-simulation-result -title: "receiveLatestSimulationResult" -description: "Receive latest simulation result which can be stored in own OSim Manager instance" -sidebar_label: "receiveLatestSimulationResult" -hide_title: true -hide_table_of_contents: true -api: {"tags":["receiveLatestSimulationResult"],"description":"Receive latest simulation result which can be stored in own OSim Manager instance","operationId":"receiveLatestSimulationResult","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"owner":{"type":"object","properties":{"id":{"type":"string"}}},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"type":"object","properties":{"handlingUnits":{"type":"array","items":{"type":"object","properties":{"volume":{"type":"integer"},"batches":{"type":"array","items":{"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"integer"},"materialNumber":{"type":"string"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"hazardousGoods":{"type":"boolean"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"},"name":{"type":"string"},"weight":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object","properties":{"id":{"type":"string"}}},"recipient":{"type":"object","properties":{"id":{"type":"string"}}},"logistics":{"type":"object","properties":{"id":{"type":"string"}}},"preceding":{"type":"object","properties":{}},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}},"examples":{"0":{"value":"{ \n \"owner\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"dataQuality\": 1, \n \"description\": \"Daily standard simulation\", \n \"comment\": \"successful simulation\", \n \"expirationTimestamp\": \"2023-03-24T09:15:24.000Z\", \n \"runId\": \"0fece48b-c8d1-4180-1a9caca6d67e\", \n \"shipments\": [ \n { \n \"handlingUnits\": [ \n { \n \"name\": \"Palette\", \n \"volume\": 1, \n \"weight\": 189, \n \"batches\": [ \n { \n \"unitOfMeasurement\": \"KG\", \n \"materialName\": \"KK1000GR-Gehäuse-Rot\", \n \"quantity\": 50, \n \"materialNumber\": \"KK1000GR\", \n \"batchOrderId\": \"Order-0001\", \n \"batchId\": \"Batch_1\", \n \"hazardousGoods\": false, \n \"batchExpirationTimestamp\": \"2023-08-22T16:00:00.000Z\", \n \"batchNumber\": \"45\" \n } \n ], \n \"handlingUnitId\": \"HUT_1\", \n \"amount\": 1 \n } \n ], \n \"shipmentId\": \"DE51515151\", \n \"recipientTimestampPlanned\": \"2023-04-19T09:00:00.000Z\", \n \"destination\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"recipient\": { \"id\": \"BPNS00000007OTZ4\" }, \n \"logistics\": { \"id\": \"BPNS00000007OS0H\" }, \n \"preceding\": {}, \n \"splittingAllowed\": true, \n \"destinationTimestamp\": \"2023-03-19T09:00:00.000Z\" \n } \n ], \n \"timestamp\": \"2023-03-09T14:13:42.806Z\" \n}"}}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Payload is empty","content":{"text":{"schema":{"type":"string","example":"The payload of the API call is empty."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"Payload structure unknown","content":{"text":{"schema":{"type":"string","example":"The payload structure is unknown or correspond not to the defined semantic model"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to receive the data was not POST"}}}},"406":{"description":"Payload content invalid","content":{"text":{"schema":{"type":"string","example":"The content of the payload is invalid. E.g. “owner unknown”"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/receiveLatestSimulationResult/requestId/{requestId}","jsonRequestBodyExample":{"owner":{"id":"string"},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"volume":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","batchOrderId":"string","batchId":"string","hazardousGoods":true,"batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0,"name":"string","weight":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{"id":"string"},"recipient":{"id":"string"},"logistics":{"id":"string"},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"},"info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"receive Latest Simulation Result","description":{"content":"Receive latest simulation result which can be stored in own OSim Manager instance","type":"text/plain"},"url":{"path":["api","receiveLatestSimulationResult","requestId",":requestId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## receiveLatestSimulationResult - - - -Receive latest simulation result which can be stored in own OSim Manager instance - -
                Path Parameters
                Request Body
                  owner object
                  shipments object[]
                  handlingUnits object[]
                  batches object[]
                  destination object
                  recipient object
                  logistics object
                  preceding object
                - -OK - -
                Schema
                • string
                - -Bad request - -
                Schema
                • string
                - -Unauthorized - -
                Schema
                • string
                - -Payload is empty - -
                Schema
                • string
                - -Forbidden - -
                Schema
                • string
                - -Payload structure unknown - -
                Schema
                • string
                - -Method not allowed - -
                Schema
                • string
                - -Payload content invalid - -
                Schema
                • string
                - -Internal server error - -
                Schema
                • string
                - -Service unavailable - -
                Schema
                • string
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx deleted file mode 100644 index 99ea43510e0..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: request-scenario-feedback -title: "requestScenarioFeedback" -description: "The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario." -sidebar_label: "requestScenarioFeedback" -hide_title: true -hide_table_of_contents: true -api: {"tags":["requestScenarioFeedback"],"operationId":"requestScenarioFeedback","description":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"}],"requestBody":{"content":{"application/json":{"schema":{"required":["materialFlowScenarioRequest"],"type":"object","properties":{"materialFlowScenarioRequest":{"required":["scenarioHeader","scenarioParameter","scenarioSimResults"],"type":"object","properties":{"scenarioSimResults":{"required":["resultOwnId","resultOwnSimRunInitial","resultOwnSimRunUpdated"],"type":"object","properties":{"resultOwnId":{"type":"string"},"resultOwnSimRunInitial":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"owner":{"type":"object"},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"handlingUnits":{"type":"array","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"name":{"type":"string"},"volume":{"type":"number"},"weight":{"type":"number"},"batches":{"type":"array","items":{"required":["batchExpirationTimestamp","batchId","batchNumber","batchOrderId","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"number"},"materialNumber":{"type":"string"},"materialHazardousGoods":{"type":"boolean"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object"},"recipient":{"type":"object"},"logistics":{"type":"object"},"preceding":{"type":"object"},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}},"resultOwnSimRunUpdated":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"owner":{"type":"object"},"dataQuality":{"type":"integer"},"description":{"type":"string"},"comment":{"type":"string"},"expirationTimestamp":{"type":"string"},"runId":{"type":"string"},"shipments":{"type":"array","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"handlingUnits":{"type":"array","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"name":{"type":"string"},"volume":{"type":"number"},"weight":{"type":"number"},"batches":{"type":"array","items":{"required":["batchExpirationTimestamp","batchId","batchNumber","batchOrderId","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"materialName":{"type":"string"},"quantity":{"type":"number"},"materialNumber":{"type":"string"},"materialHazardousGoods":{"type":"boolean"},"batchOrderId":{"type":"string"},"batchId":{"type":"string"},"batchExpirationTimestamp":{"type":"string"},"batchNumber":{"type":"string"}}}},"handlingUnitId":{"type":"string"},"amount":{"type":"integer"}}}},"shipmentId":{"type":"string"},"recipientTimestampPlanned":{"type":"string"},"destination":{"type":"object"},"recipient":{"type":"object"},"logistics":{"type":"object"},"preceding":{"type":"object"},"splittingAllowed":{"type":"boolean"},"destinationTimestamp":{"type":"string"}}}},"timestamp":{"type":"string"}}}}},"scenarioParameter":{"required":["materialName","materialNumber","parameterComment","parameterDeliveryDateInitial","parameterDeliveryDateUpdated","parameterId","parameterOrderId","parameterQuantityInitial","parameterQuantityUpdated","parameterScenario","unitOfMeasurement"],"type":"object","properties":{"unitOfMeasurement":{"type":"string"},"parameterScenario":{"type":"string"},"parameterComment":{"type":"string"},"materialName":{"type":"string"},"parameterQuantityUpdated":{"type":"number"},"parameterId":{"type":"string"},"materialNumber":{"type":"string"},"parameterDeliveryDateUpdated":{"type":"string"},"parameterDeliveryDateInitial":{"type":"string"},"parameterOrderId":{"type":"string"},"parameterQuantityInitial":{"type":"number"}}},"scenarioHeader":{"required":["scenarioCreationTimestamp","scenarioDescription","scenarioExpirationTimestamp","scenarioId","scenarioOwner","scenarioOwnerRole","scenarioTitle"],"type":"object","properties":{"scenarioOwnerRole":{"type":"string"},"scenarioCreationTimestamp":{"type":"string"},"scenarioExpirationTimestamp":{"type":"string"},"scenarioOwner":{"type":"string"},"scenarioDescription":{"type":"string"},"scenarioId":{"type":"string"},"scenarioTitle":{"type":"string"}}}}}}},"examples":{"0":{"value":"{\n \"materialFlowScenarioRequest\" : {\n \"scenarioSimResults\" : {\n \"resultOwnId\" : \"916b5688-8bd8-4d7e-83b9-e0d40939274e\",\n \"resultOwnSimRunInitial\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n },\n \"resultOwnSimRunUpdated\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n }\n },\n \"scenarioParameter\" : {\n \"unitOfMeasurement\" : \"KG\",\n \"parameterScenario\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"parameterComment\" : \"updated Delivery Date\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"parameterQuantityUpdated\" : 1.0,\n \"parameterId\" : \"847c71e5-614a-468b-a3a0-674bf2af3004\",\n \"materialNumber\" : \"KK1000GR\",\n \"parameterDeliveryDateUpdated\" : \"2023-10-10T09:00:00.000Z\",\n \"parameterDeliveryDateInitial\" : \"2023-10-09T10:00:00.000Z\",\n \"parameterOrderId\" : \"OID-011123456\",\n \"parameterQuantityInitial\" : 1.0\n },\n \"scenarioHeader\" : {\n \"scenarioOwnerRole\" : \"Customer\",\n \"scenarioCreationTimestamp\" : \"2023-10-04T09:10:00.000Z\",\n \"scenarioExpirationTimestamp\" : \"2023-10-07T09:10:00.000Z\",\n \"scenarioOwner\" : \"BPNS0000007OTZ3\",\n \"scenarioDescription\" : \"Changes in Delivery Date\",\n \"scenarioId\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"scenarioTitle\" : \"Delivery Modification\"\n }\n }\n}"}}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not POST"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/requestScenarioFeedback/bpns/{bpns}","jsonRequestBodyExample":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"string","resultOwnSimRunInitial":{"owner":{},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"name":"string","volume":0,"weight":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","materialHazardousGoods":true,"batchOrderId":"string","batchId":"string","batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{},"recipient":{},"logistics":{},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"},"resultOwnSimRunUpdated":{"owner":{},"dataQuality":0,"description":"string","comment":"string","expirationTimestamp":"string","runId":"string","shipments":[{"handlingUnits":[{"name":"string","volume":0,"weight":0,"batches":[{"unitOfMeasurement":"string","materialName":"string","quantity":0,"materialNumber":"string","materialHazardousGoods":true,"batchOrderId":"string","batchId":"string","batchExpirationTimestamp":"string","batchNumber":"string"}],"handlingUnitId":"string","amount":0}],"shipmentId":"string","recipientTimestampPlanned":"string","destination":{},"recipient":{},"logistics":{},"preceding":{},"splittingAllowed":true,"destinationTimestamp":"string"}],"timestamp":"string"}},"scenarioParameter":{"unitOfMeasurement":"string","parameterScenario":"string","parameterComment":"string","materialName":"string","parameterQuantityUpdated":0,"parameterId":"string","materialNumber":"string","parameterDeliveryDateUpdated":"string","parameterDeliveryDateInitial":"string","parameterOrderId":"string","parameterQuantityInitial":0},"scenarioHeader":{"scenarioOwnerRole":"string","scenarioCreationTimestamp":"string","scenarioExpirationTimestamp":"string","scenarioOwner":"string","scenarioDescription":"string","scenarioId":"string","scenarioTitle":"string"}}},"info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"request Scenario Feedback","description":{"content":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","type":"text/plain"},"url":{"path":["api","requestScenarioFeedback","bpns",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## requestScenarioFeedback - - - -The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario. - -
                Path Parameters
                Request Body
                  materialFlowScenarioRequest object required
                  scenarioSimResults object required
                  resultOwnSimRunInitial object required
                  shipments object[] required
                  handlingUnits object[] required
                  batches object[] required
                  resultOwnSimRunUpdated object required
                  shipments object[] required
                  handlingUnits object[] required
                  batches object[] required
                  scenarioParameter object required
                  scenarioHeader object required
                - -OK - -
                Schema
                • string
                - -Bad request - -
                Schema
                • string
                - -Unauthorized - -
                Schema
                • string
                - -Unknown BPNS - -
                Schema
                • string
                - -Forbidden - -
                Schema
                • string
                - -Method not allowed - -
                Schema
                • string
                - -Internal server error - -
                Schema
                • string
                - -Service unavailable - -
                Schema
                • string
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx deleted file mode 100644 index e844d14f913..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: push-scenario-state -title: "pushScenarioState" -description: "The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario" -sidebar_label: "pushScenarioState" -hide_title: true -hide_table_of_contents: true -api: {"tags":["pushScenarioState"],"operationId":"pushScenarioState","description":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"state","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["InRealization","Processed","Canceled"]},"example":"InRealization"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET has succeeded. The pushScenarioState has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The scenarioState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"push Scenario State","description":{"content":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","type":"text/plain"},"url":{"path":["api","pushScenarioState","bpns",":bpns","scenarioId",":scenarioId","state",":state"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"state"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## pushScenarioState - - - -The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario - -
                Path Parameters
                - -OK - -
                Schema
                • string
                - -Bad request - -
                Schema
                • string
                - -Unauthorized - -
                Schema
                • string
                - -Unknown BPNS - -
                Schema
                • string
                - -Forbidden - -
                Schema
                • string
                - -Method not allowed - -
                Schema
                • string
                - -Unknown Scenario - -
                Schema
                • string
                - -Unknown State - -
                Schema
                • string
                - -Internal server error - -
                Schema
                • string
                - -Service unavailable - -
                Schema
                • string
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/sidebar.js deleted file mode 100644 index 4b9d63c21a8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/sidebar.js +++ /dev/null @@ -1,88 +0,0 @@ -module.exports = [ - { type: 'doc', id: 'kits/OSim Kit/Software Development View//osim-api' }, - { - type: 'category', - label: 'requestLatestSimulationResult', - link: { - type: 'generated-index', - title: 'requestLatestSimulationResult', - slug: '/category/kits/OSim Kit/Software Development View/request-latest-simulation-result', - }, - items: [ - { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//request-latest-simulation-result', - label: 'requestLatestSimulationResult', - className: 'api-method get', - }, - ], - }, - { - type: 'category', - label: 'receiveLatestSimulationResult', - link: { - type: 'generated-index', - title: 'receiveLatestSimulationResult', - slug: '/category/kits/OSim Kit/Software Development View/receive-latest-simulation-result', - }, - items: [ - { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//receive-latest-simulation-result', - label: 'receiveLatestSimulationResult', - className: 'api-method post', - }, - ], - }, - { - type: 'category', - label: 'requestScenarioFeedback', - link: { - type: 'generated-index', - title: 'requestScenarioFeedback', - slug: '/category/kits/OSim Kit/Software Development View/request-scenario-feedback', - }, - items: [ - { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//request-scenario-feedback', - label: 'requestScenarioFeedback', - className: 'api-method post', - }, - ], - }, - { - type: 'category', - label: 'receiveScenarioFeedback', - link: { - type: 'generated-index', - title: 'receiveScenarioFeedback', - slug: '/category/kits/OSim Kit/Software Development View/receive-scenario-feedback', - }, - items: [ - { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//receive-scenario-feedback', - label: 'receiveScenarioFeedback', - className: 'api-method get', - }, - ], - }, - { - type: 'category', - label: 'pushScenarioState', - link: { - type: 'generated-index', - title: 'pushScenarioState', - slug: '/category/kits/OSim Kit/Software Development View/push-scenario-state', - }, - items: [ - { - type: 'doc', - id: 'kits/OSim Kit/Software Development View//push-scenario-state', - label: 'pushScenarioState', - className: 'api-method get', - }, - ], - }, -]; diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_adoption-view.md deleted file mode 100644 index 9f9cb68f409..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_adoption-view.md +++ /dev/null @@ -1,255 +0,0 @@ ---- -id: Adoption View OSim Kit -title: Adoption View -description: 'OSim Kit' -sidebar_position: 2 ---- - -![osim kit banner](@site/static/img/OSimKitIcon.svg) - -### OSim Kit - -## Vision & Mission - - -**Gain increased supply chain transparency through collaborative simulation across all stakeholders**. - -**Combine simulations of plants internally with simulations of external logistics over multiple tiers**. - -Online control and simulation aims at linking production simulation with logistics simulation in order to identify delivery problems earlier, to operate with potentially changed situations in production and to react in response to changing customer requirements or external disturbances/events. -The online control and simulation (OSim) Kit defines the mechanisms and services needed to enable every Catena-X partner (producer as well as logisticians) to exchange simulation results in an open, interoperable and Catena-X compliant way. -An open architecture for integrating partners of all kinds together with standardized interfaces and semantics models are the fundamental basis of the OSim Kit. - -**Integrate any supply chain partner**. - -Even partners that do not use any simulation tool can contribute to the overall transparency through the well-defined information requirements. - -**Integrate any simulation tool**. - -Thanks to open architecture OSim is independent of the simulation tools that partners use. - -## Business Value - -Conventional planning and simulation tools use material flow simulations only on the plant level but they don't exchange simulation results with their respective partners in the supply chain. OSim goes beyond this by enabling every Catena-X partner (producers as well as logisticians) to integrate material flow simulation results of their partners into the simulation of their own processes. This is achieved by sharing the material flow simulation results on supply chain level. - -The simulation results of the Catena-X partners on the supply chain's lower tier level and logistics, together with data of the company's own operations are fed into a simulation model as input. Considering both, plannable and unpredictable influencing factors, this simulation model is iterated as often as necessary until an optimal result has been found. Sharing of simulation results to the next tier level is the core capability of the collaborative simulation approach. -One specific case of this data exchange is so called “What-If” scenario. This capability provides validation respectively calibration of potentially changed manufacturing or transportation situations across the entire supply chain. - -A central application takes over the tasks of monitoring and controlling the transmission of the simulation results, regardless of the level of digitalization of the partners. In addition, this application takes over control of the simulation tools used. - -![Example of an OSim partner network from the perspective of the producing company WERK-76](./werk76.png) - -### Benefits for OEM, SME and Solution Provider - -- Collaborative simulation over the supply chain (Basic flow) -- “What-If” triggered scenarios (Scenario flow) -- Early reaction to delivery problems -- Early response to changes in customer requirements -- Early consideration of external disturbances/events on the process -- Validation of potential changes in advance of implementation - -## Business Process - -The simulation results of the Catena-X partners on the lower tier level and logistics, together with data of the company's own operations are fed into the individual simulation model as input. Considering both, plannable and unforeseeable influencing factors, this simulation model is iterated through as often as necessary until an optimal production schedule is reached and a simulation result is created. Sharing of simulation results to the next tier level is the base of the collaborative simulation approach in a short-term horizon, across the complete supply chain. - -This basic data exchange is based on a real production state and current planning. Additionally, a further functionality allows to operate with potentially changed situations in production or changed requirements. So called "What-If" scenarios" can be initiated and communicated to the supply chain partners confirming the feasibility. - -The following picture shows the fundamental network structure, consisting of suppliers, logisticians and OEMs who exchange simulation results with each other, considering the one-up and one-down principles. Every material flow simulation result includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. - -![business processes](./businessProcess.png) - -See also the following publications for more detailed description of the process and its components: - -- [Catena-X – Online Steuerung und Simulation](https://www.degruyter.com/document/doi/10.1515/zwf-2023-1031/html) (Publication by De Gruyter 18. April 2023) -- [Kollaborative Materialflusssimulationen zur Steuerung der Verknüpfung von Supply Chain und Shopfloor – Ein Catena-X Use-Case](https://elibrary.vdi-verlag.de/10.51202/9783181024195/automation-2023?page=1) (Publication in the VDI-Report „Automation 2023“ by VDI Wissensforum GmbH Hrsg., see pages 73-88) - -## Semantic Model - -### Materialflow Simulation Result (MaterialFlowSimulationResult) - -The Semantic Model MaterialFlowSimulationResult summarizes simulation results of the individual partners and is used for data exchange along the supply chain. - -The *MaterialFlowSimulationResult* object will be sent by OSim partner to another OSim partner on a higher tier level. OSim partner can be a producing company as well as a logistics company. - -Every *MaterialFlowSimulationResult* includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. - -#### Structure of the Materialflow Simulation Result - -The MaterialFlowSimulationResult semantic model contains 4 hierarchical entities: - -- MaterialFlowSimulationResult -- Shipment -- HandlingUnit -- MaterialBatch - -One *MaterialFlowSimulationResult* refers to one or more Shipments. - -**Shipment** describes a delivery approach with information about source, destination and delivery time. One Shipment refers to one or more HandlingUnits. - -**HandlingUnit** describes the smallest shipment unit. One HandlingUnit refers to one or more MaterialBatches. The parameter Amount allows to define how many absolute identical (size and content) HandlingUnits are included in the shipment. - -**MaterialBatch** describes the material and the quantity which the handling unit contains. - -#### Aspect Model - -Github Link to semantic data model: - -### Materialflow Scenario Request (MaterialFlowScenarioRequest) - -The Semantic Model *MaterialFlowScenarioRequest* includes scenario related information of the individual partners and is used for data exchange along the supply chain in regard to “What-If” scenarios. - -The *MaterialFlowScenarioRequest* object will be sent by OSim partner to another OSim partner (possible in both directions: up and down). OSim partner can be a producing company as well as a logistics company. - -Every *MaterialFlowScenarioRequest* includes information about the scenario description, scenario parameters (optional) and two simulation results analogues to the MaterialFlowSimulationResult (one with the unchanged and another one with the changed situation, allowing verification of scenario impact through comparison). - -#### Structure of the Materialflow Scenario Request - -The *MaterialFlowScenarioRequest* semantic model contains 4 entities: - -- Scenario Header -- Scenario Parameters (optional) -- Scenario Simulation Results Initial (optional) -- Scenario Simulation Results Updated (optional) - -**Scenario Header** entity describes the scenario in general. - -**Scenario Parameters** entity includes the delivery related parameters, if relevant. - -**Scenario Simulation Results Initial** is a reference to the aspect model MaterialFlowSimulationResult and includes the simulation result of the unchanged situation. - -**Scenario Simulation Results Updated** is a reference to the aspect model MaterialFlowSimulationResult and includes the simulation result of the scenario related change. - -#### Aspect Model - -Github Link to semantic data model: - -## Logic & Schema - -### Architecture - -#### Introduction - -The OSim approach is based on a distributed simulation in which each participant simulates its role and additionally exchanges information with its suppliers and customers online via standardized interfaces. In the process, a strict 1-up / 1-down principle (i.e. data is only exchanged with the immediate predecessors and successors in the supply chain) guarantees compliance with antitrust regulations. The data exchange itself is carried out according to Gaia-X principles, which guarantee the data sovereignty of all partners involved. - -All partners involved in the supply chain simulate their respective actions (production or logistical deliveries) on the basis of the latest information from the shop floor and its internal systems. They then pass this on to the successors in the supply chain according to the 1-up principle, where a new simulation is carried out on the basis of this possibly changed information. In OSim, a "horizontal" exchange of information across the supply chain is thus combined with a "vertical" exchange with the simulation tools and thus indirectly with the shop floor. - -#### Components - -The OSim solution is built of different components mixed by CATENA-X central services and specific OSim components. The main OSim-specific application is the OSim Manager, followed by Simulation tools for logistics and production. - -The OSim Manager is a software application that exchanges all the information necessary for a local understanding of the supply chain with the partners and simulation tools, collects it and prepares it for the user. - -The simulation tools are responsible for the processing of material flow simulations in both, production plants and logistics. - -The following central services are needed for the communication along the supply chain: - -- Business Partner Number (BPN) Registry = Management of business partner legal entities, sites and addresses used to identify the partners and their BPN-IDs for communication -- Identity and Access Management (IAM) = IdP used to login against Catena-X services -- Self Sovereign Identity (SSI) = Central service hosting the EDCs certificates (public keys). Used for mutual authentication between different EDC instances -- Discovery Service (DS) = as a central registry used to store/lookup the EDC endpoints for OSim requests/sending. -- Eclipse Data Connector (EDC) = Handling contract negotiation and initiates data transfer. The Eclipse Data Connector (EDC) interface enables data exchange between the OSim managers of the participating partners. - -### Architecture and Dataflow - -![architecture](./architecture.png) - -### Technical requirements for a CATENA-X compliant data transmission - -The following appropriate configurations must be made in advance of the data exchange: - -1. In the BPN registry, all partner instances (production sites) participating in the OSim use case must be listed with their respective site identification and address. The BPN IDs of the production sites (BPNS) are used for registration in the DS. -2. In the IAM, each OSim participating partner must apply for a "technical user", which is used for process communication with the central services. -3. Registration of OSim endpoints takes place in the Discovery Service. -4. The certificates required for SSI are issued on request. - -At runtime the OSim Manager application must know the partner BPN-ID of the communication partner. With this BPN-ID, a look-up command is issued on the Discovery Service. The result is the endpoint link that the EDC connector needs to establish the connection. - -## Policies - -### Access Policies - -To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the EDC, described in the following. Further details are described in the [CX - 0018 Sovereign Data Exchange standard](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/3_Sovereign_Data_Exchange/CX_-_0018_EDC_PlatformCapabilitySovereignDataExchange_v_1.0.1.pdf). - -To decide which company has access to the data assets, access policy should be used. Note that without protecting data assets with access policies, they become publicly available in the Catena-X network which is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). - -#### BPN Access Policy - -This policy allows limiting access to a data offer based on a list of specific BPNs. This translates to the following functionality: - -- The data offer creator will be able to create a policy listing all the BPN that can access the data offer -- This means that only the connectors registered in the Catena-X network with the BPN listed in the policy can see the data offer and accept it (for the creation of data contracts and subsequent data exchange) - -Examples including a JSON payload for single and multiple BPN are described on this page [in the Tractus-X EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation) or in the [Business Partner Validation Extension part of the Connector Kit](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/edc-extensions/business-partner-validation/). - -### Usage Policies - -To decide which company can use the data asset under specific conditions, usage policies (or contract policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. Currently, the usage policies aren't technically enforced but based on a legal framework (keep this in mind when publishing data assets). -Policies are defined based on the W3C ODRL format. This allows a standardized way of formulating policy payloads. It further allows to stack different constraints with the odrl:and operator. Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the network. It is recommended to restrict the data usage for all traceability aspects. An example of one usage policy containing three different constraints is shown and described in the following: - -**Sample-1**: The following example shows the payload used to create a usage policy with the restriction regarding Membership in CATENA-X network related to the consuming partner. - -```json -{ - "@context": { - "odrl": http://www.w3.org/ns/odrl/2/ - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "", // Important for the contract definition - "policy": { - "@type": "Policy", - "odrl:permission": [ - { - "odrl:action": "USE", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:and": [ // All of the following three constraints have to be fullfilled (and, not or) - // First constraint to verify the the Catena-X membership - { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - } - ] - } - } - ] - } -} -``` - -#### Membership Policy - -To verify the participants Catena-X membership, the Membership verifiable credential can be used. In case of a policy, the data can only be used from verified Catena-X members. The payload is shown in the first constraint-part of the example above and described in detail in the [EDC part of the SSI documentation](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md#1-membership-constraint). - -**Sample-2**: Membership Usage Policy example - -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" -} -``` - -## Standards - -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- [CX - 0072 OSim Process and Core Business Logic v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0072-OSimProcessAndCoreBusinessLogic-v1.0.0.pdf) -- [CX - 0073 OSim API v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0073-OSimAPI-v1.0.0.pdf) -- [CX - 0087 OSim Data Model Materialflow Simulation Result v1.0.0](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0087-OSimDataModelMaterialFlowSimulationResult-v1.0.0.pdf) -- [CX - 0133 Online Control and Simulation v1.0.0](https://catena-x.net/de/standard-library) - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Factory Operation and Automation IFF -- SPDX-FileCopyrightText: 2024,Siemens AG diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_changelog.md deleted file mode 100644 index 955b6baccd2..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/page_changelog.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: OSim Kit Changelog -title: Changelog -description: 'OSim Kit' -sidebar_position: 1 ---- - -![osim kit banner](@site/static/img/OSimKitIcon.svg) - -### OSim Kit - -All notable changes to this Kit will be documented in this file. - -## [2.0.0] – 2024-03-08 - -### Added - -Additionally to the “simulation flow” released in the version 1.0.0 this version was extended by “scenario flow” - -- Adoption View: - - Business process for scenario related data exchange - - MaterialFlowScenarioRequest aspect model -- Development View: - - requestScenarioFeedback API - - receiveScenarioFeedback API - - pushScenarioState API - -### Changed - -- n/a - -### Removed - -- n/a - -## [1.0.0] - 2023-08-18 - -### Added - -- Initial version of the Kit including adoption and development view - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md deleted file mode 100644 index 4b77ce860b0..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md +++ /dev/null @@ -1,255 +0,0 @@ ---- -id: Specification -title: Specification -description: 'PCF-Exchange-KIT' -sidebar_position: 3 ---- - -## Introduction - -The developer view provides a detailed guide on how to utilize the PCF exchange KIT effectively. Developer will learn how to integrate the kit into there applications and make use of the feature of exchanging PCF values via the Catena-X network. -IT-Administrators will learn how they need to provide PCF data and which components are needed therefore. - -This Kit covers various aspects, starting from how utilize the available API Endpoints, the used data models and how to make them available to the Catena-X network. - -## Building Block View - -The following figure shows the current high level architecture of the use case PCF exchange. It is build on an asynchronous data exchange. - -![Building Block View](../resources/development-view/BuildingblockView.png) - -## Sequence View - -The following chapter illustrates the process from searching for an EDC point, to querying a PCF value, and finally transmitting the requested value. - -### EDC Discovery and dDTR Access - -For receiving the EDC Endpoints for a requested partner, the EDC Discovery Service is used, following the [CX-0001]([test](https://catena-x.net/de/standard-library)) Standard. For receiving endpoints, at least the BPN-L needs to be known to get the related endpoints. For more details the used Catena-X Standard is linked. - -![EDCDiscoveryAndDTRAccess](../resources/development-view/EDCDiscoveryanddDTRAccess.png) - -### PCF Request - -To actual request PCF values via the PCF API endpoint first of all the EDC PCF asset needs to be identified. Therefore the decentralized Digital Twin Registry (dDTR) is used. Data provider must register their dDTR(s) as EDC assets following the CX-0002 standard. After identifying the dDTR the Digital Twin with the related PCF submodel can be looked up (see [API calls [0003 +0004]](#api-calls)). An example is documented [here](#payload-for-requesting-pcf-sub-model). - -After successfully locating the corresponding material twin containing a PCF submodel, the EDC asset containing the PCF request endpoint cen be extracted (Example Payload can be found [here](#payload-for-edc-data-asset-pcf)) and the query for a PCF dataset can be initiated, as illustrated in the attached sequence diagram. - -![PCF Request](../resources/development-view/PCFRequestthroughAAS.png) - -In case no matching material twin or PCF submodel exists, the flow falls back to a direct lookup of an EDC asset containing the PCF request endpoint provided within the offers of any EDC registered for the Data provider's BPNL. - -![PCF Request without Twin or Submodel](../resources/development-view/PCFRequestWithoutTwinOrSubmodel.png) - ->**Note** -> The API Wrapper shown in the sequence diagrams is optional. The management API of the EDC can also be used directly. - -### PCF Update - -The sequence diagram provided below presents an example of a PCF update flow. An update is feasible only for assets that have been previously requested at least once, as demonstrated in [PCF Request](#sequence-view). Proactive updates without a prior request are not achievable with the current version. - -![PCF Update](../resources/development-view/PCFUpdatepushthroughEDC.png) - -#### API Calls - -| Call | Method | Path | Param | -|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------| -| [001](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20EDC%20Discovery/post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors) (Look up EDC Endpoints) | POST | /api/administration/Connectors/discovery/ | `[]` | -| [002](https://eclipse-tractusx.github.io/docs-kits/next/kits/tractusx-edc/docs/samples/management-api-v2-walkthrough/catalog) (Look up dDTR) | POST | /v2/catalog/request-->Lookup Asset in the EDC catalog (EDC asset type data.core.digitalTwinRegistry) | | -| [003](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Discovery/get-all-asset-administration-shell-ids-by-asset-link) (Lookup Twin ID) | GET | /lookup/shells | `assetIds= [{"key": "manufacturerPartId", "value":"mat345",{"key":"assetLifecyclePhase", "value": "AsPlanned"}}]` | -| [004](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Registry/get-all-asset-administration-shell-descriptors) (Look Up PCF Submodel/EDC Asset ID) | GET | /shell-descriptors | `{DIGITAL TWIN ID}` | -| [005](../resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml) (Requesting PCF Value) | GET | /productIds | {productId} | -| [006](../resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml) (Sending PCF Value) | PUT | /productIds | {productId} | - -- The assetIds under [003] must be base64 encoded! -- When responding on PCF exchange request the "requestID" is mandatory in the PUT call. -- When sharing a PCF update the "requestID" is NOT allowed in the PUT call. -- The EDC asset used to receive PCF is NOT looked up through AAS, but identified by type ("data.pcf.exchangeEndpoint"). -- The Open API specification defining all mandatory PCF Exchange endpoints and the da structures transfered through those can be found [here](../resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml) - -##### Payload for Requesting PCF Sub Model - -The following JSON shows the structure of a registered PCF submodel in the DTR. The subprotocolBody is used for asset bundling. For this, the CX Standard [CX-0002](https://catena-x.net/de/standard-library) is to be followed. - -The digital twin id can be searched via the `manufacturerPartId` and the ``assetLifecyclePhase:"asPlanned"``. Alternatively `manufacturerPartId` and the ``digitalTwinType:"PartType"`` can be used. - -The sub-model PCF must be registered with the ``idshort: PCFExchangeEndpoint``. - -```json -{ - "description": [ - { - "language": "en", - "text": "PCF endpoint for material 'mat345'" - } - ], - "idShort": "PCFExchangeEndpoint", - "identification": "urn:uuid:205cf8d1-8f07-483c-9c5b-c8d706c7d05d", - "semanticId": { - "value": [ - "urn:samm:io.catenax.pcf:5.0.0#Pcf" - ] - }, - "endpoints": [ - { - "interface": "PCF-1.0.0", - "protocolInformation": { - "href": "https://edc.data.plane/productIds/mat345", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": ["1.1"], - "subprotocol": "DSP", - "subprotocolBody": "id=c34018ab-5820-4065-9087-416d78e1ab60;dspEndpoint=https://some.controlplane.url:7173", - "subprotocolBodyEncoding": "plain" - } - } - ] -} -``` - -#### Payloads for EDC Asset - -##### Payload for EDC Data Asset PCF - -The following JSON shows the the EDC Asset for PCF defined in the EDC using the asset bundling mentioned under [Payload for Requesting PCF Sub Model](#api-calls). - -```json -{ - "@type": "edc:AssetEntryDto", - "edc:asset": { - "@id": "c34018ab-5820-4065-9087-416d78e1ab60", - "edc:properties": { - "rdfs:label": "PCF Data", - "rdfs:comment": "Endpoint for PCF data", - "dcat:version": "1.0.0", - "cx-common:version": "1.0.0", - "aas-semantics:semanticId": "urn:samm:io.catenax.pcf:5.0.0#Pcf", - "edc:contentType": "application/json", - "edc:type": "data.pcf.exchangeEndpoint", - "dct:type": {"@id":"cx-taxo:data.pcf.exchangeEndpoint"} - }, - "edc:privateProperties": null, - - "edc:dataAddress": { - "edc:type": "edc:HttpData", - "edc:baseUrl": "https://some.url/service", - "edc:proxyBody": "true", - "edc:proxyPath": "true", - "edc:proxyQueryParams": "true", - "edc:proxyMethod": "true", - "edc:contentType": "application/json" - } - } -} -``` - -#### Payload for EDC Policy - -The following JSON is an policy definition including the policy "frameworkagreement pcf" and membership. The [frameworkagreement document](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_PCF.pdf) is published via the association and are available via the Catena-X homepage. The membership credential is automatically created after finishing successfully the onboarding process. - -##### Payload to create a SSI based Policy - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "{{POLICY_ID}}", - "policy": { - "@type": "Policy", - "odrl:permission": [ - { - "odrl:action": "USE", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:and": [ - { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - }, - { - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.pcf", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - } - ] - } - } - ] - } -} -``` - -For more examples how to define policies with SSI have a look [here](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md). - -#### Payload Contract Definition - -```json -{ - "@id": "54ef3326-42b2-4221-8c5a-3a6270d54db8", - "edc:accessPolicyId": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", - "edc:contractPolicyId": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", - "edc:assetsSelector":[ - { - "@type": "Criterion", - "edc:operandLeft": "@id", - "edc:operator": "=", - "edc:operandRight": "c34018ab-5820-4065-9087-416d78e1ab60" - } - ] -} -``` - -## Error Handling - -In case no material twin or no PCF submodel is found, EDC Asset type has to be used to find the Endpoint needed to perform the PCF request. - -## Standards - -### Used CX Standards - -- [CX-0001 EDC Discovery API v1.0.2](https://catena-x.net/de/standard-library) -- [CX-0002 Digital Twins in Catena-X v2.2.0](https://catena-x.net/de/standard-library) -- [CX-0003 SAMMSemanticAspectMetaModel v1.0.0](https://catena-x.net/de/standard-library) -- [CX-0006 RegistrationAndInitialOnBoarding v1.1.3](https://catena-x.net/de/standard-library) -- [CX-0013 Identity of Member Companies v1.1.0](https://catena-x.net/de/standard-library) -- [CX-0014 Employees and Technical Users v1.0.1](https://catena-x.net/de/standard-library) -- [CX-0016 Company Attribute Verification v1.1.0](https://catena-x.net/de/standard-library) -- [CX-0017 Company Role by the Connector v1.1.0](https://catena-x.net/de/standard-library) -- [CX-0018 Eclipse Data Space Connector (EDC) v2.1.0](https://catena-x.net/de/standard-library) -- [CX-0026 Product Carbon Footprint Data Model v2.0.0](https://catena-x.net/de/standard-library) -- [CX-0028 Product Carbon Footprint Request API v2.0.0](https://catena-x.net/de/standard-library) -- [CX-0029 Product Carbon Footprint Rulebook v2.0.0](https://catena-x.net/de/standard-library) -- [CX-0049 DID Document Schema v1.0.0](https://catena-x.net/de/standard-library) -- [CX-0050 Framework Agreement Credential v1.0.0](https://catena-x.net/de/standard-library) -- [CX-0051 Summary Credential v1.0.0](https://catena-x.net/de/standard-library) - -## Other Standards - -- [Pathfinder Framework - v2.0.0](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20230221) - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023, 2024 SAP SE -- SPDX-FileCopyrightText: 2023, 2024 SIEMENS AG -- SPDX-FileCopyrightText: 2023, 2024 SUPPLY ON AG -- SPDX-FileCopyrightText: 2023, 2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023, 2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2023, 2024 BASF SE -- SPDX-FileCopyrightText: 2023, 2024 CCT -- SPDX-FileCopyrightText: 2023, 2024 Gris Group -- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation -- [Source URL](https://github.com/eclipse-tractusx/pcf-exchange-kit) diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx deleted file mode 100644 index 03a914c8d55..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint.info.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -id: catena-x-pcf-request-endpoint -title: "Catena-X-pcf-request-endpoint" -description: " A API for request, send and update PCF data" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import SchemaTabs from "@theme/SchemaTabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 1.0.0 - -# Catena-X-pcf-request-endpoint - - -A API for request, send and update PCF data via the Catena-X Network. diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx deleted file mode 100644 index aa12e00f993..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf.api.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: get-pcf -title: "get_pcf" -description: "get_pcf" -sidebar_label: "get_pcf" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"get_pcf","parameters":[{"name":"productId","description":"ID of the product/materiual the PCF is requested for","example":"SomeProductID","in":"path","required":true,"schema":{"type":"string"}},{"name":"BPN","description":"The caller's Catena-X BusinessPartnerNumber","example":"BPN9354218404L","in":"query","required":true,"schema":{"type":"string"}},{"name":"requestId","description":"ID identifying the call (will be referenced in corresponding PCF response)","example":"X374e9453K","in":"query","required":true,"schema":{"type":"string"}},{"name":"message","in":"query","required":false,"description":"URL encoded, max 250 chars","example":"No%20offset%20included%2C%20please%21","schema":{"type":"string"}}],"responses":{"202":{"description":"PCF was accepted. PCF will be sent later via to POST endpoint."}},"description":"get_pcf","method":"get","path":"/productIds/{productId}","info":{"title":"Catena-X-pcf-request-endpoint","version":"1.0.0"},"postman":{"name":"get pcf","description":{"type":"text/plain"},"url":{"path":["productIds",":productId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The caller's Catena-X BusinessPartnerNumber","type":"text/plain"},"key":"BPN","value":""},{"disabled":false,"description":{"content":"(Required) ID identifying the call (will be referenced in corresponding PCF response)","type":"text/plain"},"key":"requestId","value":""},{"disabled":false,"description":{"content":"URL encoded, max 250 chars","type":"text/plain"},"key":"message","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ID of the product/materiual the PCF is requested for","type":"text/plain"},"type":"any","value":"","key":"productId"}]},"method":"GET"}} -sidebar_class_name: "get api-method" -info_path: docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api//catena-x-pcf-request-endpoint -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## get_pcf - - - -get_pcf - -
                Path Parameters
                Query Parameters
                - -PCF was accepted. PCF will be sent later via to POST endpoint. - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx deleted file mode 100644 index d7c96e921c3..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf.api.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: set-pcf -title: "set_pcf" -description: "set_pcf" -sidebar_label: "set_pcf" -hide_title: true -hide_table_of_contents: true -api: {"operationId":"set_pcf","parameters":[{"name":"productId","description":"ID of the product/materiual the PCF referring to","example":"SomeProductID","in":"path","required":true,"schema":{"type":"string"}},{"name":"BPN","description":"The caller's Catena-X BusinessPartnerNumber","example":"BPN83456784L","in":"query","required":true,"schema":{"type":"string"}},{"name":"requestId","description":"ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call.","example":"X374e9453K","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"description":"The requested PCF in WBCSD format","required":true,"content":{"application/json":{"schema":{"description":"A Product (Carbon) Footprint represents the carbon footprint of a product with values as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative.","type":"object","properties":{"id":{"description":"Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"specVersion":{"description":"Mandatory: Version of the product footprint data specification as defined in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"partialFullPcf":{"description":"Mandatory: Indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook.","type":"string","enum":["Cradle-to-gate","Cradle-to-grave"]},"precedingPfIds":{"description":"Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as \"optional\" in WBCSD, needs to be covered by application.","type":"array","items":{"description":"Entity for defining a preceding PCF (Product Carbon Footprint) identifier entity as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"id":{"description":"Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},"required":["id"]},"uniqueItems":true,"minItems":1},"version":{"description":"Mandatory: Version of the product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"0\" per default.","type":"number","minimum":0},"created":{"description":"Mandatory: Timestamp of the creation of the Product (Carbon) Footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"extWBCSD_pfStatus":{"description":"Mandatory: Status indicator of a product (carbon) footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example set to \"Active\" per default.","type":"string","enum":["Active","Deprecated"]},"validityPeriodStart":{"description":"Optional: Start of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. If specified, the validity period start must be equal to or greater than the reference period end.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"validityPeriodEnd":{"description":"Optional: End of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"comment":{"description":"Optional: Additional information and instructions related to the calculation of the product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"companyName":{"description":"Mandatory: Name of the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","minLength":1},"companyIds":{"description":"Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"type":"string","format":"uri","description":"Characteristic for defining a company identifier in context of a product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."},"uniqueItems":true,"minItems":1},"productDescription":{"description":"Optional: Free-form description of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"productIds":{"description":"Mandatory: Non-empty set of product identifiers. Each value is supposed to uniquely identify the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"type":"string","format":"uri","description":"Characteristic for defining a product identifier in context of a product (carbon) footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."},"uniqueItems":true,"minItems":1},"extWBCSD_productCodeCpc":{"description":"Mandatory: UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product as specified the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, which will probably be declared as \"optional\" in a later WBCSD specification version. In Catena-X for example specified with default value \"011-99000\".","type":"string"},"productName":{"description":"Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","minLength":1},"pcf":{"description":"A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"declaredUnit":{"description":"Mandatory: Unit of analysis of a product in context of the PCF (product carbon footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example list of valid units includes \"piece\".","type":"string","enum":["liter","kilogram","cubic meter","kilowatt hour","megajoule","ton kilometer","square meter","piece"]},"unitaryProductAmount":{"description":"Mandatory: Amount of units contained within a product in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":true},"productMassPerDeclaredUnit":{"description":"Mandatory: Mass of a product per declared unit in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"exemptedEmissionsPercent":{"description":"Mandatory: Percentage of emissions excluded from PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":5,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"exemptedEmissionsDescription":{"description":"Optional: Rationale behind exclusion of specific PCF (Product Carbon Footprint) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"boundaryProcessesDescription":{"description":"Optional: Processes attributable to each lifecycle stage as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"},"geographyCountrySubdivision":{"description":"Optional: Subdivision of a country which must be an ISO 3166-2 subdivision code as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"([A-Z]{2}-[A-Z0-9]{1,3}|)"},"geographyCountry":{"description":"Optional: Two letter country code that must conform to data type ISO 3166CC as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"([A-Z]{2})"},"geographyRegionOrSubregion":{"description":"Mandatory: Region according to list as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","enum":["Africa","Americas","Asia","Europe","Oceania","Australia and New Zealand","Central Asia","Eastern Asia","Eastern Europe","Latin America and the Caribbean","Melanesia","Micronesia","Northern Africa","Northern America","Northern Europe","Polynesia","South-eastern Asia","Southern Asia","Southern Europe","Sub-Saharan Africa","Western Asia","Western Europe","Global"]},"referencePeriodStart":{"description":"Mandatory: Start of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"referencePeriodEnd":{"description":"Mandatory: End of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"crossSectoralStandardsUsed":{"description":"Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entity for defining an accounting standard used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"crossSectoralStandard":{"description":"Mandatory: Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","enum":["GHG Protocol Product standard","ISO Standard 14067","ISO Standard 14044"]}},"required":["crossSectoralStandard"]}},"productOrSectorSpecificRules":{"description":"Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or pubishers and according rule names as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entity for defining a product or sector specific rule of a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"extWBCSD_operator":{"description":"Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example must always be \"Other\".","type":"string","enum":["PEF","EPD International","Other"]},"productOrSectorSpecificRules":{"description":"Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Name of a rule applied by a specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"ruleName":{"description":"Name of a rule applied by a specific operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string","minLength":1}},"required":["ruleName"]},"uniqueItems":true,"minItems":1},"extWBCSD_otherOperatorName":{"description":"Optional: Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a default value.","type":"string","minLength":1}},"required":["extWBCSD_operator","productOrSectorSpecificRules"]},"uniqueItems":true},"extWBCSD_characterizationFactors":{"description":"Mandatory: IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"AR6\".","type":"string","enum":["AR5","AR6"]},"extWBCSD_allocationRulesDescription":{"description":"Optional: Allocation rules used and underlying reasoning in context of a product carbon footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"In accordance with Catena-X PCF Rulebook\".","type":"string"},"extTFS_allocationWasteIncineration":{"description":"Mandatory: Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value \"cut-off\".","type":"string","enum":["cut-off","reverse cut-off","system expansion"]},"primaryDataShare":{"description":"Mandatory starting 2025: Share of primary data in percent as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":100,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"secondaryEmissionFactorSources":{"description":"Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"array","items":{"description":"Entitiy for defining an emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"secondaryEmissionFactorSource":{"description":"Mandatory: Emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"string"}},"required":["secondaryEmissionFactorSource"]},"uniqueItems":true},"dataQualityRating":{"description":"Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"object","properties":{"coveragePercent":{"description":"Optional: Percentage of PCF (Product Carbon Footprint) included in the data quality assessment based on the >5% emissions threshold as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"100\" per default.","type":"number","maximum":100,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"technologicalDQR":{"description":"Mandatory starting 2025: Technological representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"temporalDQR":{"description":"Mandatory starting 2025: Temporal representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"geographicalDQR":{"description":"Mandatory starting 2025: Geographical representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"completenessDQR":{"description":"Mandatory starting 2025: Completeness of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false},"reliabilityDQR":{"description":"Mandatory starting 2025: Reliability of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","maximum":3,"exclusiveMaximum":false,"minimum":1,"exclusiveMinimum":false}}},"extWBCSD_packagingEmissionsIncluded":{"description":"Mandatory: Flag indicating whether packaging emissions are included in a PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example value is \"TRUE\" per default.","type":"boolean"},"pcfExcludingBiogenic":{"description":"Mandatory: Product carbon footprint of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"pcfIncludingBiogenic":{"description":"Mandatory starting 2025: Product carbon footprint of a product including biogenic emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Optional value in current specification version but will be mandatory in future version.","type":"number"},"fossilGhgEmissions":{"description":"Mandatory starting 2025: Emissions from combustion of fossil sources as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Identical to \"pcfExcludingBiogenic\", will be removed in later version.","type":"number","minimum":0,"exclusiveMinimum":false},"biogenicCarbonEmissionsOtherThanCO2":{"description":"Mandatory starting 2025: GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. For specification see Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"biogenicCarbonWithdrawal":{"description":"Mandatory starting 2025: Biogenic carbon content in the product converted to CO2e as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"dlucGhgEmissions":{"description":"Mandatory starting 2025: Direct land use change CO2e emissions in context of a product carbon footprint as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"extTFS_luGhgEmissions":{"description":"Mandatory starting 2025: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.","type":"number","minimum":0,"exclusiveMinimum":false},"aircraftGhgEmissions":{"description":"Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"extWBCSD_packagingGhgEmissions":{"description":"Optional: Emissions resulting from the packaging of the product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example value is zero per default.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStagePcfExcludingBiogenic":{"description":"Optional: Product carbon footprint for the distribution stage of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStagePcfIncludingBiogenic":{"description":"Optional: Product carbon footprint for the distribution stage of a product including biogenic emissions as specified in the Catena-X PCF Rulebook.","type":"number"},"distributionStageFossilGhgEmissions":{"description":"Optional: Emissions from the combustion of fossil sources in the distribution stage as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageBiogenicCarbonEmissionsOtherThanCO2":{"description":"Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2 ? excludes biogenic CO2. For specification see Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageBiogenicCarbonWithdrawal":{"description":"Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product) as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"extTFS_distributionStageDlucGhgEmissions":{"description":"Optional: Direct land use change CO2 emissions during distribution stage in context of a product carbon footprint as specified in the Catena-X PCF Rulebook. TFS specific extension.","type":"number","minimum":0,"exclusiveMinimum":false},"extTFS_distributionStageLuGhgEmissions":{"description":"Optional: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.","type":"number","minimum":0,"exclusiveMinimum":false},"carbonContentTotal":{"description":"Mandatory starting 2025: Total carbon content per declared unit in context of a product carbon footprint as specified in the Catena-X PCF Rulebook.","type":"number","minimum":0,"exclusiveMinimum":false},"extWBCSD_fossilCarbonContent":{"description":"Optional: Fossil carbon amount embodied in a product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a calculated value.","type":"number","minimum":0,"exclusiveMinimum":false},"carbonContentBiogenic":{"description":"Mandatory starting 2025: Biogenic carbon amount embodied in a product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false},"distributionStageAircraftGhgEmissions":{"description":"Optional: GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.","type":"number","minimum":0,"exclusiveMinimum":false}},"required":["declaredUnit","unitaryProductAmount","productMassPerDeclaredUnit","exemptedEmissionsPercent","geographyRegionOrSubregion","referencePeriodStart","referencePeriodEnd","crossSectoralStandardsUsed","productOrSectorSpecificRules","extWBCSD_characterizationFactors","extTFS_allocationWasteIncineration","secondaryEmissionFactorSources","extWBCSD_packagingEmissionsIncluded","pcfExcludingBiogenic"]},"pcfLegalStatement":{"description":"Optional: Option for legal statement/ disclaimer as specified in the Catena-X PCF Rulebook.","type":"string"}},"required":["id","specVersion","partialFullPcf","version","created","extWBCSD_pfStatus","companyName","companyIds","productIds","extWBCSD_productCodeCpc","productName","pcf"]}}}},"responses":{"200":{"description":""}},"description":"set_pcf","method":"put","path":"/productIds/{productId}","jsonRequestBodyExample":{"id":"string","specVersion":"string","partialFullPcf":"Cradle-to-gate","precedingPfIds":[{"id":"string"}],"version":0,"created":"string","extWBCSD_pfStatus":"Active","validityPeriodStart":"string","validityPeriodEnd":"string","comment":"string","companyName":"string","companyIds":["string"],"productDescription":"string","productIds":["string"],"extWBCSD_productCodeCpc":"string","productName":"string","pcf":{"declaredUnit":"liter","unitaryProductAmount":0,"productMassPerDeclaredUnit":0,"exemptedEmissionsPercent":0,"exemptedEmissionsDescription":"string","boundaryProcessesDescription":"string","geographyCountrySubdivision":"string","geographyCountry":"string","geographyRegionOrSubregion":"Africa","referencePeriodStart":"string","referencePeriodEnd":"string","crossSectoralStandardsUsed":[{"crossSectoralStandard":"GHG Protocol Product standard"}],"productOrSectorSpecificRules":[{"extWBCSD_operator":"PEF","productOrSectorSpecificRules":[{"ruleName":"string"}],"extWBCSD_otherOperatorName":"string"}],"extWBCSD_characterizationFactors":"AR5","extWBCSD_allocationRulesDescription":"string","extTFS_allocationWasteIncineration":"cut-off","primaryDataShare":0,"secondaryEmissionFactorSources":[{"secondaryEmissionFactorSource":"string"}],"dataQualityRating":{"coveragePercent":0,"technologicalDQR":0,"temporalDQR":0,"geographicalDQR":0,"completenessDQR":0,"reliabilityDQR":0},"extWBCSD_packagingEmissionsIncluded":true,"pcfExcludingBiogenic":0,"pcfIncludingBiogenic":0,"fossilGhgEmissions":0,"biogenicCarbonEmissionsOtherThanCO2":0,"biogenicCarbonWithdrawal":0,"dlucGhgEmissions":0,"extTFS_luGhgEmissions":0,"aircraftGhgEmissions":0,"extWBCSD_packagingGhgEmissions":0,"distributionStagePcfExcludingBiogenic":0,"distributionStagePcfIncludingBiogenic":0,"distributionStageFossilGhgEmissions":0,"distributionStageBiogenicCarbonEmissionsOtherThanCO2":0,"distributionStageBiogenicCarbonWithdrawal":0,"extTFS_distributionStageDlucGhgEmissions":0,"extTFS_distributionStageLuGhgEmissions":0,"carbonContentTotal":0,"extWBCSD_fossilCarbonContent":0,"carbonContentBiogenic":0,"distributionStageAircraftGhgEmissions":0},"pcfLegalStatement":"string"},"info":{"title":"Catena-X-pcf-request-endpoint","version":"1.0.0"},"postman":{"name":"set pcf","description":{"type":"text/plain"},"url":{"path":["productIds",":productId"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) The caller's Catena-X BusinessPartnerNumber","type":"text/plain"},"key":"BPN","value":""},{"disabled":false,"description":{"content":"ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call.","type":"text/plain"},"key":"requestId","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) ID of the product/materiual the PCF referring to","type":"text/plain"},"type":"any","value":"","key":"productId"}]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "put api-method" -info_path: docs-kits/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api//catena-x-pcf-request-endpoint -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## set_pcf - - - -set_pcf - -
                Path Parameters
                Query Parameters
                Request Body required
                - -The requested PCF in WBCSD format - -
                  precedingPfIds object[]
                  - -**Possible values:** `>= 1` - -
                  - -Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as "optional" in WBCSD, needs to be covered by application. - -
                  = 1`"} defaultValue={undefined}>= 1`"} defaultValue={undefined}>
                  pcf object required
                  - -A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  crossSectoralStandardsUsed object[] required
                  - -Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  productOrSectorSpecificRules object[] required
                  - -Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or pubishers and according rule names as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  productOrSectorSpecificRules object[] required
                  - -**Possible values:** `>= 1` - -
                  - -Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  secondaryEmissionFactorSources object[] required
                  - -Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  dataQualityRating object
                  - -Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. - -
                  5% emissions threshold as specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to \"100\" per default."} schemaName={"number"} qualifierMessage={"**Possible values:** `<= 100`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>5% of PCF emissions. Specified in the Catena-X PCF Rulebook in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 3`"} defaultValue={undefined}>
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js deleted file mode 100644 index e6c25a0e6e8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/catena-x-pcf-request-endpoint"},{"type":"category","label":"PCF Exchange API","items":[{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/get-pcf","label":"get_pcf","className":"api-method get"},{"type":"doc","id":"kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/set-pcf","label":"set_pcf","className":"api-method put"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/changelog.md b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/changelog.md deleted file mode 100644 index f5f3208a4cb..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/changelog.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -id: PCF Exchange Kit Changelog -title: Changelog -description: 'PCF Exchange Kit' -sidebar_position: 1 ---- -## PCF Exchange KIT - -All notable changes to this Kit will be documented in this file. - -## [1.0.0] - 2024-03-08 - -### Added - -* Flow description in case no material twin or PCF submodel exists -* Versions of referenced standards - -### Changed - -* Open API updated to version 1.0.0 (Rel.24.03) -* Asset and Policy definitions updated -* Link to Framework Agreement updated -* Minor bugs fixed - -### Removed - -N/A - -## [0.1.0] - 2023-08-23 - -### Added - -Initial Version of the PCF exchange KIT including adoption and development view incl. all relevant API specifications. - -### Changed - -N/A - -### Removed - -N/A diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_adoption-view.md deleted file mode 100644 index b9340e47319..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_adoption-view.md +++ /dev/null @@ -1,534 +0,0 @@ ---- -id: Adoption View -title: Adoption View -description: 'PCF-Exchange-KIT' -sidebar_position: 2 ---- - -## Introduction - -Sustainability has become increasingly important in the automotive industry in recent years. In particular, the topic of CO2 emissions is the focus of interest, and the product-specific CO2 footprint (PCF: product carbon footprint) has developed into a key indicator for sustainable product design and supply chains. Accordingly, there is a need to determine this data as precisely as possible across the automotive supply chain and to exchange it among partners in the network. This requires appropriate standards for calculation and exchange of data. - -In this context, Catena-X offers a decentralized ecosystem supported by standards and principles like data sovereignty, which can effectively implement such a PCF data exchange. The PCF KIT will be the key enabler for various stakeholders to calculate and exchange PCF data in a standardized format. The objective of the PCF KIT is therefore to: - -- Provide a comprehensive overview about the methods and tools for a PCF data exchange in the Catena-X dataspace. -- Offer various standards and guidelines for industry stakeholders. -- Provide a detailed description of the essential components required. - -## Vision & Mission - -### Vision - -Report and steer the de-carbonization of our value chain with dedicated measures based on real PCF values, without compromising upstream data sovereignty. - -### Mission - -Addressing supply chain carbon emissions today is missing reliable data about baseline emissions, effect of reductions, and best practices. This is due to three reasons: - -- Complexity of supply chains leading to huge amount of data: complex supply chains spanning different countries and actors from many industries lead to huge amounts of data. - -- Lack of Trust: Unwillingness to share data because of risk of losing competitive advantage, because data is shared with competitors. - -- Missing standards for measuring carbon emissions in a comparable way. - -At the core of our project is the recognition of a current challenge - the lack of transparency and accessibility to real PCF information in supply chains. Through our project, we strive to bridge this information gap by establishing a trusted and collaborative and interoperable environment. Suppliers will have the opportunity to share their PCF data with confidence, knowing that it remains sovereign and under their control. - -We will address this by working on trustworthy ecosystem that prioritizes data sovereignty, security, and collaboration on standards. Therefore, our mission is to revolutionize the supply chain industry by providing a platform where suppliers can securely share their primary Product Carbon Footprint (PCF) data throughout the supply chain. - -We are guided by the following principles: - -- **Building trust** by making clear rules for data exchange and by pre-agreed data contracts between partners in the value chain. -- Building trust through **data sovereignty and data security**. We will build an ecosystem to share minimal data on a need-to-know basis, incorporating 3rd party verification by trusted partners. Decentralized architectures ensure that data remains within companies and is only shared with authorized persons as needed. -- **Governance** on the principles of mutual collaboration in the automotive industry and across with all relevant actors of the value chain on the principle of equality between partners, involving relevant outside stakeholders and the scientific community. -- **Flexibility and interoperability** by building an ecosystem of interoperable apps based on open standards. Collaborative standards for collecting, calculating, and sharing emission and product data make these processes more efficient and comparable. -- **Scalability** and manageability of large amounts of data. Decentralized data ecosystems can handle and scale large amounts of data, as decentralized structures are created as required by participating companies. - -## Business Process - -### Premises and assumptions - -We assume that the calculation and exchange of PCF data is “new territory” for many companies. In large or larger enterprises (e.g., OEM or Tier-1 suppliers), the topic of sustainability with its various facets has been on the agenda for several years now. Appropriate structures and organizations were set up there. In this respect, it can be assumed that they have the expertise and resources for a PCF calculation. Corresponding, self-developed IT tools can also be found there. We cannot expect this for small and medium-sized enterprises (SMEs). In particular small companies often lack the knowledge and resources to calculate a PCF. - -The following premises are therefore relevant for the following customer journeys: - -- A PCF calculation requires expert or at least in-depth knowledge. -- A PCF calculation is currently mostly created manually; automation is not common or possible in most cases. -- Automation is also not yet feasible because there are no concepts or standards for verifying PCF data. -- Due to the (manual) effort, PCF calculation and data exchange will initially only be carried out for selected products. - -Accordingly, the presented customer journeys are characterized by manual process steps. However, as the topic becomes more widely known in the automotive supply chain (especially among SMEs), greater automation should be sought. This is the only way to represent a larger (ideally the entire) range of products. - -### Overview - -The scope of our business process is the calculation and the exchange of Product Carbon Footprint (PCF) data across the supply chain for parts / components that are already in series production (→ "after start of production (SOP)"). One can therefore assume that a real supply chain already exists for this part / component. - -To describe the process, we defined two customer journeys: - -1. The customer journey “PCF data exchange” describes an asynchronous communication process: A customer requests the PCF from their supplier for a component (“PCF Request”), and the supplier provides the requested data (“PCF Response”). -2. If necessary, the requested PCF data must first be determined; this leads to the second customer journey “PCF calculation”. - -The exchange-process is initiated top-down (e.g., at the OEM; but it can also start at any level of the supply chain), starting with a request of a customer to the supplier. It could then be continued step by step throughout the entire tier-n supply chain. Ideally, the entire supply chain (or actually: the entire supply tree) would be covered via this cascading request/response process. The result would be a PCF that is 100% based on requested and reported data. - -![PCF Request and Response](resources/adoption-view/PCFRequestandResponse.png) - -In the real world, this will not be implemented this way, at least in the short and medium term. It can be assumed that this process and information chain will break down at certain points in the supply chain. There, data is not requested, but is calculated using secondary data, as is standard procedure these days. There can be various reasons for this: - -- The affected part of the supply chain is only of minor relevance to the PCF; the effort required to determine the real data would therefore not be worthwhile. -- The supplier cannot or does not want to provide corresponding data. - -However, it is important that a PCF value reported from a supplier to its customer always represents the entire supply chain behind it. Therefore, the following data is recorded in a PCF calculation and aggregated to form the resulting PCF: - -- direct emissions, that are generated in the supplier's own production system ("Scope 1") -- indirect emissions from purchased energy ("Scope 2") -- upstream emissions caused by purchased products from the upstream supply chain ("Scope 3") - -![Scope of Catena-X Use Case](resources/adoption-view/ScopeofCatena-XUseCase.png) - -The data for direct and indirect emissions will usually come from internal data sources, as these emission-shares are generated in the supplier's own production system. The upstream emissions ("Scope 3") can either be requested from the respective sub-supplier. Or it could be calculated, e.g., by using information from eco-databases. Putting all together, the transparency on the PCF for a given part or component is created through a cascade of top-to-bottom PCF requests, and a cascade of aggregated PCF data from bottom to top. - -### Customer Journey "PCF Data Exchange" - -This customer journey describes the exchange of PCF data in an asynchronous request/response process. - -![PCF Data Exchange Overview](resources/adoption-view/PCFDataExchangeOverview.png) - -PCF data is exchanged between a data consumer (e.g., supplier on tier n) and a data provider (e.g., supplier on tier n+1). It is basically an asynchronous request/response process that is started by the data consumer: - -- The data consumer realizes that he needs the PCF for a specific component and that this data is not available in his local data (or is not of sufficient quality). -- With his PCF Data exchange tool, the data consumer checks whether the required PCF data is available via Catena-X (from a technical perspective, this means that there is already a digital twin for the component and that the PCF submodel is available for this twin). If so, the tool would “fetch up” this data. If not, the user can request this data from the supplier as described in the next steps. -- The data consumer submits a “PCF request” (according to the standardized API [CX-0028](https://catena-x.net/de/standard-library)) to his supplier. In doing so, he asks the supplier to provide PCF data for the specific component, which was determined in accordance with the requirements of the Catena-X PCF Rulebook ([CX-0029](https://catena-x.net/de/standard-library)). - -With this request, the process temporarily ends for the data consumer. The ball is now in the data provider's playing field.: - -- The data provider receives the PCF request (message/display in his PCF data exchange tool). To answer this request, he takes the following steps: -- The data provider checks whether the requested data is already available (i.e., whether the PCF has already calculated in the past but has not yet been provided to the customer). -- If the data is not yet available, the data provider must create it first. At this point, he starts the “PCF calculation” subjourney (see [below](#customer-journey-pcf-calculation)). At the end of this subjourney, the PCF data is available, and the provider can answer the original request with the next steps. -- The data provider sends a PCF Response (according to the standardized API see [CX-0028](https://catena-x.net/de/standard-library)) to the data consumer. At the same time, the data is made available in Catena-X (which means from a technical perspective, that a PCF submodel is attached to the corresponding digital twin of the component). - -For the data provider, the process is now over, and the consumer's request has been answered with the response. Now follow a few more steps on the consumer side. - -- The data consumer, who sent the initial PCF request, now receives the PCF response (message/display in his PCF data exchange tool). -- With the data exchange tool, the consumer can access and “pick up” the PCF data, according to the standardized PCF data model (see [Semantic Model](#semantic-models)). - ->**Remark:** ->There are currently no options for data verification or acceptance/rejection of transmitted data at this stage in the process. These topics are currently still being discussed at Catena-X association level and are therefore not yet covered in the processes and tools. This will only happen with later releases. - -- The data consumer can now transfer this data to his internal systems/databases (e.g., a PCF calculation tool), and use it for the internal business processes (e.g., PCF calculation or reporting). -This ends this customer journey. - -### Customer Journey “PCF Calculation” - -This customer journey describes the calculation of a [CX Rulebook-compliant PCF](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Standard_PDF_Feb._2023/1_Sustainability_v1.0/CX_-_0029_PCF_Rulebook_UseCaseSustainability_v_1.0.0.pdf), with some of the required data obtained via the Catena-X network. - -![PCF Calculation](resources/adoption-view/PCFCalculation.png) - -The calculation process will often be triggered by an incoming PCF request (see subjourney "[PCF data exchange](#customer-journey-pcf-data-exchange)", step 6). But of course, a PCF calculation can also be carried out proactively without a corresponding request via PCF Request. -To determine a PCF, an appropriate calculation tool is usually used, which guides the user through the process and ensures that all relevant data is taken into account. We will limit ourselves here to a generic, tool-independent presentation of the most important steps. - -1. Make a plan: What are the different components of the PCF? Where can I get the relevant data from? -→ This structuring should be supported by an appropriate process in the calculation tool. -2. Put the direct emissions from the production site (e.g., use of natural gas or fuels) into the calculation. -→ Get the raw data from internal data sources and enter them in the calculation tool. -3. Put the indirect emissions from purchased energy into the calculation. -→ Get the raw data (consumption values, energy mix, …) from internal data sources and from the energy supplier, and enter it in the calculation tool. -4. Upstream emissions: - - For sub-components with a (expected) relevant share on the PCF, the aim is to use real data (or primary data) for the calculation. Therefore, a PCF request is sent to the suppliers of these sub-components, to obtain appropriate real data (see subjourney ["PCF data exchange"](#customer-journey-pcf-data-exchange)). As soon as the data is available (via a PCF Response), it can be used as input for the calculation. - - For other sub-components, which only make up a small proportion of the upstream emissions, there will be no request of data to the supplier. Instead, the data will be obtained from a database for secondary data. -5. If necessary, put other emissions and further data into the calculation (e.g., transport emissions, waste, recycling quotas, ...). -6. Put it all together and get the overall PCF. -7. Transfer PCF to the exchange tool (or in general: make the PCF data available). - -### PCF Personas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                PersonaRole and Task (in larger companies)Specifics for SME ChallengesCatena-X Contribution
                Purchaser In general, the purchaser will not be a sustainability expert! - Sustainability is for him just an additional dimension (as cost, quality, ...). -
                  -
                • He requests sustainability data for purchased (sub)products from his suppliers.
                • -
                • In the sourcing process he evaluates the incoming offers (which will include more and more sustainability data).
                • -
                • He negotiates PCF targets with his suppliers.
                • -
                • He checks compliance with agreements and targets and evaluates the supplier's performance.
                • -
                • He will be often the one, who detects incidents (e.g., non-fulfillment of targets, missing certificates, ...).
                • -
                - Different responsibilities and views possible: -
                  -
                • A part / components / materials-oriented view
                • -
                • A supplier / commodity-oriented view
                • -
                -
                -

                We assume, that a SME will have a weaker negotiating position and assertiveness (as a large company), so it may be more difficult to …

                -
                  -
                • request PCF data from (sub)suppliers.
                • -
                • forward customers' CO2 targets to (sub)suppliers.
                • -
                • negotiate own objectives/targets.
                • -
                -
                -

                He requires sustainability data of parts/materials (e.g., PCF) for various purposes.

                -

                He requires standardized data.

                -

                He also requires product-unspecific sustainability data of suppliers (e.g., production site-specific certificates).

                -

                He needs data in different phases (e.g., product development, procurement, industrialization, series production).

                -
                -

                X defines standards for sustainability data.

                -

                CX provides up-to-date and reliable sustainability data

                -
                  -
                • of parts / materials
                • -
                • of suppliers
                • -
                -

                CX provides phase-specific data.

                -

                CX provides (standard) reports.

                -

                CX provides apps and services for data exchange.

                -
                PCF Calculator - He is an expert for PCF calculation. He could be described as a “PCF Engineer,” analogous to the role of a “Cost Engineer” established in many companies. -
                  -
                • He has in-depth knowledge of PCF-, CCF- and LCA-methods.
                • -
                • He is responsible for the calculation of the own scope-1 and -2 values of a PCF
                • -
                • From this data and with the scope-3 data reported by suppliers (or obtained from databases), he calculates the PCF of his own products.
                • -
                • He hands the result over to the PCF Controller
                • -
                • He is a consultant in "costs vs. PCF" discussions (with internal, but also with external partners)
                • -
                • He analyzes customer incident requests (on behalf of the PCF controller).
                • -
                • If there are any discrepancies in reported PCF data, he initiates incident requests at the respective supplier (via the PCF controller).
                • -
                -
                -

                We assume, that at a SME there will be often a combined role: (Sustainability) Manager Product

                -
                  -
                • He is no sustainability expert! So, he must draw on external expertise if necessary
                • -
                • He must handle internal and external topics
                • -
                -

                Customer view:

                -
                  -
                • He is a key account for sustainability data (PCF and ESS) and an “interface” in both directions: customers and suppliers.
                • -
                • He releases sustainability data (esp. PCF) to customers
                • -
                • He receives PCF data from suppliers.
                • -
                • He is the addressee for (PCF) incidents
                • -
                -

                Internal View:

                -
                  -
                • He knows the product BoM (bill of material)
                • -
                • He steers “PCF vs. Cost" objectives at product levels.
                • -
                • He collaborates with external auditors.
                • -
                • He analyzes incoming incident request of customers
                • -
                -
                Requires standardized PCF calculation method. -

                Needs Scope 3 values from suppliers, to calculate own PCF with this data.

                -

                May need a calculation tool for Scope 1 and 2 values.

                -

                Requires access to eco-data (secondary data).

                -

                Needs BoM (bill of material) data for calculation and analysis.

                -
                -

                CX defines standards for PCF calculation.

                -

                CX provides up-to-date and reliable sustainability data of parts / materials.

                -

                CX provides apps and services for data exchange.

                -

                CX provides calculation tools.

                -

                CX provides access to eco-data(bases) for secondary data.

                -
                PCF Controller (product) -

                his is more of an operational role (as opposed to the Sustainability Manager). He is a PCF expert who works with many internal and external partners.

                -

                He is the first point of contact for the purchaser on PCF topics.

                -

                External/Customer view:

                -
                  -
                • He is a key account for PCF data and, in this regard, the central interface to customers/suppliers.
                • -
                • He releases calculated PCF data to customer.
                • -
                • He receives PCF data from the suppliers.
                • -
                • He triggers incident management.
                • -
                • He initiates collaborative PCF optimization.
                • -
                -

                Internal View:

                -
                  -
                • He is the PCF data owner in the company.
                • -
                • He acts as a PCF data collector.
                • -
                • He receives PCF targets from the Sustainability Manager, evaluates them, and is consulted as a CO2 expert in negotiations.
                • -
                • He tracks PCF targets for purchased parts, and detects incidents in terms of non-fulfillment of targets.
                • -
                • He makes supplier performance reviews about PCF.
                • -
                -
                - -

                He requires up-to-date and reliable PCF data of parts / materials.

                -

                He needs data in different phases of the product lifecycle (e.g., in product development, sourcing, industrialization, series production).

                -

                He requires standardized data.

                -

                He needs a tool to exchange PCF data with internal and external partners.

                -

                He needs reports for tracking and monitoring of PCF data and targets.

                -
                -

                CX defines standards for PCF data.

                -

                CX provides apps and services for PCF data exchange.

                -

                CX provides up-to-date and reliable PCF data of parts / materials.

                -

                CX provides phase-specific data.

                -
                Sustainability Manager (product) -

                This is more of a strategic role than an operational role.

                -

                He is responsible for the coordination and steering of PCF and cost objectives at product level

                -

                He ensures the consistency of product objectives with corporate objectives.

                -

                He defines PCF targets for products and breaks them down on part / components / materials level.

                -

                He receives sustainability targets from customers.

                -

                He takes care of how sustainability targets (especially PCF) can be implemented and achieved.

                -

                He performs analyses in the context of sustainability.

                -

                He collaborates with external auditors.

                -
                - -

                He collaborates with external auditors.

                -

                He requires standardized data.

                -

                He needs data in different phases of the product lifecycle (e.g., in product development, sourcing, industrialization, series production).

                -

                He needs reports for tracking and monitoring of sustainability data.

                -

                He needs a tool to exchange sustainability data with internal and external partners.

                - He needs tools for: -
                  -
                • PCF target breakdown.
                • -
                • PCF optimization (e.g., “what if analysis”).
                • -
                • Controlling of competing targets (sustainability vs. costs vs. quality …).
                • -
                -
                -

                CX defines standards for sustainability data (esp. PCF).

                -

                CX provides apps and services for data exchange.

                -

                CX provides up-to-date and reliable sustainability data of parts / materials.

                -

                CX provides phase-specific data.

                -

                CX provides (standard) reports.

                -

                CX provides analysis tools.

                -
                Sustainability Manager (corporate) -

                He has no active role in Catena-X (e.g.: getting reports is a passive, not an active role in this sense).

                -

                He sets corporate goals and breaks them down for different sectors and functions in the company.

                -

                He gets input from the Sustainability Manager Product.

                -
                -

                The role exists in principle; it is rather the question of who will take it over (e.g., personal union with Management, or possibly Sust. Manager).

                -

                Thesis: an SME does CCF rather than PCF.

                -
                -

                He requires (aggregated) sustainability data.

                -

                He requires “high level” (standard) reports.

                -
                CX provides up-to-date and reliable sustainability data.
                Salespeople -

                He is the central interface to the customer.

                -

                He is the owner of the customer quotation process.

                -

                He negotiates PCF targets with customers (→purchaser).

                -

                He presents sustainability data (esp. PCF) to customers.

                -

                He is accountable for incident management with customers.

                -
                - -

                He needs sustainability data (e.g., PCF) of own products (parts / materials)

                -

                He requires tools for information or data exchange (with both internal partners and external customers).

                -
                -

                CX provides sustainability data of own products.

                -

                CX provides apps and services for data exchange.

                -
                Auditor (external) -

                He does a yearly audit of conformity with Catena-X methodology.

                -

                At the beginning (before go-live) there is a one-time audit of the use of the Catena-X network and methods in the company to be audited.

                -

                The onboarding of suppliers requires a self-declaration of applying Catena-X methodology.

                -

                The auditor has a clearing role in case of escalated incidents.

                -
                He needs additional infxormation and data to be able to verify the reported PCF data. -

                CX provides up-to-date and verifiable sustainability data.

                -

                Catena-X provides access to metadata that allows the reported PCF data to be verified.

                -
                Sustainability Associations / InstitutionsThey provide industry-specific averages and benchmarks of PCF values.
                - -## Semantic Models - -Depending on the use case and related KIT, Catena-X provides different semantic models that help to structure and make use of data via semantic information. These models help to provide a basic meaning to the data and their relationship, thereby enabling interoperability between data sets. Catena-X data models rely on principles as understandability, standardization, accuracy, differentiation, audibility, comprehensiveness, and provision of insights to drive improvement actions. - -### PCF - -#### Introduction PCF Data Model - -In an era defined by growing environmental consciousness and sustainability imperatives, the concept of measuring and reducing carbon footprints has become paramount across industries. A pivotal key in this pursuit is a aligned and standardized Product Carbon Footprint Data Model. This data model not only facilitates the systematic calculation and comparison of carbon footprints but also offers a structured approach to managing environmental impact data. - -As the global community grapples with the impacts of climate change, consumers, businesses, and governments are seeking actionable ways to mitigate their carbon emissions. The need for a consistent and universally accepted method of quantifying these emissions from diverse products has given rise to the significance of a Standardized Product Carbon Footprint Data Model. This model acts as a lingua franca, enabling stakeholders to communicate and analyze carbon footprint information transparently and comprehensively. - -For this KIT only the data model PCF is used. The data model follows the Catena-X Standard [CX-0026](https://catena-x.net/de/standard-library) and is modeled following the [CX-0003](https://catena-x.net/de/standard-library) Standard. - -#### Example Payload - -The following json shows a example payload for a requested pcf value. - -```json -{ - "specVersion": "2.0.1-20230314", - "companyIds": { - "companyId": "urn:uuid:51131FB5-42A2-4267-A402-0ECFEFAD1619" - }, - "extWBCSD_productCodeCpc": "011-99000", - "created": "2022-05-22T21:47:32Z", - "companyName": "My Corp", - "extWBCSD_pfStatus": "Active", - "version": 0, - "productName": "My Product Name", - "pcf": { - "biogenicCarbonEmissionsOtherThanCO2": 1, - "distributionStagePcfExcludingBiogenic": 1.5, - "biogenicCarbonWithdrawal": 0, - "distributionStageBiogenicCarbonEmissionsOtherThanCO2": 1, - "extWBCSD_allocationRulesDescription": "In accordance with Catena-X PCF Rulebook", - "exemptedEmissionsDescription": "No exemption", - "distributionStageFossilGhgEmissions": 0.5, - "exemptedEmissionsPercent": 0, - "geographyCountrySubdivision": "US-NY", - "extTFS_luGhgEmissions": 0.3, - "distributionStageBiogenicCarbonWithdrawal": 0.5, - "pcfIncludingBiogenic": 1, - "aircraftGhgEmissions": 0, - "productMassPerDeclaredUnit": 0.456, - "productOrSectorSpecificRules": [ - { - "extWBCSD_operator": "PEF", - "productOrSectorSpecificRules": { - "ruleName": "urn:tfs-initiative.com:PCR:The Product Carbon Footprint Guideline for the Chemical Industry:version:v2.0" - }, - "extWBCSD_otherOperatorName": "NSF" - } - ], - "extTFS_allocationWasteIncineration": "cut-off", - "pcfExcludingBiogenic": 2, - "referencePeriodEnd": "2022-12-31T23:59:59Z", - "extWBCSD_characterizationFactors": "AR5", - "secondaryEmissionFactorSources": [ - { - "secondaryEmissionFactorSource": "ecoinvent 3.8" - } - ], - "unitaryProductAmount": 1000.0, - "declaredUnit": "liter", - "referencePeriodStart": "2022-01-01T00:00:01Z", - "geographyRegionOrSubregion": "Africa", - "fossilGhgEmissions": 0.5, - "boundaryProcessesDescription": "Electricity consumption included as an input in the production phase", - "geographyCountry": "DE", - "extWBCSD_packagingGhgEmissions": 0, - "dlucGhgEmissions": 0.4, - "carbonContentTotal": 2.5, - "extTFS_distributionStageLuGhgEmissions": 1.1, - "primaryDataShare": 56.12, - "dataQualityRating": { - "completenessDQR": 2, - "technologicalDQR": 2, - "geographicalDQR": 2, - "temporalDQR": 2, - "reliabilityDQR": 2, - "coveragePercent": 100 - }, - "extWBCSD_packagingEmissionsIncluded": true, - "extWBCSD_fossilCarbonContent": 0.1, - "crossSectoralStandardsUsed": [ - { - "crossSectoralStandard": "GHG Protocol Product standard" - } - ], - "extTFS_distributionStageDlucGhgEmissions": 1, - "distributionStagePcfIncludingBiogenic": 0, - "carbonContentBiogenic": 0 - }, - "partialFullPcf": "Cradle-to-gate", - "productIds": { - "productId": "urn:gtin:4712345060507" - }, - "validityPeriodStart": "2022-01-01T00:00:01Z", - "comment": "Comment for version 42.", - "id": "3893bb5d-da16-4dc1-9185-11d97476c254", - "validityPeriodEnd": "2022-12-31T23:59:59Z", - "pcfLegalStatement": "This PCF (Product Carbon Footprint) is for information purposes only. It is based upon the standards mentioned above.", - "productDescription": "Ethanol, 95% solution", - "precedingPfIds": { - "id": "3893bb5d-da16-4dc1-9185-11d97476c254" - } -} -``` - -The entire data model is available as open source through following the link: -[Catena-X PCF Datamodel](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.pcf/5.0.0) - -## Business Architecture - -The PCF Exchange KIT can be used to exchange PCF data within the Catena-X ecosystem in a decentralized and interoperable manner, while maintaining a high level of data sovereignty. To achieve this, the PCF Exchange KIT leverages other KITs (particularly the platform-related ones), standardized data models, and an Identity and Access Management (IAM) system based on OAuth and Self-Sovereign Identity (SSI) technology. - -In order to ensure **interoperability**, as described in the section on [Semantic Models](#semantic-models), a standardized data model is essential. However, it's not only the data model but also the standardized interfaces (both the PCF Exchange API and the standardized API provided by the Connector Kit) that contribute to interoperability. - -To enable **data sovereignty**, Catena-X relies on **Self-Sovereign-Identity** (SSI). This allows data providers to precisely specify the conditions that must be met before requested data is transmitted. In the context of the PCF KIT, the "PCF Credential" and "Membership Credential" are mandatory. The PCF Credential references the [PCF Framework Agreement](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_PCF.pdf) signed by a data consumer. The Membership Credential additionally ensures that the requester is an active member of Catena-X. - -The diagram shown here illustrates the interaction between the PCF KIT and the other Catena-X components. -![Business Architecture](resources/adoption-view/BusinessArchitecture.png) - -## STANDARDS - -The standards for release 24.03 will be published soon. Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- Product Carbon Footprint Data Model (Version 2.0.0) -- Product Carbon Footprint Request API (Version 2.0.0) -- Triangle PCF Request (Version 2.1.0) -- Product Carbon Footprint Calculation Integration (Version 1.0.0) -- Product Carbon Footprint Rulebook (Version 2.0.0) - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2024 SIEMENS AG -- SPDX-FileCopyrightText: 2023,2024 SUPPLY ON AG -- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023,2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2023,2024 BASF SE -- SPDX-FileCopyrightText: 2023,2024 CCT -- SPDX-FileCopyrightText: 2023,2024 Gris Group -- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation -- [Source URL](https://github.com/eclipse-tractusx/pcf-exchange-kit) diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_documentation.md b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_documentation.md deleted file mode 100644 index ea6b7003049..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_documentation.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Documentation Overview ---- - -## NOTICE - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2023,2024 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023,2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2023,2024 SIEMENS AG -- SPDX-FileCopyrightText: 2023,2023,2024 SUPPLY ON AG -- SPDX-FileCopyrightText: 2023,2023,2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023,2023,2024 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023,2023,2024 Mercedes Benz Group -- SPDX-FileCopyrightText: 2023,2023,2024 BASF SE -- SPDX-FileCopyrightText: 2023,2023,2024 CCT -- SPDX-FileCopyrightText: 2023,2023,2024 Gris Group -- SPDX-FileCopyrightText: 2023,2023,2024 Contributors to the Eclipse Foundation -- [Source URL]() diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_software-operation-view.md deleted file mode 100644 index 8d3fc94cdf2..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/page_software-operation-view.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: Operation View -title: Operation View -description: 'PCF Exchange KIT' -sidebar_position: 4 ---- ->**Note** -> -> At the moment there is no open source soultion available implementing PCF exchange. Therefore no central operation information is provided here. diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png deleted file mode 100644 index 715220825f6..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png deleted file mode 100644 index 6c580760868..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png deleted file mode 100644 index 8d1cb9f1fbb..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml deleted file mode 100644 index a862741ee0f..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.puml +++ /dev/null @@ -1,103 +0,0 @@ -@startuml "PCF Request with missing Twin or Submodel" - -participant PCF_Client -participant Client_API_Wapper -participant Client_EDC -participant EDC_Discovery_Service -participant Company_EDC -participant Company_DTR -participant Company_API_Wapper -participant Company_PCF_App - -group Request PCF value - -group Technical user login (not shown in detail here) -end - -!includesub EDCDiscoveryAnddDTRAccess.puml!EDCDiscovery -!includesub EDCDiscoveryAnddDTRAccess.puml!DTRDiscovery -!includesub EDCDiscoveryAnddDTRAccess.puml!MaterialTwinNotFound - -!includesub PCFRequestAlternatives.puml!GetAssetViaType -group Send Request via EDC Proxying -PCF_Client -> Client_API_Wapper: Invoke asset with reqID, BPN & comment -note right -GET https://clientApiWrapperUrl/api/service/c34018ab-5820-4065-9087-416d78e1ab60/productIds/mat345?providerUrl=https://some.controlplane.url:7173&requestId=123&BPN=&comment=... -end note -Client_API_Wapper -> Client_EDC: Negotiate access to asset and enable proxy transfer -Client_EDC -> Company_EDC: Negotiate access to asset and enable proxy transfer -Company_EDC -> Client_EDC: Agreement & EndpointDataReference -Client_EDC -> Client_API_Wapper: Agreement & EndpointDataReference -Client_API_Wapper -> Client_EDC: PCF endpoint call incl. req.ID, BPN & comment -Client_EDC -> Company_EDC: PCF endpoint call incl. req.ID, BPN & comment -note right -Using PCF API through EDC via HTTP Proxy: -GET https://{someURL}/productIds/mat345?requestId=123&BPN=&comment=... -end note -Company_EDC -> Company_PCF_App: PCF endpoint call incl. req.ID, BPN & comment -note right -Can we use existing -PCF API directly? -If so: no AAS adapter -would be needed! -end note -Company_PCF_App -> Company_EDC: Accepted -Company_EDC -> Client_EDC: Accepted -Client_EDC -> Client_API_Wapper: Accepted -Client_API_Wapper -> PCF_Client: Accepted -end -end - -Company_PCF_App -> Company_PCF_App: Approve PCF Request and\ncalculate PCF if needed - -group Receive/Send PCF value - -group Technical user login (not shown in detail here) -end - -group Lookup Clients's EDC -Company_PCF_App -> EDC_Discovery_Service: Lookup EDC URL (via BPN) -note right -POST https://portal-backend.some.demo.catena-x.net/api/administration/connectors/discovery -{ - [ ] -} -end note -EDC_Discovery_Service -> Company_PCF_App: EDC URL -end - -group Lookup Clients PCF Receive Asset -Company_PCF_App -> Company_EDC: Lookup Client's Receive Asset\n(via Company's EDC URL) -Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type "data.pcf.exchangeEndpoint") -note right -There could be multiple EDC URLs, but -only one with a PCF Exchange Asset -end note -Client_EDC -> Company_EDC: PCF Asset -Company_EDC -> Company_PCF_App: PCF Asset ID -end - -group Push PCF to Client -Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID, BPN & comment -note right -PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123&BPN=& -end note -Company_API_Wapper -> Company_EDC: Negotiate access to asset and enable proxy transfer -Company_EDC -> Client_EDC: Negotiate access to asset and enable proxy transfer -Client_EDC -> Company_EDC: Agreement & EndpointDataReference -Company_EDC -> Company_API_Wapper: Agreement & EndpointDataReference -Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID & BPN -Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID & BPN -note right -Using PCF API through EDC via HTTP Proxy: -PUT https://{someURL}/productIds/mat345?requestId=123&BPN= -end note -Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID, BPN & comment -PCF_Client -> Client_EDC: OK -Client_EDC -> Company_EDC: OK -Company_EDC -> Company_API_Wapper: OK -Company_API_Wapper -> Company_PCF_App: OK -end -end - -@enduml \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png deleted file mode 100644 index aa0c927fbf8..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdatepushthroughEDC.png b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdatepushthroughEDC.png deleted file mode 100644 index 56627e53322..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdatepushthroughEDC.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml b/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml deleted file mode 100644 index 30ab4d6abf1..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_0_0.yaml +++ /dev/null @@ -1,1134 +0,0 @@ -openapi: 3.0.0 -info: - title: Catena-X-pcf-request-endpoint - version: 1.0.0 -paths: - /productIds/{productId}: - get: - operationId: get_pcf - parameters: - - name: productId - description: ID of the product/materiual the PCF is requested for - example: SomeProductID - in: path - required: true - schema: - type: string - - name: BPN - description: The caller's Catena-X BusinessPartnerNumber - example: BPN9354218404L - in: query - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the call (will be referenced in corresponding PCF - response) - example: X374e9453K - in: query - required: true - schema: - type: string - - name: message - in: query - required: false - description: URL encoded, max 250 chars - example: No%20offset%20included%2C%20please%21 - schema: - type: string - responses: - '202': - description: PCF was accepted. PCF will be sent later via to POST endpoint. - put: - operationId: set_pcf - parameters: - - name: productId - description: ID of the product/materiual the PCF referring to - example: SomeProductID - in: path - required: true - schema: - type: string - - name: BPN - description: The caller's Catena-X BusinessPartnerNumber - example: BPN83456784L - in: query - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the request call (same as within original PCF - request), if the PUT is responing to a call. Can be dismissed in a - PCF update call. - example: X374e9453K - in: query - required: false - schema: - type: string - requestBody: - description: The requested PCF in WBCSD format - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ProductFootprintResponse' - responses: - '200': - description: '' -components: - schemas: - ProductFootprintResponse: - description: >- - A Product (Carbon) Footprint represents the carbon footprint of a - product with values as specified in the Catena-X PCF Rulebook in - accordance with the WBCSD (World Business Council for Sustainable - Development) Pathfinder framework and the technical specifications for - PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. - type: object - properties: - id: - description: >- - Mandatory: The product footprint identifier as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_IdTrait' - specVersion: - description: >- - Mandatory: Version of the product footprint data specification as - defined in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - partialFullPcf: - description: >- - Mandatory: Indicator for partial or full PCF (Product Carbon - Footprint) declaration as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PartialFullPcfCharacteristic - precedingPfIds: - description: >- - Optional: Set of preceding PCF (Product Carbon Footprint) - identifiers without duplicates as specified in the Catena-X PCF - Rulebook in accordance with the WBCSD (World Business Council for - Sustainable Development) Pathfinder framework and the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ - PACT initiative. Declared as "optional" in WBCSD, needs to be - covered by application. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PrecedingPfIdsTrait - version: - description: >- - Mandatory: Version of the product (carbon) footprint as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X for example set to "0" per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductFootprintVersion - created: - description: >- - Mandatory: Timestamp of the creation of the Product (Carbon) - Footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - extWBCSD_pfStatus: - description: >- - Mandatory: Status indicator of a product (carbon) footprint as - specified in the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example set to "Active" per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PfStatusCharacteristic - validityPeriodStart: - description: >- - Optional: Start of interval during which the product (carbon) - footprint is declared as valid as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. If specified, the - validity period start must be equal to or greater than the reference - period end. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - validityPeriodEnd: - description: >- - Optional: End of interval during which the product (carbon) - footprint is declared as valid as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - comment: - description: >- - Optional: Additional information and instructions related to the - calculation of the product (carbon) footprint as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - companyName: - description: >- - Mandatory: Name of the product (carbon) footprint data owner as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_NonEmptyStringTrait - companyIds: - description: >- - Mandatory: Non-empty set of Uniform Resource Names (URN). Each value - is supposed to uniquely identify the product (carbon) footprint data - owner as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CompanyIdsTrait' - productDescription: - description: >- - Optional: Free-form description of the product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - productIds: - description: >- - Mandatory: Non-empty set of product identifiers. Each value is - supposed to uniquely identify the product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductIdsTrait' - extWBCSD_productCodeCpc: - description: >- - Mandatory: UN (United Nations) Product Classification Code (CPC - - Central Classification Code) of a given product as specified the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, which will probably be - declared as "optional" in a later WBCSD specification version. In - Catena-X for example specified with default value "011-99000". - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - productName: - description: >- - Mandatory: Non-empty trade name of a product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_NonEmptyStringTrait - pcf: - description: >- - A PCF (Product Carbon Footprint) represents the carbon footprint of - a product and related data as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PcfEntity' - pcfLegalStatement: - description: >- - Optional: Option for legal statement/ disclaimer as specified in the - Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - required: - - id - - specVersion - - partialFullPcf - - version - - created - - extWBCSD_pfStatus - - companyName - - companyIds - - productIds - - extWBCSD_productCodeCpc - - productName - - pcf - urn_samm_io.catenax.pcf_5.0.0_IdTrait: - type: string - description: Constraint for defining a UUID v4 identifier. - pattern: >- - ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text: - type: string - description: >- - Describes a Property which contains plain text. This is intended - exclusively for human readable strings, not for identifiers, measurement - values, etc. - urn_samm_io.catenax.pcf_5.0.0_PartialFullPcfCharacteristic: - type: string - description: >- - Characteristic for defining an indicator for partial or full PCF - (Product Carbon Footprint) declaration as specified in the Catena-X PCF - Rulebook. - enum: - - Cradle-to-gate - - Cradle-to-grave - urn_samm_io.catenax.pcf_5.0.0_PrecedingPfId: - description: >- - Entity for defining a preceding PCF (Product Carbon Footprint) - identifier entity as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - id: - description: >- - Mandatory: The product footprint identifier as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_IdTrait' - required: - - id - urn_samm_io.catenax.pcf_5.0.0_PrecedingPfIdsTrait: - description: >- - Constraint for defining a non-empty set of product (carbon) footprint - identifiers as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PrecedingPfId' - uniqueItems: true - minItems: 1 - urn_samm_io.catenax.pcf_5.0.0_ProductFootprintVersion: - type: number - minimum: 0 - description: >- - Characteristic for defining a product footprint version as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: - type: string - pattern: >- - -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))? - description: >- - Describes a Property which contains the date and time with an optional - timezone. - urn_samm_io.catenax.pcf_5.0.0_PfStatusCharacteristic: - type: string - description: >- - Characteristic for defining a status indicator of a product (carbon) - footprint as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Enumeration with possible "Active" and "Deprecated". - enum: - - Active - - Deprecated - urn_samm_io.catenax.pcf_5.0.0_NonEmptyStringTrait: - type: string - description: Constraint for ensuring that a string has at least one character. - minLength: 1 - urn_samm_io.catenax.pcf_5.0.0_CompanyIdCharacteristic: - type: string - format: uri - description: >- - Characteristic for defining a company identifier in context of a product - (carbon) footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - urn_samm_io.catenax.pcf_5.0.0_CompanyIdsTrait: - description: >- - Constraint for defining a non-empty set of company identifiers as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CompanyIdCharacteristic' - uniqueItems: true - minItems: 1 - urn_samm_io.catenax.pcf_5.0.0_ProductIdCharacteristic: - type: string - format: uri - description: >- - Characteristic for defining a product identifier in context of a product - (carbon) footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - urn_samm_io.catenax.pcf_5.0.0_ProductIdsTrait: - description: >- - Constraint for defining a non-empty set of product identifiers as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductIdCharacteristic' - uniqueItems: true - minItems: 1 - urn_samm_io.catenax.pcf_5.0.0_DeclaredUnitCharacteristic: - type: string - description: >- - Unit of analysis of the product with accepted values as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. For countable - products/ components/ materials, Catena-X for example adds the unit - "piece" to the value list specified by WBCSD. - enum: - - liter - - kilogram - - cubic meter - - kilowatt hour - - megajoule - - ton kilometer - - square meter - - piece - urn_samm_io.catenax.pcf_5.0.0_StrictlyPositiveDecimalTrait: - type: number - description: Constraint for defining a positive, non-zero decimal. - minimum: 0 - exclusiveMinimum: true - urn_samm_io.catenax.pcf_5.0.0_PositiveDecimalWeightTrait: - type: number - description: Constraint for defining a decimal equal to or greater than zero. - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_5.0.0_ExemptedEmissionsPercentTrait: - type: number - description: >- - Characteristic for defining the percentage of emissions excluded from a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - maximum: 5 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_5.0.0_GeographyCountrySubdivisionTrait: - type: string - description: >- - Constraint for defining a geography country subdivision in compliance to - ISO 3166-2 as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) - urn_samm_io.catenax.pcf_5.0.0_GeographyCountryTrait: - type: string - description: >- - Constraint for defining a geography country conform to ISO 3166CC as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - pattern: ([A-Z]{2}) - urn_samm_io.catenax.pcf_5.0.0_GeographyRegionOrSubregionCharacteristic: - type: string - description: >- - Characteristic for defining a list of valid geographic regions as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - In Catena-X for example "Global" has been added to the value list. - enum: - - Africa - - Americas - - Asia - - Europe - - Oceania - - Australia and New Zealand - - Central Asia - - Eastern Asia - - Eastern Europe - - Latin America and the Caribbean - - Melanesia - - Micronesia - - Northern Africa - - Northern America - - Northern Europe - - Polynesia - - South-eastern Asia - - Southern Asia - - Southern Europe - - Sub-Saharan Africa - - Western Asia - - Western Europe - - Global - urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic: - type: string - description: >- - Characteristic for defining the enumeration of valid accounting - standards used for product carbon footprint calculation as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - enum: - - GHG Protocol Product standard - - ISO Standard 14067 - - ISO Standard 14044 - urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandard: - description: >- - Entity for defining an accounting standard used for product carbon - footprint calculation as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - crossSectoralStandard: - description: >- - Mandatory: Discloses a cross-sectoral standard applied for - calculating or allocating GHG (Greenhouse Gas) emissions as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic - required: - - crossSectoralStandard - urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandardSet: - description: >- - Characteristic for defining the list of valid accounting standards used - for product carbon footprint calculation as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandard - urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRuleOperator: - type: string - description: >- - Enumeration of PCR (Product Category Rule) operators as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from the - WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension for example in Catena-X. - enum: - - PEF - - EPD International - - Other - urn_samm_io.catenax.pcf_5.0.0_RuleName: - description: >- - Name of a rule applied by a specified operator as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. - type: object - properties: - ruleName: - description: >- - Name of a rule applied by a specific operator as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_NonEmptyStringTrait - required: - - ruleName - urn_samm_io.catenax.pcf_5.0.0_RuleNamesTrait: - description: >- - Constraint for defining a non-empty set of rule names as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_RuleName' - uniqueItems: true - minItems: 1 - urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRule: - description: >- - Entity for defining a product or sector specific rule of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - type: object - properties: - extWBCSD_operator: - description: >- - Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product - Specific Rule) as specified in the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. WBCSD specific - extension, in Catena-X for example must always be "Other". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRuleOperator - productOrSectorSpecificRules: - description: >- - Mandatory: Product-specific or sector-specific set of rules used for - calculating or allocating GHG (Greenhouse Gas) emissions applied - from the specified operator as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_RuleNamesTrait' - extWBCSD_otherOperatorName: - description: >- - Optional: Other operator of PCR (Product Category Rule)/ PSR - (Product Specific Rule) as specified in the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. WBCSD - specific extension, in Catena-X for example specified by a default - value. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_NonEmptyStringTrait - required: - - extWBCSD_operator - - productOrSectorSpecificRules - urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRuleSet: - description: >- - Characteristic for defining the set of product or sector specific rules - of a product carbon footprint as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRule - uniqueItems: true - urn_samm_io.catenax.pcf_5.0.0_CharacterizationFactorsCharacteristic: - type: string - description: >- - Characteristic for defining the characterization factors of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. In Catena-X for example specified by a default value. - enum: - - AR5 - - AR6 - urn_samm_io.catenax.pcf_5.0.0_AllocationWasteIncinerationCharacteristic: - type: string - description: >- - Characteristic for defining the allocation approach used for waste - incineration as specified by the TFS (Together For Sustainability) - initiative. - enum: - - cut-off - - reverse cut-off - - system expansion - urn_samm_io.catenax.pcf_5.0.0_PercentTrait: - type: number - description: Constraint for a decimal number in the range of and including 0 and 100. - maximum: 100 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_5.0.0_EmissionFactorDS: - description: >- - Entitiy for defining an emission factor data source used to calculate a - product carbon footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - secondaryEmissionFactorSource: - description: >- - Mandatory: Emission factor data source used to calculate a product - carbon footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - required: - - secondaryEmissionFactorSource - urn_samm_io.catenax.pcf_5.0.0_EmissionFactorDSSet: - description: >- - Characteristic for defining a set of emission factor sources used for - calculating a product carbon footprint as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_EmissionFactorDS' - uniqueItems: true - urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait: - type: number - description: Constraint for defining a decimal between 1 and 3 including. - maximum: 3 - exclusiveMaximum: false - minimum: 1 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_5.0.0_DataQualityIndicators: - description: >- - Characteristic for defining the quantative data quality indicators of a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - coveragePercent: - description: >- - Optional: Percentage of PCF (Product Carbon Footprint) included in - the data quality assessment based on the >5% emissions threshold as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X for example set to "100" per default. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PercentTrait' - technologicalDQR: - description: >- - Mandatory starting 2025: Technological representativeness of the - sources used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait' - temporalDQR: - description: >- - Mandatory starting 2025: Temporal representativeness of the sources - used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait' - geographicalDQR: - description: >- - Mandatory starting 2025: Geographical representativeness of the - sources used for PCF (Product Carbon Footprint) calculation based on - weighted average of all inputs representing >5% of PCF emissions. - Specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait' - completenessDQR: - description: >- - Mandatory starting 2025: Completeness of the data collected for PCF - (Product Carbon Footprint) calculation based on weighted average of - all inputs representing >5% of PCF emissions. Specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait' - reliabilityDQR: - description: >- - Mandatory starting 2025: Reliability of the data collected for PCF - (Product Carbon Footprint) calculation based on weighted average of - all inputs representing >5% of PCF emissions. Specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DqiNumberTrait' - urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: - type: boolean - description: Represents a boolean value (i.e. a "flag"). - urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait: - type: number - description: 'Only positive emission values (>0) are valid ' - minimum: 0 - exclusiveMinimum: false - urn_samm_io.catenax.pcf_5.0.0_PositiveOrNegativeEmission: - type: number - description: >- - Characteristic for defining (positive or negative) emissions in context - of a PCF (Product Carbon Footprint) as specified by the WBCSD (World - Business Council for Sustainable Development) Pathfinder initiative. - urn_samm_io.catenax.pcf_5.0.0_PcfEntity: - description: >- - Characteristic for defining a PCF (Product Carbon Footprint) as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: object - properties: - declaredUnit: - description: >- - Mandatory: Unit of analysis of a product in context of the PCF - (product carbon footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. In Catena-X for example - list of valid units includes "piece". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DeclaredUnitCharacteristic - unitaryProductAmount: - description: >- - Mandatory: Amount of units contained within a product in context of - the PCF (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_StrictlyPositiveDecimalTrait - productMassPerDeclaredUnit: - description: >- - Mandatory: Mass of a product per declared unit in context of the PCF - (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveDecimalWeightTrait - exemptedEmissionsPercent: - description: >- - Mandatory: Percentage of emissions excluded from PCF (Product Carbon - Footprint) as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ExemptedEmissionsPercentTrait - exemptedEmissionsDescription: - description: >- - Optional: Rationale behind exclusion of specific PCF (Product Carbon - Footprint) emissions as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - boundaryProcessesDescription: - description: >- - Optional: Processes attributable to each lifecycle stage as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - geographyCountrySubdivision: - description: >- - Optional: Subdivision of a country which must be an ISO 3166-2 - subdivision code as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_GeographyCountrySubdivisionTrait - geographyCountry: - description: >- - Optional: Two letter country code that must conform to data type ISO - 3166CC as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_GeographyCountryTrait - geographyRegionOrSubregion: - description: >- - Mandatory: Region according to list as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_GeographyRegionOrSubregionCharacteristic - referencePeriodStart: - description: >- - Mandatory: Start of time boundary for which a PCF (Product Carbon - Footprint) value is considered to be representative as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - referencePeriodEnd: - description: >- - Mandatory: End of time boundary for which a PCF (Product Carbon - Footprint) value is considered to be representative as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp - crossSectoralStandardsUsed: - description: >- - Mandatory: Discloses the cross-sectoral standards applied for - calculating or allocating GHG (Greenhouse Gas) emissions as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CrossSectoralStandardSet - productOrSectorSpecificRules: - description: >- - Mandatory: Product or sector specific rules applied for calculating - or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product - Category Rules), including operators or pubishers and according rule - names as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_ProductOrSectorSpecificRuleSet - extWBCSD_characterizationFactors: - description: >- - Mandatory: IPCC (Intergovernmental Panel on Climate Change) version - of the GWP (Global Warming Potential) characterization factors used - for calculating the PCF (Product Carbon Footprint) as specified in - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "AR6". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_CharacterizationFactorsCharacteristic - extWBCSD_allocationRulesDescription: - description: >- - Optional: Allocation rules used and underlying reasoning in context - of a product carbon footprint as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "In accordance with Catena-X PCF - Rulebook". - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Text - extTFS_allocationWasteIncineration: - description: >- - Mandatory: Allocation approach used for waste incineration with - energy recovery as specified by the TFS (Together For - Sustainability) initiative. In Catena-X for example must be - specified by value "cut-off". - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_AllocationWasteIncinerationCharacteristic - primaryDataShare: - description: >- - Mandatory starting 2025: Share of primary data in percent as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PercentTrait' - secondaryEmissionFactorSources: - description: >- - Mandatory: Emission factors used for the PCF (Product Carbon - Footprint) calculation as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_EmissionFactorDSSet - dataQualityRating: - description: >- - Mandatory starting 2025: Quantitative data quality indicators of a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_DataQualityIndicators - extWBCSD_packagingEmissionsIncluded: - description: >- - Mandatory: Flag indicating whether packaging emissions are included - in a PCF (Product Carbon Footprint) as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example value - is "TRUE" per default. - $ref: >- - #/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean - pcfExcludingBiogenic: - description: >- - Mandatory: Product carbon footprint of a product excluding biogenic - emissions as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - pcfIncludingBiogenic: - description: >- - Mandatory starting 2025: Product carbon footprint of a product - including biogenic emissions as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. Optional value in - current specification version but will be mandatory in future - version. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveOrNegativeEmission - fossilGhgEmissions: - description: >- - Mandatory starting 2025: Emissions from combustion of fossil sources - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Identical to "pcfExcludingBiogenic", will be removed in - later version. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - biogenicCarbonEmissionsOtherThanCO2: - description: >- - Mandatory starting 2025: GWP (Global Warming Potential) of biogenic - CO2e-emissions in production phase which contain only GHG - (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. - For specification see Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - biogenicCarbonWithdrawal: - description: >- - Mandatory starting 2025: Biogenic carbon content in the product - converted to CO2e as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveDecimalWeightTrait - dlucGhgEmissions: - description: >- - Mandatory starting 2025: Direct land use change CO2e emissions in - context of a product carbon footprint as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - extTFS_luGhgEmissions: - description: >- - Mandatory starting 2025: Land use CO2 emissions in context of a - product carbon footprint as specified by the TFS (Together For - Sustainability) initiative. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - aircraftGhgEmissions: - description: >- - Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting - from aircraft engine usage for the transport of the product as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - extWBCSD_packagingGhgEmissions: - description: >- - Optional: Emissions resulting from the packaging of the product as - specified in the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example value is zero per default. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - distributionStagePcfExcludingBiogenic: - description: >- - Optional: Product carbon footprint for the distribution stage of a - product excluding biogenic emissions as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - distributionStagePcfIncludingBiogenic: - description: >- - Optional: Product carbon footprint for the distribution stage of a - product including biogenic emissions as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveOrNegativeEmission - distributionStageFossilGhgEmissions: - description: >- - Optional: Emissions from the combustion of fossil sources in the - distribution stage as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonEmissionsOtherThanCO2: - description: >- - Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions - in distribution phase which contain only GHG (Greenhouse Gas) - emissions other than CO2 ? excludes biogenic CO2. For specification - see Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonWithdrawal: - description: >- - Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal - in distribution stage (biogenic CO2 contained in the product) as - specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - extTFS_distributionStageDlucGhgEmissions: - description: >- - Optional: Direct land use change CO2 emissions during distribution - stage in context of a product carbon footprint as specified in the - Catena-X PCF Rulebook. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - extTFS_distributionStageLuGhgEmissions: - description: >- - Optional: Land use CO2 emissions in context of a product carbon - footprint as specified by the TFS (Together For Sustainability) - initiative. TFS specific extension. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - carbonContentTotal: - description: >- - Mandatory starting 2025: Total carbon content per declared unit in - context of a product carbon footprint as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - extWBCSD_fossilCarbonContent: - description: >- - Optional: Fossil carbon amount embodied in a product as specified in - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. WBCSD specific extension, in Catena-X for example - specified by a calculated value. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - carbonContentBiogenic: - description: >- - Mandatory starting 2025: Biogenic carbon amount embodied in a - product as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - distributionStageAircraftGhgEmissions: - description: >- - Optional: GHG (Greenhouse Gas) emissions for the distribution stage - resulting from aircraft engine usage for the transport of the - product as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_samm_io.catenax.pcf_5.0.0_PositiveEmissionsTrait - required: - - declaredUnit - - unitaryProductAmount - - productMassPerDeclaredUnit - - exemptedEmissionsPercent - - geographyRegionOrSubregion - - referencePeriodStart - - referencePeriodEnd - - crossSectoralStandardsUsed - - productOrSectorSpecificRules - - extWBCSD_characterizationFactors - - extTFS_allocationWasteIncineration - - secondaryEmissionFactorSources - - extWBCSD_packagingEmissionsIncluded - - pcfExcludingBiogenic diff --git a/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_adoption-view.md deleted file mode 100644 index bff6cd4f0e6..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_adoption-view.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -id: Adoption View PURIS Kit -title: Adoption View -description: 'PURIS Kit' -sidebar_position: 2 ---- - -### PURIS Kit - -## Vision & Mission - -### Vision - -Demand and capacity management (DCM) increases transparency in the supply chain and provides information on potential supply bottlenecks in the medium to long term by comparing a customer's material requirements and the supplier's capacities in the initial one-tier supply relationship (one-down, one-up). By linking the information, bottleneck situations that go beyond the one-tier supply relationship and arise at lower levels of the n-tier supply chain can also be identified. This early detection enables problems to be solved before they affect production and thus timely delivery. If bottleneck situations nevertheless occur in the short-term horizon, the data must be enriched with additional, up-to-date information and the current stock situation, material movements and inbound and outbound deliveries must also be taken into account. - -For those involved in the supply chain, the Catena-X application PURIS is a short-term tool for transparently mapping delivery situations. - -In contrast to DCM in the long term, PURIS presents the delivery situation with actual data, without aggregation and completely in real time, in order to enable the user to derive measures for the corresponding requirement (e.g. in bottleneck management) on this basis and to be able to make decisions more reliably. - -### Mission - -The Catena-X application PURIS is available to all participants in the automotive supply chain. It depicts the current situation based on actual data (as opposed to planned data) with the option of an operational preview of a maximum of 4 weeks. - -The application enables all participants in the supply chain to exchange information (type, quantity, time, etc.) with participants of their choice (one-up/one-down) and to use this for their own findings. - -Information objects are - -- Stock -- transportation -- demand -- Supplier production (output) -- Other influencing variables -- This exchange should be possible automatically, autonomously and independently, with minimal manual effort. Applicable guidelines are adhered to. - -The application should be usable regardless of company size and degree of digitization. The financial outlay for using PURIS should be as low as possible. It is intended to serve as a basic building block for a future industry standard and serves as a supplier. diff --git a/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_changelog.md deleted file mode 100644 index 01dcac736c8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/PURIS Kit/page_changelog.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: PURIS Kit Changelog -title: Changelog -description: 'PURIS Kit' -sidebar_position: 1 ---- - -### PURIS Kit - -All notable changes to this Kit will be documented in this file. - -## [0.1.0] - 2023-11-29 - -### Added - -- Initial version of the Kit including the adoption view - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_adoption-view.md deleted file mode 100644 index 291c849d1a5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_adoption-view.md +++ /dev/null @@ -1,390 +0,0 @@ ---- -id: Adoption View Quality Kit -title: Adoption View -description: 'Quality Kit' -sidebar_position: 2 ---- - -![Quality kit banner](@site/static/img/QualityKitIcon.png) - -### Quality KIT - -## Vision & Mission - -### Vision - -Our vision is to move from parts-based quality management on a bilateral level between supplier and customer to a -data-based approach across the OEM-n-Tier chains of value creation to enable a network approach for producing and -ensuring product quality. - -![quality kit vision diagram](@site/static/img/quality-kit_vision-min.png) - -The Quality KIT enables **data provider** and **consumer** to exchange and analyse existing data across company -boundaries on a daily basis, securely and easily. By merging the OEM's field quality data and the supplier's product -information, a new level of transparency is achieved in a joint analysis (single point of information). This leads to -earlier failure detection, faster cooperation between partners and acceleration of root cause analysis. Once the root -cause of the problem is known, corrective actions can be targeted to the products and vehicles that have the quality -problem using Catena-X traceability capabilities. The containment minimises the number of parts & vehicles for which -corrective actions need to be implemented. - -This KIT enables **quality app provider** to deliver solutions for quality data analysis including tracebility and -notification functionalities. - -### Mission - -![quality kit mission diagram](@site/static/img/quality-kit_mission-min.png) - -The Quality KIT provides the necessary standards, aspect models, technical data pipeline specifications and business -logics on how to estabilish a soverein exchange of quality related data along the OEM-Tier n chain. All the components -mentioned are based on the following principles: - -- We bring together data from suppliers and manufacturers (OEM). -- Data exchange between data provider and consumer complies with the Catena-X network's data sovereignty principles. -- Data exchange enables each partner to use the applications of their choice for data analysis features like Early - Warning and Root Cause Analysis. -- We standardize data models incl. their assets -- Data exchange in the current Quality KIT version is described as a common requirement. -- Analysis methods and algorithms that are realized in the quaity applications are not part of any standardization. It - is desirable that different tools deliver different results Specialisation of tools is valuable. - -In sum this KIT enables quality management to substantially **increase speed** in resolving quality problems and reach a -**new level on transparency** and traceability. - -### Customer Journey - -With the Quality KIT, we support the Catena-X customer journey for our adopters and solutions providers. - -![quality kit customer journey diagram](@site/static/img/quality.kit_customer-Journey-1_1.jpg) - -## Business Value - -Through the standardized specifications described in the “Quality-KIT” – mainly the semantic models and data exchange -process – data providers & consumers can build up a soverreign and trusty data exchange pipeline with their partner -companies and reduce investment and implementation costs to integrate data based quality processes in their company -inhouse process and IT landscape. - -Furthermore, quality application providers can also reduce the implementation effort and enter potential new markets -providing specific analytic capabilities. - -## Use Case - -### Status Quo / Today's challenge - -In today’s global and complex collaboration models quality does not emerge as the sum of the quality contributions of -the individual partners in the value chain of OEM and suppliers, but rather because of the networking of the partners -involved. - -The existing conventional bilateral working models do not account for this. There is no operative network in the -industry with a substantial coverage of elements of the value chains that provides the necessary means for collaborative -quality management with all involved partners. - -From Quality Management perspective, the main challenge within the automotive industry is to define and implement -inter-organizational end-to-end data chains across the whole automotive partner chain to empower data driven quality use -cases. - -Main challenges to ensure a trustful and scalable cooperation are: - -- Trustful and sovereign data exchange mechanism including ... - - legal contracts and access/usage policy framework along the complete data chain - - Standardized data pipeline - - Aligned standard data exchange, e.g. file format and transfer -- Standardized data models - -### Benefits - -| Advantages | For OEM | For n-Tier | -|---------------------------------------------------------------------------------------------------|---------|------------| -| Availability of daily updated field data for monitoring the own component in real operation | | X | -| Linking OEM and supplier data for cross-supplychanin quality analysis | X | X | -| Reduction of analysis capacities along the automotive value chain by preventive field observation | X | X | -| Reduction of the NTF (no trouble found) at the customer and supplier | X | X | -| Significant reduction in time to detect an abnormality | X | X | -| Fulfillment of required response times from authorities | X | | -| Creation of transparency and options for new warranty models | X | X | - -![quality kit benefits diagram](@site/static/img/quality-kit_benefits-min.png) - -#### OEM and large automotive suppliers - -The Quality KIT from Catena-X enables companies to realize trustful and sovereign data exchange with their partners and -utilize the data in a cooperative way for an Early Warning of known and unknown quality issues. Root causes can be -analysed und understood much faster what leads to an earlier and focussed counter measure. In sum companies can realize -economic benefit by reduction of warranty costs while at the same time increasing customer satisfaction due to a maximum -availability of vehicles, products and services. - -#### SME - -The defined standards like data models and data exchange pipelines enforce a flexible and low-barries approach to -integrate quality use cases and features according to SME need. An easy access to analytic capabilities or transparent -analytic results from partner companies leads to an economic benefit from warranty costs reduction via faster on more -focused activities related to quality issues. - -#### Solution Provider - -Solution providers have the potential to scale customer groups via platform effects and standardization of data models -and their exchange. Additional new market potentials can be accessed via marketplace and shared service network. - -##### Example: Benefits of using early warning and root cause analyses in active field monitoring of a vehicle component - -OEM A and supplier B agree to carry out quality analyses with field data from the OEM and production data from the -supplier based on Catena-X Use Case Quality Methodology (live control loop see above) and with Catena-X-certified tools. -For this purpose, a quality case with framework conditions is agreed to in the use case. A component and the associated -data are selected. After technical and organizational onboarding and the agreed data exchange, the joint analysis room -is available and collaborative quality work can be started. - -In general, one of the partners carries out continuous monitoring of the components using the common database. This -allows, for example, error messages in the vehicle, repairs and claims to be monitored and anomalies are immediately -visible. - -In our example, an engine component passes on various error messages (DTCs = Diagnosis Trouble Codes) to the vehicle via -the central engine control unit. After 4 weeks, it is visible in the Catena-X certified tool that a DTC in the field is -slowly but steadily increasing. With Catena-X Tooling, this is immediately recognized, although no increasing workshop -visits and repairs are yet visible in the database. An employee of a partner immediately notices this and shares this -observation with the joint team. At the same time, the employee begins to clarify through initial analyses whether the -anomaly is actually a problem. Since it quickly becomes clear from the data that this is a potentially critical fault -pattern with the result of increasing repair cases and that a replacement of parts may be necessary, the employee -reports this to the joint team (early warning). - -The team decides to carry out a root cause analysis together. Various hypotheses about the cause of the fault are -examined: running times are compared, software levels, environmental conditions at the time the fault occurred, etc. The -cause of the fault is a diagnostic algorithm modified in a software update, which results in the abnormal DTC appearing -more often in the field at hot temperatures. This is caused by the production of vehicles from a certain point in time -with the new software version or the installation of a new software version for vehicles in the field, e.g. during a -service visit to a workshop. - -As a jointly defined corrective measure between OEM and supplier, a modified algorithm will be integrated into the next -regular software update. This starts as soon as possible in vehicle production and vehicles with the faulty software -version receive a software update the next time they visit the workshop. For this purpose, repair shops are informed -that the displayed error (DTC) for a particular software version is a software problem and does not require any repair. -This minimizes costs due to unnecessary repairs. - -The affected component continues to be monitored regularly. After a few months, there is a decrease in the conspicuous -DTC corresponding to the reduction in the number of vehicles in the field with the faulty software version (proof of -effectiveness of the corrective measure adopted). - -The image below shows user feedback, challenges, results and benefits of the new data-based way of working using the -example of the Early Warning & Root Cause Analysis process steps. - -![quality kit example of benefits chart](@site/static/img/quality-kit_example-benefit-1_2.png) - -**Conclusion:** - -The example impressively shows that with the Catena-X methodology (live control loop), quality problems can be -identified earlier, the causes of faults can be found more quickly, corrective measures can be carried out in a more -targeted manner and the affected vehicles can be narrowed down more precisely. There are similar examples of the -conversion of production parameters at the supplier or design errors in the design of vehicle components. - -(Source: The example is based on real project results from piloting the Catena-X methodology at an OEM with 5 selected -suppliers) - -## Tutorials - -The following videos gives an overview of the presented Quality Improvement Use Case. - -Overview about how Quality Management is improved by Catena-X - - - -For more technical details take a look at the video in -the [Operation View](/docs-kits/kits/Quality-Kit/page_software-operation-view.md) - -Data driven Quality Management with -Catena-X - [Statements from the consortial partners](http://youtube.com/watch?v=T-Xh_LzXXbg) - - - -## Semantic Models - -### Semantic Structure - -![semantic structure chart](@site/static/img/quality-kit_semantic-structure-min.png) - -### Overview Data Model Entities - -Download for MS Excel: Quality_KIT_DataModelOverview_v1.0.xlsx - -### Common Data - -Data structured in the following semantic models are to be delivered by OEM & supplier. - -#### Quality Task - -Quality Task is the root element and describes why companies are working together on a quality topic and what they want -to do. All involved companies and their contact people are named. In addition, a flag tells what should be done with -exchanged data after a Quality Task is closed. A Quality Task (qTask) can be created by both **OEM or Supplier** and -defines why data is exchanged between two or more companies and what insights should be generated out of the transferred -data. In addition, there is a flag what happens with the transferred data when this qTask is closed. - -Github Link to semantic data -model: [CX-00036 Quality Task](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.quality_task) - -#### Quality Task Attachment - -Quality Task Attachment gives the ability to share data that is not standardized in an existing semantic model yet. Non -standardized data provisioning is realized as a file transfer. The model contains file parameters and the schema of -structured data in the provided file. A Quality Task Attachment can be provided by both **OEM or Supplier**. - -Github Link to semantic data -model: [CX-00092 Quality Task Attachment](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.quality_task_attachment) - -### OEM Data - -Data structured in the following semantic models are to be delivered by OEM. - -#### Fleet Vehicles Product Description - -Master data for each vehicle of a specific population - from an end customer view. This model represents the vehicle as -it was sold to the customer. All entities and properties are constant over the lifetime of the vehicle. - -Github Links to semantic data models: - -[CX-00037 Vehicle Product Description](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.vehicle.product_description) - -[CX-00091 Fleet Vehicles](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.vehicles) - -#### Fleet Diagnostic Data - -Data model for vehicle diagnostic data suitable for mass data transfer. Diagnostic data coming from multiple vehicles -that are affected by an quality issue + Diagnostic data from similar vehicles that are not affected by an quality issue. - -Github Link to semantic data -model: [CX-00038 Fleet Diagnostic Data](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.diagnostic_data) - -#### Fleet Claim Data - -Customer complaints that are linked to this QualityTask +Data about the exchange of potentially faulty parts. - -Github Link to semantic data -model: [CX-00039 Fleet Claim Data](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.claim_data) - -### Supplier Data - -Data structured in the following semantic models are to be delivered by Supplier (Tier n). - -#### Manufactured Parts Quality Information - -A selection of manufacturing-related parameters that help to solve a quality issue. - -Github Link to semantic data -model: [CX-00041 Manufactured Parts Quality Information](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufactured_parts_quality_information) - -#### Parts Analyses - -Analyses results of replaced and potentially faulty parts, that are linked to this Quality Task. - -Github Link to semantic data -model: [CX-00040 Parts Analyses](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.parts_analyses) - -## Logic & Schema - -### Business Logic - -![quality kit business logic diagram](@site/static/img/quality-kit_business-logic-1_1.png) - -The prerequisite for faster faster problem solving is the earliest possible detection of a problem (early warning) and -the fastest possible understanding of the error chain and cause (root cause analysis). Early Warning in general has to -be realized at all relevant points along the value chain. - -**Early Warning** in the **Field**, an early warning system for issues in a vehcile fleet, enables the earliest possible -detection of quality problems in products in vehicles after delivery. Vehicle data from the OEM is used for the -analysis, in particular fault codes that are stored in ECUs and read out during a workshop visit or frequently "over the -air". Increases in product-specific fault codes across the vehicle population provide a reliable indicator of quality -problems much earlier than through parts replacement and analysis. - -**Early Warning** in the **Production** focuses on early detection in the production of products. Various practical -scenarios have been developed and the corresponding technical requirements specified. If, for example, a supplier -discovers that a delivered product has a quality defect, the customer can be informed by means of notification. The -functionality of traceability (Catena-X Use Case Traceability) in the supply chain makes it possible to trace in which -vehicle or follow-up product the affected components are installed. Remedial measures can thus be applied specifically -to a limited quantity. - -If a problem is detected by early warning in the field or in production, a data-based **Root Cause Analysis** is -started. The aim is to derive hypotheses regarding the cause and effect relationship from the shared database of the -customer and supplier and to verify them together. With the Catena-X network functions, this transparency can be -achieved much faster. If the root cause is known more quickly, effective counter measures can be defined and implemented -much faster. - -### Architecture Overview - -![independant architecture r2312 chart](@site/static/img/quality-kit_general_app-independant_archicture-R2312.jpg) - -The tier-1 receives data on vehicle master data, existing claims and DTCs. Once the data is received, the Tier-1 -supplier is analyzing the data in order to detect patterns based on which DTCs and claims can be explained. The data is -shared and consumed as assets via the companies' EDC while the authorization is managed via the the shared services of -the consortia. - -#### Quality Components - -| Subsystem | Description | -|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Data Provisioning | This component provides a company's data to the Catena-X network by transforming it into the Catena-X format and publishing it. In Catena-X, data must be provided to the network based on existing standards from the other Kits. One example that can be used is the Connector Kit that builds a component based on the IDS protocol, e.g. the Connector of the Eclipse Dataspace Components (EDC). The data format used for Quality data is based on the aspects (Sub-)models published in the Semantic Hub. | -| Internal Systems | Existing internal systems of a Catena-X partner which provide data to Quality components. - For Data Provisioning: The data provided to Catena-X via the EDC should be fetched from a partner's internal system. e. g. quality claims, defect code collection system | -| Quality App | Enables traceability functionalities like quality alerts or notifications. When a Traceability App fetches data for digital twins (submodels), there are two options: - Directly access the partner's EDC (and the Digital Twin Registry) to connect to other partner's EDC and retrieve the data from ther - Use a local IRS service to get the data and let the IRS handle the EDC and Digital Twin Registry communication. | - -#### Catena-X Core Services - -| Subsystem | Description | -|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Eclipse Dataspace Components (EDC) | The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It will implement the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems. [Repository of the Catena-X specific EDC](https://github.com/eclipse-tractusx/tractusx-edc). | -| SSI → MIW | The Self-Sovereign Identity is also a life long identity,( when credentials are created and the MIW is not reachable) , the other verifiers should be able to check and validate exisiting valid credentials from distributed databases, directory or DLT. The MIW (also called "Custodian") provides a private/public key pair and related DID for a legal entity along with the onboarding. | -| Discovery Service | The EDC / dataspace discovery interface is a CX network public available endpoint which can get used to retrieve EDC endpoints and the related BPNs, as well as search for endpoints via the BPN. | - -## Business Process - -To realize the **Business Logic** described in the Quality Kit - -![quality kit business process diagram](@site/static/img/quality-kit_business-logic-1_1.png) - -all steps of the **Business Process** (described in -the [Development View](https://confluence.catena-x.net/display/BDPQ/WORK+IN+PROGRESS+-+Quality+KIT+-+Development+View)), -like data provisioning and consuming by the involved partner companies, are realized in compliance with -the [Catena-X Data Governance Framework](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). -Under this link you can find the latest version of the framework regulations as download. The documents are seperated in -the following levels: - -**Data Space Level**: 10 Golden Rules of Catena-X - -**Use Case Level -**: [Quality Management specific policy](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_Quality.pdf) -as download. - -**Data Offering** and **Usage Level** are defined by bi-lateral aligned policies and contracts between the cooperating -partner companies. Content is currently in definition. - -## Standards - -Our relevant standards can be downloaded from the -official [Catena-X Standard Library:](https://catena-x.net/de/standard-library) - -- [CX - 0018 Eclipse Data Space Connector EDC](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0018-EclipseDataConnector_EDC_-v.2.0.1.pdf)) - -- [CX - 0036 Semantic Model Quality Task](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0036_Semantic_Model_Quality_Task_v_1.0.1.pdf) - -- [CX - 0037 Semantic Model Vehicle Product Description](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0037_Semantic_Model_Vehicle_Product_Description_v_1.0.1.pdf) - -- [CX - 0038 Semantic Model Fleet Diagnostic Data](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0038_Semantic_Model_Fleet_Diagnostic_Data__v_1.0.1.pdf) - -- [CX - 0039 Semantic Model Fleet Claim Data](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0039_Semantic_Model_Fleet_Claim_Data__v_1.0.1.pdf) - -- [CX - 0040 Semantic Model Parts Analyses](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0040_Semantic_Model_Parts_Analyses_v_1.0.1.pdf) - -- [CX - 0041 Semantic Model Manufactured Parts Quality Information](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0041_Semantic_Model_Manufactured_Parts_Quality_Information_v_1.0.1.pdf) - -- [CX - 0071 Triangle Quality Early Warning Field and Root Cause)](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0071-TriangleQualityEarlyWarningFieldandRootCause-v1.0.0.pdf) - -- [CX - 0091 Aspect Model Fleet Vehicles](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0091-AspectModelFleetVehicles-v.1.0.0.pdf) - -- [CX - 0092 Aspect Model Quality Task Attachment](https://catena-x.net/de/standard-library#top) - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2023 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2023 Robert Bosch GmbH -- SPDX-FileCopyrightText: 2023,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2023 SAP SE -- SPDX-FileCopyrightText: 2023,2023 Siemens AG -- SPDX-FileCopyrightText: 2023,2023 Volkswagen AG diff --git a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_changelog.md deleted file mode 100644 index 89f4ffca90b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_changelog.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: Quality Kit Changelog -title: Changelog -description: 'Quality Kit' -sidebar_position: 1 ---- - -![Quality kit banner](@site/static/img/QualityKitIcon.png) - -### Quality KIT - -## [1.2.0] - 2024-03-08 - -### Added - -#### Development view - -- Added S3 adresses details -- Added properties details - -### Changed - -#### Adaption view - -Area Benefits: - -- Advantages slide converted to table -- Advantage example slide make-over - -Area Sematic model: - -- Deleted the detailed tables for each aspect model to make it more compact - see software development view instead - -Area Business process: - -- Deletion of picture "Levels" replaced by direct link to Catena-X website -- Deletion of link to policy as word document instead added link to PDF on Catena-X website - -Area Standards: - -- Added link to EDC standard to list - -### Removed - -- ./. - -## [1.1.0] - 2023-11-23 - -### Added - -- ./. - -### Changed - -#### Adaption view - -General - -- Update picture "Customer Journey" -- Update cosmetics to all pictures -- Document Use Case Framework Quality v1 added -- Update list of related standards -- License notice added - -Area Tutorials - -- Video "Data driven Quality Management with Catena-X - Statements from the consortial partners" now provided as link - only - -#### Development view - -- Updated Asset Transfer recommendation - -### Removed - -- ./. - -## [0.1.0] - 2023-08-18 - -### Added - -- Initial version of the Kit including adoption, operation and development view - -### Changed - -- ./. - -### Removed - -- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_software-operation-view.md deleted file mode 100644 index 1e04e1f40a3..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/page_software-operation-view.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: Operation View Quality Kit -title: Operation View -description: 'Quality Kit' -sidebar_position: 3 ---- - -![Quality kit banner](@site/static/img/QualityKitIcon.png) - -### Quality KIT - -Based on the information provided in the Quality KIT, it is possible to share quality related data between OEM and Tier n, use own and provide custom Quality Apps. The data sharing process, described in the [Development View](/docs-kits/next/kits/Quality-Kit/Software%20Development%20View/Specification%20Quality%20Kit) consists only standard Catena-X core components. Additional Quality KIT specific code or API are not provided and implementation therefor not necessary. - -An overview about the interaction of the different modules is provided in the following video: - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/get-quality-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/get-quality-notification.api.mdx deleted file mode 100644 index 3f2ca6a2172..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/get-quality-notification.api.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: get-quality-notification -title: "getQualityNotification" -description: "Resolves a quality notification" -sidebar_label: "getQualityNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Quality notification"],"description":"Resolves a quality notification","operationId":"getQualityNotification","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["notificationId","senderBPN","senderAddress","recipientBPN"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"A UUIDv4 to uniquely identify a quality notification."},"senderBPN":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender. Actually, this value is not used to resolve the quality notification. Rather, it is used to do a plausibility check."},"senderAddress":{"type":"string","format":"uri","example":"https://edc.company-xyz.io/BPNL00000003BW3S","description":"The Eclipse Dataspace Connector (EDC) URL of the sender. Actually, this value is not used to resolve the quality notification. Rather, it is used to do a plausibility check."},"recipientBPN":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver. Actually, this value is not used to resolve the quality notification. Rather, it is used to do a plausibility check."},"messageId":{"type":"string","format":"uuid","example":"c2801472-5f87-41a7-9a25-b0939c4e0dff","description":"A UUIDv4 to uniquely identify an individual quality notification message. If this parameter is provided, the message for this messageId is resolved. If this parameter is not provided, then the last available message is resolved."}}}}}},"responses":{"200":{"description":"Quality notification was resolved successfully","content":{"application/json":{"schema":{"type":"object","required":["notificationId","senderBPN","senderAddress","recipientBPN","severity","status","messageId"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"A UUIDv4 to uniquely identify a quality notification."},"senderBPN":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender."},"senderAddress":{"type":"string","format":"uri","example":"https://edc.company-xyz.io/BPNL00000003BW3S","description":"The Eclipse Dataspace Connector (EDC) URL of the sender."},"recipientBPN":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver."},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"],"example":"CRITICAL","description":"The severity of the quality notification describes its criticality."},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CLOSED"],"example":"SENT","description":"The status of the quality notification."},"targetDate":{"type":"string","format":"date-time","example":"2022-07-28T14:41:13.214Z","description":"The date and time when a processing of the notification is expected by the sender."},"messageId":{"type":"string","format":"uuid","example":"c2801472-5f87-41a7-9a25-b0939c4e0dff","description":"A UUIDv4 to uniquely identify an individual quality notification message."}}}}}},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"404":{"description":"Could not resolve the quality notification, because a quality notification with that notificationId does not exist"},"405":{"description":"Method not allowed"}},"method":"post","path":"/qualitynotifications/resolve","servers":[{"url":"/"}],"jsonRequestBodyExample":{"notificationId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","senderBPN":"BPNL00000003BW3S","senderAddress":"https://edc.company-xyz.io/BPNL00000003BW3S","recipientBPN":"BPNL00000003BV4H","messageId":"c2801472-5f87-41a7-9a25-b0939c4e0dff"},"info":{"title":"Notification API","description":"Notification API","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.1.0"},"postman":{"name":"get Quality Notification","description":{"content":"Resolves a quality notification","type":"text/plain"},"url":{"path":["qualitynotifications","resolve"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## getQualityNotification - - - -Resolves a quality notification - -
                Request Body
                - -Quality notification was resolved successfully - -
                Schema
                - -Request body was malformed - -
                - -Not authorized - -
                - -Forbidden - -
                - -Could not resolve the quality notification, because a quality notification with that notificationId does not exist - -
                - -Method not allowed - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api.info.mdx deleted file mode 100644 index e5c5a6a50f4..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: notification-api -title: "Notification API" -description: "Notification API" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 1.1.0 - -# Notification API - - - -Notification API - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/receive-quality-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/receive-quality-notification.api.mdx deleted file mode 100644 index 2e9c9d449a7..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/receive-quality-notification.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: receive-quality-notification -title: "receiveQualityNotification" -description: "Receives a new quality notification" -sidebar_label: "receiveQualityNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Quality notification"],"description":"Receives a new quality notification","operationId":"receiveQualityNotification","requestBody":{"content":{"application/json":{"schema":{"required":["header","content"],"type":"object","properties":{"header":{"type":"object","required":["notificationId","senderBPN","senderAddress","recipientBPN","classification","severity","status","messageId"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"A UUIDv4 to uniquely identify a quality notification."},"senderBPN":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender."},"senderAddress":{"type":"string","format":"uri","example":"https://edc.company-xyz.io/BPNL00000003BW3S","description":"The Eclipse Dataspace Connector (EDC) URL of the sender."},"recipientBPN":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver."},"classification":{"type":"string","enum":["QM-Investigation","QM-Alert"],"example":"QM-Investigation","description":"The classification defines the type of quality notification."},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"],"example":"CRITICAL","description":"The severity of the quality notification describes its criticality."},"relatedNotificationId":{"type":"string","format":"uuid","example":"7895a39d-c4ef-4b75-b39f-cae8207a262f","description":"A UUIDv4 to uniquely identify a related quality notification."},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CLOSED"],"example":"SENT","description":"The status of the quality notification."},"targetDate":{"type":"string","format":"date-time","example":"2022-07-28T14:41:13.214Z","description":"The date and time when a processing of the notification is expected by the sender."},"messageId":{"type":"string","format":"uuid","example":"c2801472-5f87-41a7-9a25-b0939c4e0dff","description":"A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a notification the messageId has to be a newly generated UUIDv4."}}},"content":{"type":"object","required":["listOfAffectedItems"],"properties":{"information":{"type":"string","maxLength":1000,"example":"Gear boxes loose oil while driving."},"listOfAffectedItems":{"type":"array","items":{"type":"string"},"example":["urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d","urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72"]}}}}}}}},"responses":{"201":{"description":"Quality notification was received successfully"},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"409":{"description":"Could not accept the send quality notification, because a quality notification with that notificationId already exists"},"422":{"description":"Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver)."}},"method":"post","path":"/qualitynotifications/receive","servers":[{"url":"/"}],"jsonRequestBodyExample":{"header":{"notificationId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","senderBPN":"BPNL00000003BW3S","senderAddress":"https://edc.company-xyz.io/BPNL00000003BW3S","recipientBPN":"BPNL00000003BV4H","classification":"QM-Investigation","severity":"CRITICAL","relatedNotificationId":"7895a39d-c4ef-4b75-b39f-cae8207a262f","status":"SENT","targetDate":"2022-07-28T14:41:13.214Z","messageId":"c2801472-5f87-41a7-9a25-b0939c4e0dff"},"content":{"information":"Gear boxes loose oil while driving.","listOfAffectedItems":["urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d","urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72"]}},"info":{"title":"Notification API","description":"Notification API","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.1.0"},"postman":{"name":"receive Quality Notification","description":{"content":"Receives a new quality notification","type":"text/plain"},"url":{"path":["qualitynotifications","receive"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## receiveQualityNotification - - - -Receives a new quality notification - -
                Request Body
                  header object required
                  content object required
                - -Quality notification was received successfully - -
                - -Request body was malformed - -
                - -Not authorized - -
                - -Forbidden - -
                - -Method not allowed - -
                - -Could not accept the send quality notification, because a quality notification with that notificationId already exists - -
                - -Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver). - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/sidebar.js deleted file mode 100644 index eacd5392d3b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api"},{"type":"category","label":"Quality notification","link":{"type":"generated-index","title":"Quality notification","slug":"/category/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/quality-notification"},"items":[{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/receive-quality-notification","label":"receiveQualityNotification","className":"api-method post"},{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/update-quality-notification","label":"updateQualityNotification","className":"api-method post"},{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/get-quality-notification","label":"getQualityNotification","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/update-quality-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/update-quality-notification.api.mdx deleted file mode 100644 index 6ea7afa451d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/update-quality-notification.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: update-quality-notification -title: "updateQualityNotification" -description: "Updates a quality notification" -sidebar_label: "updateQualityNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Quality notification"],"description":"Updates a quality notification","operationId":"updateQualityNotification","requestBody":{"content":{"application/json":{"schema":{"required":["header"],"type":"object","properties":{"header":{"type":"object","required":["notificationId","senderBPN","senderAddress","recipientBPN","status","messageId"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"A UUIDv4 to uniquely identify a quality notification. Actually, this value cannot be updated. Rather, it is used to do a plausibility check."},"senderBPN":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender. Actually, this value cannot be updated. Rather, it is used to do a plausibility check."},"senderAddress":{"type":"string","format":"uri","example":"https://edc.company-xyz.io/BPNL00000003BW3S","description":"The Eclipse Dataspace Connector (EDC) URL of the sender. Actually, this value cannot be updated. Rather, it is used to do a plausibility check."},"recipientBPN":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver. Actually, this value cannot be updated. Rather, it is used to do a plausibility check."},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"],"example":"CRITICAL","description":"The severity of the quality notification describes its criticality."},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CLOSED"],"example":"SENT","description":"The status of the quality notification."},"targetDate":{"type":"string","format":"date-time","example":"2022-07-28T14:41:13.214Z","description":"The date and time when a processing of the notification is expected by the sender."},"messageId":{"type":"string","format":"uuid","example":"c2801472-5f87-41a7-9a25-b0939c4e0dff","description":"A UUIDv4 to uniquely identify an individual quality notification message. In case of an update of a notification the messageId must be a newly generated UUIDv4. It must not be an existing messageId."}}},"content":{"type":"object","properties":{"information":{"type":"string","maxLength":1000,"example":"Gear boxes loose oil while driving."}}}}}}}},"responses":{"200":{"description":"Quality notification was updated successfully"},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"404":{"description":"Could not update the quality notification, because a quality notification with that notificationId does not exist"},"405":{"description":"Method not allowed"},"422":{"description":"Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed)."}},"method":"post","path":"/qualitynotifications/update","servers":[{"url":"/"}],"jsonRequestBodyExample":{"header":{"notificationId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","senderBPN":"BPNL00000003BW3S","senderAddress":"https://edc.company-xyz.io/BPNL00000003BW3S","recipientBPN":"BPNL00000003BV4H","severity":"CRITICAL","status":"SENT","targetDate":"2022-07-28T14:41:13.214Z","messageId":"c2801472-5f87-41a7-9a25-b0939c4e0dff"},"content":{"information":"Gear boxes loose oil while driving."}},"info":{"title":"Notification API","description":"Notification API","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.1.0"},"postman":{"name":"update Quality Notification","description":{"content":"Updates a quality notification","type":"text/plain"},"url":{"path":["qualitynotifications","update"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Notification API/v1.1.0 - mandatory/notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## updateQualityNotification - - - -Updates a quality notification - -
                Request Body
                  header object required
                  content object
                - -Quality notification was updated successfully - -
                - -Request body was malformed - -
                - -Not authorized - -
                - -Forbidden - -
                - -Could not update the quality notification, because a quality notification with that notificationId does not exist - -
                - -Method not allowed - -
                - -Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed). - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api.info.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api.info.mdx deleted file mode 100644 index 366d6bff17e..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api.info.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: notification-api -title: "Notification API" -description: "Notification API" -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiDemoPanel/Export"; - -Version: 1.2.0 - -# Notification API - - - -Notification API - - - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/receive-quality-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/receive-quality-notification.api.mdx deleted file mode 100644 index a5cb5aefe31..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/receive-quality-notification.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: receive-quality-notification -title: "receiveQualityNotification" -description: "Receives a new quality notification" -sidebar_label: "receiveQualityNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Quality notification"],"description":"Receives a new quality notification","operationId":"receiveQualityNotification","requestBody":{"content":{"application/json":{"schema":{"required":["header","content"],"type":"object","properties":{"header":{"type":"object","required":["messageId","context","sendDateTime","senderBpn","recipientBpn","version"],"properties":{"messageId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused."},"context":{"type":"string","enum":["TRACE-QM-Investigation:1.0.0","TRACE-QM-Alert:1.0.0"],"example":"TRACE-QM-Investigation:1.0.0","description":"The context defines the type of quality notification. The context is chosen by the initiator of a quality notification. The QM-Investigation describes a quality issue top-down when it's sent towards the supplier. The QM-Alert describes a quality issue bottom-up when it's sent towards the customer.\n\nTRACE-QM-Investigation:1.0.0\n\nA quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part / batch. To achieve this, a customer who has purchased serialized parts/ batches can request his supplier to investigate the affected serialized parts / batches regarding the suspected problem.\n\nTRACE-QM-Alert:1.0.0\n\nA quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts/ batches delivered to that customer. Thus, the quality alert - besides other information - contains a list of the affected serialized parts/ batches and a description of the quality issue(s). In the worst case the quality alert can result in a recall of the affected serialized parts/ batches.\n\nThe value MUST consist of two parts -- an identifier of the context (e.g. business domain, etc.) followed by a version number. Both the identifier and the version number MUST correspond to the content of the message. Versioning only refers to major versions in both default and fallback cases. Note -- The version of the message's header is specified in the version field."},"sendDateTime":{"type":"string","format":"date-time","example":"2022-07-28T14:41:13.214Z","description":"Time zone-aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard."},"senderBpn":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender. It is set by the initiator (i.e., sender) of the notification."},"recipientBpn":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver. It is set by the initiator (i.e., sender) of the notification."},"expectedResponseBy":{"type":"string","format":"date-time","example":"2022-08-28T14:41:13.214Z","description":"Time zone-aware timestamp holding the date and the time by which the sending party expects a certain type of response from the receiving party.The meaning and interpretation of the field's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard."},"relatedMessageId":{"type":"string","format":"uuid","example":"7895a39d-c4ef-4b75-b39f-cae8207a262f","description":"A UUIDv4 to uniquely identify a related quality notification. This field is not about mapping the internal references between quality notifications. This field should only reference the quality notifications that\n\n\\- the recipient can basically understand in his business context and\n\n\\- are of concern to the recipient\n\nThat means, that in most instances, the sender and receiver of both quality notifications (i.e., the send one and the referenced one) are the same. Examples Due to an QM-Investigation an QM-Alert is created and referencing to the QM-Investigation. An QM-Investigation is followed by another QM-Investigation that is referencing to the same quality issue."},"version":{"type":"string","example":"urn:samm:io.catenax.message_header:1.0.0","description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X."}}},"content":{"type":"object","required":["notificationId","status","severity","listOfAffectedItems"],"properties":{"notificationId":{"type":"string","format":"uuid","example":"41d743c3-6e8a-4393-88af-10494e50bea9","description":"A UUIDv4 to uniquely identify a quality notification. This unique ID gets generated by the initiator of a quality notification. The sender and receiver of a quality notification use this unique ID to reference a quality notification."},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CLOSED"],"example":"SENT","description":"The status of the quality notification. The following entries are supported and allowed\n\n- CREATED This status is an internal status and is used after the initial creation of a notification. It is not communicated to an other CX/business partner.\n\n- SENT This status means that the notification has been sent out. This status is shown on the sender side (and not on the receiver side).\n\n- RECEIVED This status means that the notification has been received by the receiver. The status is shown on sender and receiver side.\n\n- ACKNOWLEDGED Defines that a user has confirmed that the notification has been received. This does NOT mean that the user accepted the notification in the sense of an admission of guilt or the like. However, it means that the notification gets processed by the user (or the organization behind).\n\n- ACCEPTED The status expresses that the received agrees on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information.\n\n- DECLINED The status expresses that the received does not agree on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information.\n\n- CLOSED This status is set by the initiator of the notification either to regularly close the notification (i.e., after the receiver has set the status to ACCEPTED or DECLINED) or to abort the processing of the notification (e.g., because the notification is not relevant anymore)."},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"],"example":"CRITICAL","description":"The severity of the quality notification describes its criticality. The severity is set by the initiator of a quality notification. The following entries are supported and allowed\n\n- MINOR This is the case if the quality issue(s) is/are not affecting any functionalities of the serialized parts/batch e.g., aesthetical issue.\n\n- MAJOR This is the case if the quality issue(s) is/are so critical that the functionality of the serialized parts/batch is partially not given. This is also the case if the serialized part / batch is no longer functional, but the missing functionality\n(a) can be compensated by other parts of a superordinate system or (b) has a relatively low significance / benefit\n\n- CRITICAL This is the case if the quality issue(s) is/are so critical that the basic functionality of the serialized parts/batch is no longer given.\n\n- LIFE-THREATENING This is the case if the quality issue(s) is/are so critical that it even endangers human lives e.g., the airbag or break is not working."},"information":{"type":"string","maxLength":1000,"example":"Gear boxes loose oil while driving.","description":"A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification."},"listOfAffectedItems":{"type":"array","items":{"type":"string"},"example":["urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d","urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72"],"description":"Items are added by the initiator (i.e., sender) of a notification. Once the notification is not in the status CREATED (e.g., it has been sent) the array cannot be changed."}}}}}}}},"responses":{"201":{"description":"Quality notification was received successfully"},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"409":{"description":"Could not accept the send quality notification, because a quality notification with that notificationId already exists"},"422":{"description":"Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver)."}},"method":"post","path":"/qualitynotifications/receive","servers":[{"url":"/"}],"jsonRequestBodyExample":{"header":{"messageId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","context":"TRACE-QM-Investigation:1.0.0","sendDateTime":"2022-07-28T14:41:13.214Z","senderBpn":"BPNL00000003BW3S","recipientBpn":"BPNL00000003BV4H","expectedResponseBy":"2022-08-28T14:41:13.214Z","relatedMessageId":"7895a39d-c4ef-4b75-b39f-cae8207a262f","version":"urn:samm:io.catenax.message_header:1.0.0"},"content":{"notificationId":"41d743c3-6e8a-4393-88af-10494e50bea9","status":"SENT","severity":"CRITICAL","information":"Gear boxes loose oil while driving.","listOfAffectedItems":["urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d","urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72"]}},"info":{"title":"Notification API","description":"Notification API","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.2.0"},"postman":{"name":"receive Quality Notification","description":{"content":"Receives a new quality notification","type":"text/plain"},"url":{"path":["qualitynotifications","receive"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## receiveQualityNotification - - - -Receives a new quality notification - -
                Request Body
                  header object required
                  content object required
                - -Quality notification was received successfully - -
                - -Request body was malformed - -
                - -Not authorized - -
                - -Forbidden - -
                - -Method not allowed - -
                - -Could not accept the send quality notification, because a quality notification with that notificationId already exists - -
                - -Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver). - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/sidebar.js b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/sidebar.js deleted file mode 100644 index f3237386590..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/sidebar.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = [{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api"},{"type":"category","label":"Quality notification","link":{"type":"generated-index","title":"Quality notification","slug":"/category/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/quality-notification"},"items":[{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/receive-quality-notification","label":"receiveQualityNotification","className":"api-method post"},{"type":"doc","id":"kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/update-quality-notification","label":"updateQualityNotification","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/update-quality-notification.api.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/update-quality-notification.api.mdx deleted file mode 100644 index 049e8ae9581..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/update-quality-notification.api.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: update-quality-notification -title: "updateQualityNotification" -description: "Updates a quality notification" -sidebar_label: "updateQualityNotification" -hide_title: true -hide_table_of_contents: true -api: {"tags":["Quality notification"],"description":"Updates a quality notification","operationId":"updateQualityNotification","requestBody":{"content":{"application/json":{"schema":{"required":["header","content"],"type":"object","properties":{"header":{"type":"object","required":["messageId","context","sendDateTime","senderBpn","recipientBpn","version"],"properties":{"messageId":{"type":"string","format":"uuid","example":"a7954026-3aff-4b6c-92bf-04671ef2fa46","description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused."},"context":{"type":"string","enum":["TRACE-QM-Investigation:1.0.0","TRACE-QM-Alert:1.0.0"],"example":"TRACE-QM-Investigation:1.0.0","description":"The context defines the type of quality notification. The context is chosen by the initiator of a quality notification. The QM-Investigation describes a quality issue top-down when it's sent towards the supplier. The QM-Alert describes a quality issue bottom-up when it's sent towards the customer.\n\nTRACE-QM-Investigation:1.0.0\n\nA quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part / batch. To achieve this, a customer who has purchased serialized parts/ batches can request his supplier to investigate the affected serialized parts / batches regarding the suspected problem.\n\nTRACE-QM-Alert:1.0.0\n\nA quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts/ batches delivered to that customer. Thus, the quality alert - besides other information - contains a list of the affected serialized parts/ batches and a description of the quality issue(s). In the worst case the quality alert can result in a recall of the affected serialized parts/ batches.\n\nThe value MUST consist of two parts -- an identifier of the context (e.g. business domain, etc.) followed by a version number. Both the identifier and the version number MUST correspond to the content of the message. Versioning only refers to major versions in both default and fallback cases. Note -- The version of the message's header is specified in the version field."},"sendDateTime":{"type":"string","format":"date-time","example":"2022-07-28T14:41:13.214Z","description":"Time zone-aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard."},"senderBpn":{"type":"string","example":"BPNL00000003BW3S","description":"The business partner number (BPN) of the sender. It is set by the initiator (i.e., sender) of the notification."},"recipientBpn":{"type":"string","example":"BPNL00000003BV4H","description":"The business partner number (BPN) of the receiver. It is set by the initiator (i.e., sender) of the notification."},"expectedResponseBy":{"type":"string","format":"date-time","example":"2022-08-28T14:41:13.214Z","description":"Time zone-aware timestamp holding the date and the time by which the sending party expects a certain type of response from the receiving party.The meaning and interpretation of the field's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard."},"relatedMessageId":{"type":"string","format":"uuid","example":"7895a39d-c4ef-4b75-b39f-cae8207a262f","description":"A UUIDv4 to uniquely identify a related quality notification. This field is not about mapping the internal references between quality notifications. This field should only reference the quality notifications that\n\n\\- the recipient can basically understand in his business context and\n\n\\- are of concern to the recipient\n\nThat means, that in most instances, the sender and receiver of both quality notifications (i.e., the send one and the referenced one) are the same. Examples Due to an QM-Investigation an QM-Alert is created and referencing to the QM-Investigation. An QM-Investigation is followed by another QM-Investigation that is referencing to the same quality issue."},"version":{"type":"string","example":"urn:samm:io.catenax.message_header:1.0.0","description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X."}}},"content":{"required":["notificationId"],"type":"object","properties":{"notificationId":{"type":"string","format":"uuid","example":"41d743c3-6e8a-4393-88af-10494e50bea9","description":"A message can have several notifications, which are exchanged between the supply chain partners. Each notification shall be identifiable, and thus, has an unique notification id. This notification id is automatically generated for each notification that is sent. Every time a HTTP Post is send a new notification ID is generated. A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a message the notificationId has to be a newly generated UUIDv4."},"status":{"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CLOSED"],"example":"SENT","description":"The status of the quality notification. The following entries are supported and allowed\n\n- CREATED This status is an internal status and is used after the initial creation of a notification. It is not communicated to an other CX/business partner.\n\n- SENT This status means that the notification has been sent out. This status is shown on the sender side (and not on the receiver side).\n\n- RECEIVED This status means that the notification has been received by the receiver. The status is shown on sender and receiver side.\n\n- ACKNOWLEDGED Defines that a user has confirmed that the notification has been received. This does NOT mean that the user accepted the notification in the sense of an admission of guilt or the like. However, it means that the notification gets processed by the user (or the organization behind).\n\n- ACCEPTED The status expresses that the received agrees on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information.\n\n- DECLINED The status expresses that the received does not agree on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information.\n\n- CLOSED This status is set by the initiator of the notification either to regularly close the notification (i.e., after the receiver has set the status to ACCEPTED or DECLINED) or to abort the processing of the notification (e.g., because the notification is not relevant anymore)."},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"],"example":"CRITICAL","description":"The severity of the quality notification describes its criticality. The severity is set by the initiator of a quality notification. The following entries are supported and allowed\n\n- MINOR This is the case if the quality issue(s) is/are not affecting any functionalities of the serialized parts/batch e.g., aesthetical issue.\n\n- MAJOR This is the case if the quality issue(s) is/are so critical that the functionality of the serialized parts/batch is partially not given. This is also the case if the serialized part / batch is no longer functional, but the missing functionality\n(a) can be compensated by other parts of a superordinate system or (b) has a relatively low significance / benefit\n\n- CRITICAL This is the case if the quality issue(s) is/are so critical that the basic functionality of the serialized parts/batch is no longer given.\n\n- LIFE-THREATENING This is the case if the quality issue(s) is/are so critical that it even endangers human lives e.g., the airbag or break is not working."},"information":{"type":"string","maxLength":1000,"example":"Gear boxes loose oil while driving.","description":"A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification."}}}}}}}},"responses":{"200":{"description":"Quality notification was updated successfully"},"400":{"description":"Request body was malformed"},"401":{"description":"Not authorized"},"403":{"description":"Forbidden"},"404":{"description":"Could not update the quality notification, because a quality notification with that notificationId does not exist"},"405":{"description":"Method not allowed"},"422":{"description":"Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed)."}},"method":"post","path":"/qualitynotifications/update","servers":[{"url":"/"}],"jsonRequestBodyExample":{"header":{"messageId":"a7954026-3aff-4b6c-92bf-04671ef2fa46","context":"TRACE-QM-Investigation:1.0.0","sendDateTime":"2022-07-28T14:41:13.214Z","senderBpn":"BPNL00000003BW3S","recipientBpn":"BPNL00000003BV4H","expectedResponseBy":"2022-08-28T14:41:13.214Z","relatedMessageId":"7895a39d-c4ef-4b75-b39f-cae8207a262f","version":"urn:samm:io.catenax.message_header:1.0.0"},"content":{"notificationId":"41d743c3-6e8a-4393-88af-10494e50bea9","status":"SENT","severity":"CRITICAL","information":"Gear boxes loose oil while driving."}},"info":{"title":"Notification API","description":"Notification API","license":{"name":"Apache License v2.0","url":"http://apache.org/v2"},"version":"1.2.0"},"postman":{"name":"update Quality Notification","description":{"content":"Updates a quality notification","type":"text/plain"},"url":{"path":["qualitynotifications","update"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} -sidebar_class_name: "post api-method" -info_path: docs-kits/kits/Traceability Kit/Software Development View/Notification API/v1.2.0 - optional/notification-api -custom_edit_url: null ---- - -import ApiTabs from "@theme/ApiTabs"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import TabItem from "@theme/TabItem"; - -## updateQualityNotification - - - -Updates a quality notification - -
                Request Body
                  header object required
                  content object required
                - -Quality notification was updated successfully - -
                - -Request body was malformed - -
                - -Not authorized - -
                - -Forbidden - -
                - -Could not update the quality notification, because a quality notification with that notificationId does not exist - -
                - -Method not allowed - -
                - -Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed). - -
                - \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx deleted file mode 100644 index 33cfe89c844..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: App Provider Development View Traceability Kit -title: App Provider -description: "Traceability Kit" -sidebar_position: 2 ---- - - - -import Notice from '../part_notice.mdx' - -![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) - -The following page offers specific developer resources, including payloads and API endpoints for data consumer and app provider. It is important to read the business and architecture view first to understand everything. - -_Coming soon in the next release, stay tuned!_ - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_aspect-models.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_aspect-models.mdx deleted file mode 100644 index 3ec2f2cb1bc..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_aspect-models.mdx +++ /dev/null @@ -1,157 +0,0 @@ ---- -sidebar_class_name: hidden ---- - - - -import AspectModelOverview from './../../Industry Core Kit/Software Development View/part_aspect-model-overview.mdx' - -## Aspect Models - -Aspect models are mostly easy to create by transforming a company's internal data into the target aspect model. Transformations are mostly straightforward in these cases. If necessary, special steps in creating aspect models are mentioned in the corresponding sections. - - - -### SingelLevelUsageAsPlanned - -The aspect provides the information in which parent part(s)/product(s) the given item is assembled in. This could be a 1:1 relationship in terms of a e.g. a brake component or 1:n for e.g. coatings. The given item as well as the parent item must refer to an object from as planned lifecycle phase. If multiple versions of parent parts exist that the child part can be assembled into, all versions of the parent part are included in the usage list. - -Aspect model in GitHub: -- Version 1.1.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_planned/1.1.0 - - -##### Example: Submodel `SingleLevelUsageAsPlanned` for a Catalog Part - -```json -{ - "parentParts": [ - { - "parentCatenaXId": "urn:uuid:c8B01D5A-ce0B-6Dd4-5bA0-A3e3fcE9cA93", - "quantity": { - "quantityNumber": 2.5, - "measurementUnit": "unit:litre" - }, - "createdOn": "2022-02-03T14:48:54.709Z", - "lastModifiedOn": "2022-02-03T14:48:54.709Z" - } - ], - "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d" -} -``` - -### TractionBatteryCode - -The aspect provides the information of the Traction battery code of a battery cell, a battery module or a battery pack according to the chinese standard GB/T 34014-2017. Furthermore, it provides the traction battery codes for the assembled sub parts of the component, e.g. Traction battery code of a battery module plus all the traction battery codes of the assembled battery cells of this battery module. - -Aspect model in GitHub: -- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.traction_battery_code/1.0.0 - -##### Example: Submodel `TractionBatteryCode` for a Battery Cell - -```json -{ - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382320" -} -``` - -##### Example: Submodel `TractionBatteryCode` for a Battery Module - -```json -{ - "productType": "module", - "tractionBatteryCode": "B54MCPM27KLPCLE6A7519857", - "subcomponents": [ - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382320" - }, - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382321" - } - ] -} -``` - -##### Example: Submodel `TractionBatteryCode` for a Battery Pack - -```json -{ - "productType": "pack", - "tractionBatteryCode": "4A6PCPM27KLPCLE742946319", - "subcomponents": [ - { - "productType": "module", - "tractionBatteryCode": "B54MCPM27KLPCLE6A7519857", - "subcomponents": [ - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382320" - }, - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382321" - } - ] - }, - { - "productType": "module", - "tractionBatteryCode": "B54MCPM27KLPCLE6A7519858", - "subcomponents": [ - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382322" - }, - { - "productType": "cell", - "tractionBatteryCode": "X12CCPM27KLPCLE662382323" - } - ] - } - ] -} -``` - -### SingleLevelUsageAsBuilt - -Aspect model in GitHub: -- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built/2.0.0 - -##### Example: Submodel `SingleLevelUsageAsBuilt` for a Instance Part - -```json -{ - "catenaXId" : "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", - "customers" : [ { - "parentItems" : [ { - "catenaXId" : "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", - "quantity" : { - "quantityNumber" : 2.5, - "measurementUnit" : "unit:litre" - }, - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ], - "businessPartner" : "BPNL50096894aNXY", - "createdOn" : "2022-02-03T14:48:54.709Z", - "lastModifiedOn" : "2022-02-03T14:48:54.709Z" - } ] -} -``` \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_policies.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_policies.mdx deleted file mode 100644 index ba190a44a27..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/part_policies.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -sidebar_class_name: hidden ---- - - - -## Policies - -### Access Policies - -Access policies like the BPN access policy are described in the [policy section of the Industry Core KIT](../../Industry%20Core%20Kit/Software%20Development%20View/Policies%20Development%20View%20Industry%20Core%20Kit). - -### Usage Policies / Contract Policies - -It is recommended to restrict the data usage for all traceability aspects. An example of one usage policy containing three different constraints is shown and described in the following: - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "", // Important for the contract definition - "policy": { - "@type": "Policy", - "odrl:permission": [ - { - "odrl:action": "USE", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:and": [ // All of the following three constraints have to be fullfilled (and, not or) - // First constraint to verify the the Catena-X membership - { - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - }, - // Second constraint to verify if the framework agreement for the traceability use case is accepted - { - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.traceability", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" - }, - // Third constraint to define the specific purpose, further detailed in the framework agreement - { - "@type": "Constraint", - "odrl:leftOperand": "PURPOSE", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "" // See list in the framework agreement - } - ] - } - } - ] - } -} -``` -> :raised_hand: **Standardization** -> Keep in mind that the `odrl:leftOperand` and the `odrl:rightOperand` will be standardized. Therefore, check the latest JSON payload after every release if it is still up-to-date. Otherwise, data sharing might not be possible if the policies are wrong. - -#### Membership Policy - -To verify the participants Catena-X membership, the `Membership` verifiable credential can be used. In case of a policy, the data can only be used from verified Catena-X members. The payload is shown in the first constraint-part of the example above and described in detail in the [EDC part of the SSI documentation](https://github.com/eclipse-tractusx/ssi-docu/blob/8f305ef7007a6bdb753f22b69b81097a1b3b1661/docs/architecture/cx-3-2/edc/policy.definitions.md#1-membership-constraint). - -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "Membership", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" -} -``` - -#### Framework Agreement Policy - -To verify if a participant accepted the framework agreement of a specific use case created by the [Catena-X association](https://catena-x.net/en/about-us/the-association), the `FrameworkAgreement.traceability` verifiable credential can be used for the traceability framework agreement. Further details and the framework agreement itself can be downloaded from the [Governance Framework for Data Space Operations](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). In case of a policy, the data can only be used from accepted and verified traceability framework agreement members. This is shown in the second constraint-part of the example above and described in detail in the [EDC part of the SSI documentation](https://github.com/eclipse-tractusx/ssi-docu/blob/8f305ef7007a6bdb753f22b69b81097a1b3b1661/docs/architecture/cx-3-2/edc/policy.definitions.md#35-traceability). - -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "FrameworkAgreement.traceability", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "active" -} -``` - -#### Purpose-based Policy - -To further restrict the data usage, a purpose-based policy can be used. If, for example, the purpose mentions a quality investigation, this means that the data usage is only allowed for handling and working on the quality investigation. All possible purposes and their meanings are defined in the [traceability framework agreement](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). This allows to create a uniform understanding and a standardized set of payloads in the network by connecting technical strings to legal agreements. - -It is highly recommended to only use this purpose-based policy together with the [Framework Agreement Policy](#framework-agreement-policy). Only with both together it can be ensured that the payload of the purpose policy is agreed by the other part and is based on the same set. - -Details about the endpoint and payload can be found in the [Transfer Data sample in the tractus-x EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/bc7a1aaf8e1d2a742f71c04e98bcdf409a274fc3/docs/samples/Transfer%20Data.md#2-setup-data-offer). - -```json -{ - "@type": "Constraint", - "odrl:leftOperand": "PURPOSE", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "" -} -``` - -The `` have to be replaced with one purpose string defined in the [traceability framework agreement](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). - -#### Individual Agreements and Contracts - -There might be some individual agreements and contracts between two companies. It is possible to reference such a bilateral contract with the purpose-based policy. In this case, the `odrl:rightOperand` includes the unique reference to the contract. It is planned to standardize the format in future upcoming releases. - -### Contract Definitions - -In a last step, these policies need to be connected to the data by a contract definition (see [Transfer Data sample in the tractus-x EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/bc7a1aaf8e1d2a742f71c04e98bcdf409a274fc3/docs/samples/Transfer%20Data.md#2-setup-data-offer) for further details). -When using an [Access Policy](#access-policies), their `id` needs to be included as a value of the `accessPolicyId` key in the contract definition. When using an above-mentioned [Usage Policy](#usage-policies--contract-policies), their `id` needs to be included as a value of the `contractPolicyId` key in the contract definition. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.png deleted file mode 100644 index 78ecbd0f5e9..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.png deleted file mode 100644 index 0987b1b5667..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.puml b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.puml deleted file mode 100644 index 36a386031d5..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.puml +++ /dev/null @@ -1,87 +0,0 @@ -@startuml - -autonumber "[00]" -autoactivate on - -box "Sender" -participant "Some (Traceability) App" as TraceApp1 order 0 -participant "Notification EDC Adapter" as NAdapter order 1 -rnote right NAdapter -Not mandatory as the interaction -with the EDC can be implemented -also in the (Traceability) App. - -However, a similar functionality -(e.g., fetch catalog) -- as shown below - must be -provided. -end rnote -participant "EDC" as SEDC order 2 -end box -participant "Discovery Service" as SD order 3 -box "Receiver" -participant "EDC" as REDC order 4 -participant "Some (Traceability) App" as TraceApp2 order 5 -end box - -TraceApp2 -> REDC: Create EDC Asset for \n"Quality Alert Resolve"\nwith ""DataAddress"" as ""HTTP POST"" endpoint -return OK -TraceApp1 -> TraceApp1: Trigger Resolution of Notification -deactivate TraceApp1 -TraceApp1 -> SD: Resolve EDC Endpoint -rnote right TraceApp1 -BPN of supply chain partner (as given in existing notification) -end rnote -return OK -TraceApp1 -> NAdapter: Send Notification **Resolution** -rnote right TraceApp1 -Payload as described above. -end rnote -NAdapter -> SEDC: Fetch Catalog -SEDC <-[dashed]-> REDC: Fetch Catalog -NAdapter -> NAdapter: Find and Select Contract -rnote right NAdapter -Find the correct contract offer with: - -"asset:prop:notificationtype": "qualityalert", -"asset:prop:notificationmethod": "resolve" -end rnote -deactivate NAdapter -NAdapter -> SEDC: Intiatiate Contract Negotiation -SEDC <-[dashed]-> REDC: Contract Negotiation -NAdapter -> SEDC: Inititate Data Transfer -SEDC <-[dashed]-> REDC: Establish Channel -NAdapter -> SEDC: POST /public/... -rnote right NAdapter -Payload as described above. -end rnote -SEDC -> REDC: POST /public/... -rnote right SEDC -Payload as described above. -end rnote -REDC -> TraceApp2: POST /notifications/qualityalerts/resolve -rnote right REDC -Payload as described above. -end rnote -rnote right REDC -The http path depends on the DataAddress -in the EDC Data Asset. Thus, it depends on the -(Trace) app. -end rnote -TraceApp2 -[dashed]->REDC: ""200"" OK -rnote left TraceApp2 -Payload as described above. -end rnote -REDC -[dashed]-> SEDC: ""200"" OK -rnote left REDC -Payload as described above. -end rnote -SEDC -[dashed]-> NAdapter: ""200"" OK -rnote left SEDC -Payload as described above. -end rnote -NAdapter -[dashed]-> TraceApp1: ""200"" OK -rnote left NAdapter -Payload as described above. -end rnote -@enduml \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.png deleted file mode 100644 index 144ac052a3e..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.puml b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.puml deleted file mode 100644 index 47c71ef671d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.puml +++ /dev/null @@ -1,87 +0,0 @@ -@startuml - -autonumber "[00]" -autoactivate on - -box "Sender" -participant "Some (Traceability) App" as TraceApp1 order 0 -participant "Notification EDC Adapter" as NAdapter order 1 -rnote right NAdapter -Not mandatory as the interaction -with the EDC can be implemented -also in the (Traceability) App. - -However, a similar functionality -(e.g., fetch catalog) -- as shown below - must be -provided. -end rnote -participant "EDC" as SEDC order 2 -end box -participant "Discovery Service" as SD order 3 -box "Receiver" -participant "EDC" as REDC order 4 -participant "Some (Traceability) App" as TraceApp2 order 5 -end box - -TraceApp2 -> REDC: Create EDC Asset for \n"Quality Investigation Resolve"\nwith ""DataAddress"" as ""HTTP POST"" endpoint -return OK -TraceApp1 -> TraceApp1: Trigger Resolution of Notification -deactivate TraceApp1 -TraceApp1 -> SD: Resolve EDC Endpoint -rnote right TraceApp1 -BPN of supply chain partner (as given in existing notification) -end rnote -return OK -TraceApp1 -> NAdapter: Send Notification **Resolution** -rnote right TraceApp1 -Payload as described above. -end rnote -NAdapter -> SEDC: Fetch Catalog -SEDC <-[dashed]-> REDC: Fetch Catalog -NAdapter -> NAdapter: Find and Select Contract -rnote right NAdapter -Find the correct contract offer with: - -"asset:prop:notificationtype": "qualityinvestigation", -"asset:prop:notificationmethod": "resolve" -end rnote -deactivate NAdapter -NAdapter -> SEDC: Intiatiate Contract Negotiation -SEDC <-[dashed]-> REDC: Contract Negotiation -NAdapter -> SEDC: Inititate Data Transfer -SEDC <-[dashed]-> REDC: Establish Channel -NAdapter -> SEDC: POST /public/... -rnote right NAdapter -Payload as described above. -end rnote -SEDC -> REDC: POST /public/... -rnote right SEDC -Payload as described above. -end rnote -REDC -> TraceApp2: POST /notifications/qualityinvestigations/resolve -rnote right REDC -Payload as described above. -end rnote -rnote right REDC -The http path depends on the DataAddress -in the EDC Data Asset. Thus, it depends on the -(Trace) app. -end rnote -TraceApp2 -[dashed]->REDC: ""200"" OK -rnote left TraceApp2 -Payload as described above. -end rnote -REDC -[dashed]-> SEDC: ""200"" OK -rnote left REDC -Payload as described above. -end rnote -SEDC -[dashed]-> NAdapter: ""200"" OK -rnote left SEDC -Payload as described above. -end rnote -NAdapter -[dashed]-> TraceApp1: ""200"" OK -rnote left NAdapter -Payload as described above. -end rnote -@enduml \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.png deleted file mode 100644 index bda28d1f042..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.png deleted file mode 100644 index 47553bf4c75..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png deleted file mode 100644 index 2ae96f9103b..00000000000 Binary files a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png and /dev/null differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png.license b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png.license deleted file mode 100644 index 725b4f88d99..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.png.license +++ /dev/null @@ -1,15 +0,0 @@ -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 BASF SE -- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) -- SPDX-FileCopyrightText: 2023 German Edge Cloud GmbH & Co. KG -- SPDX-FileCopyrightText: 2023 Mercedes Benz AG -- SPDX-FileCopyrightText: 2023 Robert Bosch Manufacturing Solutions GmbH -- SPDX-FileCopyrightText: 2023 SAP SE -- SPDX-FileCopyrightText: 2023 Siemens AG -- SPDX-FileCopyrightText: 2023 T-Systems International GmbH -- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation -- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Traceability%20Kit (latest version) \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_architecture-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_architecture-view.mdx deleted file mode 100644 index ca4e588803a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_architecture-view.mdx +++ /dev/null @@ -1,193 +0,0 @@ ---- -id: Architecture View Traceability Kit -title: Architecture View -description: 'Traceability Kit' -sidebar_position: 2 ---- - - - -import Notice from './part_notice.mdx' - -![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) - -The following page offers an architecture perspective including the main building blocks and information regarding communication between different components, shown as sequence diagrams in a runtime view. - -The architecture of Traceability is built upon several other components of Catena-X. You need to be familiar with these components to understand the Traceability architecture: - -- Industry Core for a basic understanding of digital twins and aspect models, -- Asset Administration Shell (AAS) as the underlying standard for digital twins, -- Digital Twin Registry (DTR) as the main service to store, publish, and search digital twins, and -- Eclipse Dataspace Connector (EDC) as the central data exchange infrastructure of Catena-X. - -Additionally you might make yourself familiar with -- Item Relationship Service for traversing digital twin data chains based on the Data Chain Template, -- EDC Discovery for finding the EDC of a Catena-X partner, and -- SAMM as the modelling standard for aspect models. - -## Scope and Context - -This KIT describes two core capabilties of Traceability: -- Data Provisioning: This capability focusses on how data providers must prepare and publish their data (from their internal systems) to participate in the Traceability use case (and other use cases that want to use Traceability data). -- Traceability App: This capability defines what mandatory features a Traceability app must provide and how to implement them to be interoperable with other Traceability apps. Additionally, optional features of Traceability apps are also included. This information is used by software vendors to develop Traceability-compliant apps for Catena-X. - -## Building Block View - -This overview shows the two core capabilities of Traceabilty and the Catena-X Core Services onto which Traceability is built and which are required by the Traceability architecture. - -![Architecture - Level 1](./assets/architecture_level_1.png) - -### Traceability Components - -| Subsystem | Description | -|:------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Data Provisioning | This component extracts data from a company's internal systems, transforms it into digital twins, and publishes these digital twins in the DTR and their data in the EDC (as submodels, based on aspect models). The published data is used by Traceability apps as well as other use cases that require Traceabiilty data. | -| Traceability App | A Traceability app has two core functionalities:
                • providing an UI to show the parts manufactured by a company and published as digital twins
                • create and process quality alerts and quality investigations for quality actions
                | -| Internal Systems | These are existing internal systems of a Catena-X partner which provides data to Traceability components, e.g.,
                • for data provisioning: The data provided to Catena-X is fetched from a partner's internal PLM and parts master data systems.
                • for Traceability apps: A Traceability app may show more data to a user than just the data that is provided to Catena-X. Generally, the business scope of COTS software is bigger than just Traceability and they have existing interfaces to fetch all data they need for their business functionality (and not only Traceability data).
                Both components can also send data back to internal systems. That's at the discretion of the Catena-X partner and neither required nor prohibited by the Traceability use case. | - -### Catena-X Core Services - -| Subsystem | Description | -|:-----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Digital Twin Registry (DTR)](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) | The Digital Twin Registry acts as an address book for digital twins. Data Providers register their digital twins in their own DTR. Data consumers query a DTR to find digital twins and interact with them further, i.e., fetch data for a digtil twin. | -| [Item Relationship Service (IRS)](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit/) | The IRS builds a digital representation of a product (digital twin) and the relationships of items the product consists of in a hierarchical structure. The result is an item graph in which each node represents a digital item of the product - this graph is called "Item Graph".| -| [Eclipse Dataspace Components (EDC)](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) | The EDC as a connector implements a framework agreement for sovereign, cross-organizational data exchange. The International Data Spaces Standard (IDS) and relevant principles in connection with GAIA-X were implemented. The connector is designed to be extensible to support alternative protocols and to be integrated into different ecosystems.| -| [Discovery Service](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT#discovery-sequence)| The EDC / dataspace discovery interface is a CX network public available endpoint which can get used to retrieve EDC endpoints and the related BPNs, as well as search for endpoints via the BPN. | - -## Data Provisioning - -This capability focusses on how data providers must prepare and publish their data (from their internal systems) to participate in the Traceability use case (and other use cases that want to use Traceability data). - -### Basic Data Processing Flow - -The following diagram shows a basic data processing flow how a company's internal data can be transformed into a Traceability-compliant format. Implementations of data providers can deviate from this basic flow as it's just one way to do it. But it should give a basic idea what the essential steps are. - -![Data Processing Flow](./assets/data_provisioning_data_flow.png) - -### Digital Twins and Aspect Models - -Data provisioning of Traceabilty is built on the data provisioning of the [Industry Core KIT](../Industry%20Core%20Kit/Architecture%20View%20Industry%20Core%20Kit), i.e., Traceability extends the digital twins PartType and PartInstance with additional aspect models: - -- Digital Twin "PartType" - - Aspect model ["SingelLevelUsageAsPlanned"](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#singellevelusageasplanned) -- Digital Twin "PartInstance" - - Aspect model ["TractionBatteryCode"](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#tractionbatterycode) - - Aspect model ["SingleLevelUsageAsBuilt"](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#singlelevelusageasbuilt) - -Details about these aspect models, i.e., the SAMM data model as well as example data, can be found in the [Developer View](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit). - -### Policies - -To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the EDC, described in the following. Further details are described in the [CX - 0018 Sovereign Data Exchange](#standards) standard. - -### Access Policies - -To decide which company has access to the data assets, access policy should be used. Note that without protecting data assets with access policies, they become publicly available in the Catena-X network which is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). - -Implementation details and examples can be found [here](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#access-policies). - -### Usage Policies -To decide which company can use the data asset under specific conditions, usage policies (or contract policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. Currently, the usage policies aren't technically enforced but based on a legal framework (keep this in mind when publishing data assets). - -Implementation details and examples can be found [here](./Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#usage-policies--contract-policies). - -## Traceability App - -This capability defines what mandatory features a Traceability app must provide and how to implement them to be interoperable with other Traceability apps. Additionally, optional features of Traceability apps are also included. This information is used by software vendors to develop Traceability-compliant apps for Catena-X. - -### Functional Requirements - -| Requirement | Mandatory | Description | -| :-- | :--: |:-- | -| Visualize Digital Twin Data | Yes | A Traceability app must be able to visualize data from PartInstance digital twins. This data will also be used by quality investigations & alerts, so it's essential for a Traceability app. The data for the manufacturer's parts is retrieved from the manufacturer's internal systems; the data for built-in parts from suppliers must be retrieved from the supplier's EDC as this is a cross-company data transfer (if necessary).
                The data for the manufacturer's parts can be retrieved from a company's internal systems:
                • via a dedicated interface for the Traceability app
                • via the EDC using the data also provided to other partner's in the Catena-X ecosystem
                It is not mandatory to use EDC to retrieve this data as this is not a cross-company data transfer, but a data transfer from one application of the company to another application of the company. | -| Data Exchange via [CX-0018](#standards) compliant connector | Yes | The data exchange with other Catena-X partners (for Traceability partners, these are their customers and suppliers mostly) must be done via via a [CX-0018](#standards) compliant connector (e.g. EDC). | -| Data Sovereignty | Yes | The usage of data in the Traceability app is compliant with the Access and Usage Policies as defined in this KIT. -| Quality Alerts | No | In the event of an incident the partner's value chain, the partner would like to be informed promptly and in a structured manner by the triggering partners (e.g., manufacturing problem, field problems) so that the partner can respond as quickly as possible (Supplier/Customer). In the same way, the partner wants to inform their value chain partners easily and specifically in the event of relevant incidents. The traceability apps are able to exchange the alerts in the same interoperable way. | -| Quality Investigations | Yes | For a given incident in a partner's supply chain, the partner would like to be able to narrow down the affected products as sharply as possible in order to carry out suitable actions in a targeted manner. The partners in the value chain use interoperable Traceability apps for this purpose.| - -### Non-Functional Requirements - -There are no non-functional requirements defined for this release. - -### Quality Investigations & Quality Alerts - -Notifications are - in contrast to classical data offers - a way to push data from a sender to a receiver. In the below paragraphs, the implementation is described to realize quality notifications. In that sense, the below specification has not the scope and intention to be a general solution pattern for notifications across various use cases. For now, it is limited to the sending and receiving of quality notifications as well as the update of the notification status (following a predefined status model). - -> :raised_hand: Detailed Open API specifications for Quality Alerts & Investigations are available in the Software Development View. For the current release, [version 1.1.0](<./Software Development View/Notification API/v1.1.0 - mandatory/notification-api>) is mandatory and must be supported by every App provider. The newer [version 1.2.0](<./Software Development View/Notification API/v1.2.0 - optional/notification-api>) can be supported optionally. - -#### Notification State Model - -The notification itself has various states. The states and their cycle are described in the following figure: - -![Notification State Model](./assets/notification-state-model.png) - -## Runtime View - -### Processes for Sending, Updating and Resolving Notifications - -Below the sequence for sending, updating and resolving of notifications between (traceability) applications is shown with UML sequence diagrams. In all cases, Http POST requests are used. Those Http endpoints are described in the section (TRS) Quality Notification Endpoints and EDC Contract Offerings. - -To read the UML sequence diagrams correctly, some remarks: - -- The shown Notification EDC Adapter is not mandatory. It is just one option to send a notification via the EDC control and data plane. Important is that a similar functionality must be provided/implemented by the (traceability) application vendor. The Notification EDC Adapter or a similar component / functionality will not be provided as a central service from Catena-X. -- To know where a notification must be send to, the (traceability) application must resolve the BPN of the receiver. This can either be happen because the (traceability) application has this information in its data model or it could - alternatively - also be resolved e.g. via a lookup of the digital twin in the central asset administration shell (AAS) registry. - - :raised_hand: The (traceability) applications that fully rely on the AAS registry and the corresponding AAS submodels can only support quality investigations. With the release of the AAS submodel SingleLevelUsageAsBuilt or a similar AAS submodel that contains the information, which supply chain partner purchased/assembled a part / batch, it is possible to also support quality alerts for those (traceability) applications. (Warnung) -- The resolution of the EDC URL for a given BPN is done via the Discovery Service API. The entry for each EDC into this Discovery Service is done via the CX Portal. -- In each UML sequence diagram the step [01] describes the publishing of the notification endpoints as described in the above sections -- Similarly, the Http POST request and response bodies are described in the above sections - -#### Sending and Receiving of a Quality Investigation - -Below, the UML sequence diagram to send and receive a quality investigation is depicted. In addition to the above mentioned general remarks, the following remark: - -![NotificationSendReceive](./diagrams/notifcation_send-receive.png) - -#### Sending and Receiving of a Quality Alert (Optional) - -Below, the UML sequence diagram to send and receive a quality alert is depicted. In addition to the above mentioned general remarks, the following remark: - -- The status transition from SENT to RECEIVED has to be done by the sender once it received the Http status code 201 from the receiver - -![NotificationSendReceiveAlert](./diagrams/notification_send-receive-alert.png) - - -#### Update of a Quality Investigation - -Below, the UML sequence diagram to update a quality investigation is depicted. - -![NotificationUpdateInvestigation](./diagrams/notification_update-investigation.png) - -#### Update of a Quality Alert - -Below, the UML sequence diagram to update a quality alert is depicted. - -![NotificationUpdateAlert](./diagrams/notification_update-alert.png) - -## Standards - -Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): - -- Traceability is built on the Industry Core. Please check the relevant [standards of the Industry Core](../Industry%20Core%20Kit/Architecture%20View%20Industry%20Core%20Kit#standards). -- [CX - 0022 Notification Process 1.1.1](https://catena-x.net/de/standard-library) -- [CX - 0023 Notification API 1.2.2](https://catena-x.net/de/standard-library) -- [CX - 0062 Traceability Notification Triangle 1.0.0](https://catena-x.net/de/standard-library) -- [CX - 0093 Aspect Model Traction Battery Code 1.0.0](https://catena-x.net/de/standard-library) - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_business_view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_business_view.mdx deleted file mode 100644 index cfea840a77c..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_business_view.mdx +++ /dev/null @@ -1,121 +0,0 @@ ---- -id: Business View Traceability Kit -title: Business View -description: 'Traceability Kit' -sidebar_position: 1 ---- - - - -import Notice from './part_notice.mdx' -import BillOfMaterials from './part_bill-of-materials.mdx' - -![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) - -The following page offers a high level business view on the Traceability KIT with its vision, mission, benefits, business value, customer journey and examples in form of videos. - -## Vision & Mission - -### Vision - -The aim of the Traceability KIT is to enable app- and data-providers to trace parts and materials across the entire value chain without compromising data sovereignty. - -This enables the industry to narrow down quality issues faster and reduce recall costs due to fast and precise containment of defect parts. -Furthermore, it will enable solutions and services for tracking and tracing conformity relevant data to fulfill security and legal requirements. - - -### Mission - -The Traceability KIT provides the necessary standards, aspect models, APIs, logics, and processes to develop traceability apps and provide the necessary data. -All described specifications in the KIT are based on Catena-X standards like the Industry Core KIT, Data Space Connector KIT and more to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. - -This KIT is closely connected to the Industry Core KIT "Part Instance”, which provides the basis on how to built a data chain based on vehicles, parts and materials - a mandatory prerequisite. -The Traceability KIT supplements it with further tracking relevant aspects, business logic and APIs to e.g. send quality notifications or trace battery relevant aspects (e.g. GBT-Codes for China). - - -## Business Value & Benefits -### Business Value -Through the standardized specifications described in this Traceability KIT – for example the semantic models and APIs – application and service providers are able to develop interoperable Catena-X traceability solutions. -Since this KIT is built on the Industry Core KIT, investment and implementation costs to integrate traceability services are reduced. -Application and service providers can enter potential new markets within the PLM & Quality domain. - -### Todays Challenge -From traceability's perspective, the main challenge within the automotive industry is to define and implement inter-organizational end-to-end data chains across the whole automotive supply chain to track and trace parts and materials. Details regarding the challenges are: - -- Missing standards to trace serialized and non-serialized hardware and software components. This includes the datatype, data format and data description (semantics) as well as the data exchange. The existing regulatory requirements that every company within the industry faces today are being solved with individual, proprietary solutions. -These solutions are either costly due to expensive distributed ledgers or cannot guarantee trust and data sovereignty based on the GAIA-X and IDSA principles including the regulation of access and usage policies regarding data chains. Therefore, no end-to-end data exchange and cooperation has been achieved as of today. -This will be standardized in the Industry Core KIT. - -- The digital maturity is diverging within the automotive industry. For bigger companies it is a challenge to receive overall structured data from multiple different suppliers on a broad scale. Smaller companies struggle to generate and provide those data in a fully digitized way. -Interoperable Catena-X traceability solutions will ensure easy onboarding and data sovereign data exchange. - -- Missing standardized industry process for notifying suppliers to narrow down quality issues and sending alerts to customers in case of detected faulty components. - -### Quality Notifications -Quality notifications are the best way to make customers or suppliers aware of a situation that requires timely action or attention. This could be a situation that has just arisen, or a task triggered by a workflow. -The Traceability KIT covers two different types of notifications: Quality Investigation and Quality Alert. - -A quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part or batch. To achieve this, a customer can request his supplier to investigate the affected serialized parts or batches regarding the suspected problem. - -A quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts or batches delivered to that customer. -Thus, the quality alert - besides other information - contains a list of the affected serialized parts or batches and a description of the quality issue(s). -In the worst case, the quality alert can result in a recall of the affected serialized parts, batches or vehicles. - -The following figure illustrates, how quality investigations and alerts throughout the supply chain enable quality problems to be contained quickly and precisely. - -![Quality Notifications](assets/quality_notifications.png) - -### Benefits for OEM, SME and Solution Provider -#### OEM -For OEM and large automotive suppliers, the traceability solution from Catena-X enables companies to identify products affected by a defect faster and more precisely and thus avoiding general and inaccurate recalls. -Through this targeted containment, companies can save both time and money with fewer actions for their customers. -Moreover, the traceability solution enables businesses to rapidly identify the affected part and the corresponding supplier after receiving an alert from the customer. -This leads to faster and, therefore, cheaper problem-solving for all parties and less complicated claim management. - -Furthermore, OEMs and suppliers can prove compliance of production or products like china relevant battery traction codes or product related certificates. - -#### SME -The developed and simple-to-use traceability solutions support SMEs in their mission to digitize the shop floor and communication with customers and suppliers. Today, in order to provide data to their customers and suppliers, SMEs are obligated to use several, proprietary B2B-interfaces from their customers. With Catena-X aiming to have only one digital interface for all customers and suppliers, it increases the ease of data exchange and saves IT resources. -Furthermore, due to the Catena-X data sovereignty principles, all participants know what happens with their data. This increases trust in the data exchange like quality relevant notifications. - -#### Solution Provider -Solution providers have the potential to scale customer groups and access new market potentials via marketplace and shared service network. - -## Customer Journey - -With the Traceability KIT, we support the Catena-X customer journey for our adopters and solutions providers. - -![Customer Journey](assets/traceability_customer-journey.png) - - -## Further Explanations - -### Example - Industry Problem -Through the Industry Core KIT, companies can register digital twins for vehicles, products, components, and raw materials and uniquely identify and connect them one-up / one-down within the whole Catena-X ecosystem. -This creates a coherent end-to-end automotive data chain. -Traceability is built on top of this data chain and supplements it to e.g. start Quality Investigations and send Quality Alerts in a standardized way while already knowing which parts of your direct customer and suppliers are affected and which are not. - -### Video -The following video gives an overview of the presented Traceability Use Case. - - - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_changelog.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_changelog.mdx deleted file mode 100644 index 4062cb3f051..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_changelog.mdx +++ /dev/null @@ -1,136 +0,0 @@ ---- -id: Traceability Kit Changelog -title: Changelog -description: 'Traceability Kit' -sidebar_position: 0 ---- - - - - -import Notice from './part_notice.mdx' - -![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) - -All notable changes to this Kit will be documented in this file. - -## [4.0.0] - 2024-02-28 - -Compatible for **release 24.03**. - -### Added - -- **Business View:** - - Additional information about quality notifications - -### Changed - -- **General:** - - Migrated content related to Industry Core to new Industry Core KIT - - New Traceability KIT logo -- **Business View:** - - Full rework with rewritten business descriptions -- **Architecture View:** - - Notification state model updated -- **Development View:** - - New Notification API version 1.2.0 (optional; version 1.1.0 mandatory) - - **Data Provider:** - - Usage Policies: Add more details and links about the framework agreement - - Usage Policies: Add information for individual contracts between two companies as purpose-based policy - -## [3.0.0] - 2023-11-29 - -Compatible for **release 23.12**. - -### Added - -- **Architecture View:** - - Added assumptions and non-functional requirements for Traceability architecture -- **Development View:** - - **Data Provider:** - - Added a description of the purpose why `assetLifecylePhase` was added as specific asset ID - -### Changed - -- **General:** - - Restructure from adoption, operation and development view to business, architecture, operation and development view - - License KIT to CC-BY-4.0 -- **Architecture View:** - - Update links to the latest versions of the Catena-X standards -- **Development View:** - - **Data Provider:** - - Updated aspect model SingleLevelBoMAsPlanned from version 1.1.0 to 2.0.0 - - Updated aspect model SingleLevelBomAsBuilt from version 1.0.0 to 2.0.0 - - Updated example for creation of the aspect model SingleLevelBomAsBuilt regarding version 2.0.0 - - Updated EDC asset props for unique ID push - -## [2.0.0] - 2023-09-28 - -Compatible for **release 23.09 (also known as 3.2)**. - -### Added - -- **Adoption View:** - - TractionBatteryCode aspect model - - Information about Verifiable Credentials -- **Development View:** - - TractionBatteryCode aspect model - -### Changed - -- **General:** - - Updated all parts of the KIT related to the digital twin registry as the DTR now has a decentralized architecture - - Updated SerialPartTypization 1.1.1 to SerialPart 1.0.1 - - Updated AssemblyPartRelationship 1.1.1 to SingleLevelBomAsBuilt 1.0.0 - - Updated aspect model Batch from version 1.0.2 to 2.0.0 ([Release Notes](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.batch/RELEASE_NOTES.md)) - - Fixed references to deprecated releases -- **Adoption View:** - - Updated description of the policy section (Access Policies, Usage Policies, Contract Definitions) - - Updated relevant standards for release 3.2 -- **Development View:** - - Updated documentation because of the migration to the new standard AAS v3.0 by the DTR - - Updated conventions for submodel descriptors and EDC asset structure to give data provides more flexibility in how to create EDC assets for submodels of digital twins - - Setting the visibility of entries in a digital twin's specifid asset IDs is now mandatory to ensure need-know - - Removed optional customer attributes from example for Batch aspect model - - Updated purpose for Unique ID Push notifications to be compliant to the framework agreement for Traceability - -### Removed - -- **Adoption View:** - - Policy payloads are removed and replaced by specific documentation links - -## [1.0.1] - 2023-04-14 - -Compatible for **release 3.1**. - -### Added - -- **Adoption View:** - - Traceability tutorial video - - Customer journey - -## [1.0.0] - 2023-04-12 - -Compatible for **release 3.1**. - -### Added - -- Initial version of the Kit including adoption, operation and development view + two API specifications (Notification API, Unique ID Push API) - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_software-operation-view.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_software-operation-view.mdx deleted file mode 100644 index 5e68726d02a..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/page_software-operation-view.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: Operation View Traceability Kit -title: Operation View -description: 'Traceability Kit' -sidebar_position: 3 ---- - - - -import Notice from './part_notice.mdx' - -![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) - -The following page offers information on how to operate and deploy a Traceability application. - -Based on the information provided in this KIT, it is possible to create and operate an own, custom -Traceability app. One open-source example is the **Trace-X app**. For further information regarding -their usage, configuration and deployment, follow these resources: - -- [Trace-X GitHub Repository](https://github.com/eclipse-tractusx/traceability-foss) -- [Trace-X Installation Guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/INSTALL.md) - - diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/part_bill-of-materials.mdx b/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/part_bill-of-materials.mdx deleted file mode 100644 index 2722eec8a55..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/part_bill-of-materials.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -sidebar_class_name: hidden ---- - - - -## Bill of Material (BoM) - -A bill of material resembles the structure of an end product. It is a list of all raw materials, sub-assemblies and sub-components that are needed to manufacture the end procuct. -At Catena-X Traceability we consider more than one single BoM. The BoM changes during the lifecyle and therefore, we are talking about different BoMs in different lifecycles. - -### BoM Representations - -#### Single-Level BOM - -A single-level BOM represents one level of an assembly and does not include any lower-level subassemblies. - -#### Multi-Level BOM - -A Multi-Level Bill of Materials (BOM) is a [bill of materials (BOM)](https://www.bterrell.com/sage-accpac-erp/manufacturing/definition-multi-level-bom/definition-bom/) that lists the components, assemblies, and materials required to make a part. It provides a display of all components that are directly or indirectly used in a parent item. When an item is a subcomponent, blend, intermediate, etc., all of its components, including purchased parts and [raw materials](https://www.bterrell.com/sage-accpac-erp/manufacturing/definition-multi-level-bom/definition-bom/definition-raw-materials/), are also exhibited. A multilevel structure can be illustrated by a tree with several levels. A multi-level BOM is created by connecting a series of individual single level BOMs together. - -#### Flattened BOM - -Flattening BOM means the intermediate levels in the BOM are removed and the lowest level is directly connected to the highest level. - -### BoM Lifecycle Stages - -BoM LifeCycleStage concept based on STEP AP242 with slight adoptions in layout & wording: - -- Each instance can be identified by unique (within the organization) serial number (SN). -- The ‘multi-SN’ (multi Serial number) describes product defined with a generic part or item -- The ‘one per SN’ (one per Serial number) describes product defined with an individual part or item - -| Name |Identifier Step |Implemented CX |Identifier CX| Description |Purpose |Creating time of BoM | BoM Ausprägungen | one/more fix suppliers | -| :--- | :----:|:----: |:----: |:----: | :----: |:----: |:----: |:----: | -| **AsDesigned (AsDeveloped)** | multi-SN | Currently Not Implemented |Part number*
                may not be the specific part number but a code that describes a part
                (technische Produktbeschreibung) |BoM asDesigned is generated in the design phase of a new product including alternative parts. |Build up the initial BoM in design phase of a new automotive product including alternative parts
                Expected to have research & development part descriptions instead of specific part numbers |starting 2 years before SoP (for e.g. of a new vehicle project) |150% incl. variants which will not be used later |partly known
                can be open at this point of time | -| **AsPlanned** | multi-SN | **Implemented** |Part number|BoM AsPlanned is used to plan the manufacturing process including alternative parts. |BoM AsPlanned is used to plan manufacturing including alternative parts.
                Sourcing will most likely be based on this (besides key parts which start earlier) |starting 1,5 years before building the first component |120% of all variants are covered, incl. possibly multiple suppliers for the same component |fixed suppliers, could be more than one supplier per part| -| **AsOrdered** | one per SN | Currently Not Implemented |Part number | BoM AsOrdered is used for manufacturing realization. | BoM that is used for manufacturing realization.
                This is the list of parts & components currently used for manufactoring after start of production (SOP) or shortly before.| fixed order
                (production order or custom order)|100% exact order is known |fixed suppliers, could be more than one supplier per part| -| **AsBuilt** | one per SN | **Implemented**|Serial number / batch number | BoM AsBuilt describes a product as manufactured. | BoM as a component is built or manufactured.
                During manufactoring of for e.g. a vehicle the serial numbers & batch numbers are documented (German: Verbaudokumentation).
                This leads to one BoM per built car|during building process or directly after finishing|100% |one specific supplier| -| **AsSupported / AsFlying / AsMaintained / AsOperated** | one per SN | Currently Not Implemented |Serial number / batch number | BoM AsMaintained describes the product after purchasing by a customer and updates by maintenance. | BoM after for e.g. a vehicle was picked up by the customer. Changes to live cycle before may apply due to maintenance or repair work e.g. exchange of parts, liquids, ...|Starts when customer has picked up the product, updating if any change is done|100% inkl. replaced parts, incl. history of exchanged parts |one specific supplier| -| **AsRecycled** | - |Currently Not Implemented| Serial number / batch number | BoM AsRecycled describes the BoM after the recycling of the product. | Requirement for Batteries.||100% || - -Two of the considered BoMs are already implemented in the use case Traceability and will be described as follows. diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/adoption-view/intro.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/adoption-view/intro.md deleted file mode 100644 index c023440c443..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/adoption-view/intro.md +++ /dev/null @@ -1,213 +0,0 @@ ---- -sidebar_position: 1 -title: Adoption View ---- -## Agents KIT - - - -![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) - -This document describes the foundations of the (Knowledge) Agents KIT (=Keep It Together). - -For more information see - -* [Architecture](../development-view/architecture) -* [Deployment & Conformity](../operation-view/deployment) - -### Vision & Mission - -#### Vision - -We want to specify a semantically-driven and state-of-the-art compute-to-data architecture for (not only) automotive use cases based on the best [GAIA-X](https://gaia-x.eu/), [W3C](https://www.w3.org/2001/sw/wiki/Main_Page) and [Big Data](https://en.wikipedia.org/wiki/Big_data) practices. - -[![Agent-Oriented Dataspace](/img/knowledge-agents/dataspace_agent_small.png)](/img/knowledge-agents/dataspace_agent.png) - -#### Mission - -##### Specifications - -We compose specifications for invoking and performing semantic computations (inferences or `skills`) based on normalized and linked data representations (`knowledge graph` described as RDF triples) over the `dataspace`. - -Leveraging existing standards such as [IDS](https://internationaldataspaces.org/), [RDF](https://www.w3.org/2001/sw/wiki/RDF), [SparQL](https://www.w3.org/2001/sw/wiki/SPARQL), [OWL](https://www.w3.org/2001/sw/wiki/OWL), [SHACL](https://www.w3.org/2001/sw/wiki/SHACL) & [EClass](https://eclass.eu/), linked data and corresponding skills may be provisioned, consumed, federated and visualised across the complete dataspace (technically) and hence the complete supply chain (business-wise). - -Skills can be described in tractable sub-languages of well-known declarative syntaxes, such as [SparQL](https://www.w3.org/2001/sw/wiki/SPARQL) (in the future maybe also: [GraphQL](https://en.wikipedia.org/wiki/GraphQL) and [SQL](https://en.wikipedia.org/wiki/SQL)). - -##### Implementations - -We provide open-source reference implementations of these standards to Tractus-X in particular extending the [Connector KIT](../../tractusx-edc/docs/kit/adoption-view/Adoption%20View) - -These components are called [`agents`](https://en.wikipedia.org/wiki/Software_agent)) because they (semi-)actively negotiate and collaborate with each other (via so-called graph and skill assets) over the dataspace in order to derive higher-level semantic knowledge from the plain, isolated data. - -Knowledge agents introduce an ecosystem of efficient services (for data handling, compute, skill orchestration and frontend components) where an optimal matchmaking between those services needs to be reached. - -##### Support - -We support use case consumers, app developers, data providers, service providers and IT/domain consultants in order to operate as economically and well-informed as possible by giving them first-class tools, documentation and feedback. - -##### Technology Bridges - -We define bridges to other digital twin approaches, such as AAS (Asset Administration Shell), such that data and service provisioning into multiple use cases will be as effortless as possible. - -### Business Value - -The Agents KIT is the best fit for use case and applications which - -* do not focus on exchanging/analyzing static assets between two peers in the supply chain, but instead require crawling over a whole dynamic branch of the supply tree. -* do not focus on gaining predefined schemas of digital twins, but need to perform complex search and aggregations over both catalog and assets. -* require rapidly changing and extensible logic that should reuse existing assets which have already been built for other use cases. -* need to securely extract & aggregate knowledge from large amounts of assets and/or large assets. - -As a dataspace participant, adopting the Agents KIT will - -* allow you to easily bind your own data and services into the relevant use cases and applications -* give you the means to integrate your company-internal data sources with the dataspace as one big knowledge graph - -The following advantages play an important role. - -#### Widespread Standard - -##### Isn't this a proprietary approach? - -The underlying [API](https://en.wikipedia.org/wiki/API), protocols, standards and technologies are first-class citizens of the official [Gaia-X](https://gaia-x.eu/what-is-gaia-x/deliverables/data-spaces/) & [W3C Semantic Web](https://www.w3.org/standards/semanticweb/) portfolio. -These techs have been already adopted globally for a plethora of domains, use cases and derived (Open Source & commercial) projects. -Using these approaches will give you a competitive advantage which is even independent of the concrete dataspace instance/application that you are targeting at. - -#### No Redundancy - -##### Is this a replacement to the existing Aspect Meta Model (BAMM/SAMM) & Asset Administration Shell (AAS) approach? - -Agent technology is a complement that means that both approaches can be deployed in co-existance. - -There will be some use cases (large interconnected datasets, ad-hoc querying, inference of derived knowledge) which enfavour the knowledge agents approach, others (simple access to already identified remote twins) will more adequately stay with the BAMM/SAMM & AAS approach. - -For the data providers, it will be easy to mount their artifacts (files, data source partitions, backend interfaces) under both types of assets (submodels, graphs). We provide [bridging technology](../development-view/aas/bridge) for that purpose. - -For the app developers it will be easy to use both [SDK](https://en.wikipedia.org/wiki/Software_development_kit)s over a single consumer connector and even interchange the identifiers/[IRI](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier)s. - -For the modellers, there is only a loose coupling between a protocol-independent, inference-agnostic data format description, such as BAMM/SAMM, and a protocol-binding, but data-format independent inference/semantic model, such as OWL-R. We expect tools to generate at least the latter from ubiquitous Excel/Tabular specifications. We could also imagine a kind of OWL-R to BAMM/SAMM embedding (but not vice versa) once this is needed by a use case. - -#### Enhanced Security - -##### Isn't it inherently insecure to let arbitrary Dataspace tenants invoke ad-hoc computations in my backend? - -First, these are not arbitrary tenants, but access is only given to business partners with whom you have signed contracts (and who appear in certain roles there). -A Skill request from a non-authorized chain of computation would not be able to enter your backend at all. - -Furthermore, you would not expose your backend directly, but rather introduce a [virtualization layer](../development-view/architecture) between the Agent and your data source. This introduces another (role-based) security domain by appropriate sub-schemas and filters. So different contracts can be mapped to different security principals/data views in the backend. - -We do not introduce arbitrary (turing-equivalent, hence undecidable) ad-hoc computations, but the [SPARQL](../development-view/sparql) standard introduces a well-defined set of operations whose effects and consequences can be checked and validated in advance (hypervision). - -Finally, we are investigating a form of differential privacy which introduces noise between your data source and its graph representation such that original values can be effectively hidden from the reporting output. - -#### Easy Deployment - -##### Doesn't this impose additional burdens to the dataspace participants? - -For data consumers, there is virtually nothing to do. All they have to care for is to add an Agent-Enabled data plane to their connector (or even use our Agent Plane as a fully-blown replacement for the Http/AmazonS3 standard of Tractus-X). - -For smaller data and skill providers, there will be the possibility to host non-critical data directly through the storage facilities of the Agent Plane. - -For all others, they will employ techniques for data virtualization anyway to scale and shield their critical data. That is where the binding agents as one additional container/layer that is declaratively described (not: programmatically) come into play. - -#### Great Scalability - -##### How could such a scheme be efficient at all - -Our technology has been thoroughly developed, tested and piloted over the years 2022 and 2023. One key component is the ability of any Agent to delegate -a part of its work to other Business Partners/Agents and hence to bring the computations close to the actual data. This delegation pattern has several very nice properties: - -* Delegation is dynamic based on the supply chain(s) that are described in the actual data. So the actual computation chain optimizes with the data. -* Delegation is parallelized in the sense that several suppliers are requested simultaneously. Latency is hence minimized. -* Delegation may be opaque from the consumer view if contracts require so. - -### Use Cases - -[![Dataspace Roles](/img/knowledge-agents/dataspace_roles_small.png)](/img/knowledge-agents/dataspace_roles.png) - -The Agents KIT is the basis for other, use-case specific Agent-enabled KITs, services and applications, such as the [Behaviour Twin Remaining Useful Life (RUL Kit](/docs-kits/kits/Behaviour%20Twin%20RuL%20Kit/Adoption%20View%20Remaining%20Useful%20Life%20Kit) - -We distinguish between Dataspace Participants and other parties (who support the Dataspace Participants). - -#### Dataspace Participants - -The following stakeholders should [deploy](../operation-view/deployment) modules/artifacts of the Agents Kit. -In particular, each Dataspace Participant needs an [Agent-Enabled Connector](../operation-view/agent_edc). - -##### Consumer - -Any party who wants to use data and logic using Agent Technology (for example by employing Agent-Enabled Applications or Services), such as a Recycling Company or a Fleet Manager - -##### Provider - -We distinguish Providers whether they want to publish data or logic using Agent Technology - -###### Data Provider - -Any party who provides data (for example by a backend database or other Agent-enabled Applications or Services), for example an Automotive OEM (original equipment manufacturer) - -###### Function Provider - -Any party who provides proprietary functions (for example by a [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) endpoint or other Agent-enabled Applications or Services), for example a Tier1 Sensor Device Supplier - -###### Skill (=Compute) Provider - -Any party who provides compute resources and/or procedural logic (for example by a server or other Agent-enabled Applications or Services), for example a Recycling Software Specialist - -###### Core Service Provider - -Any party offering ontology models (semantic/ontology hub) or federated catalogues, for example an Operating Company - -#### Additional Stakeholders - -The following stakeholders should [interface or implement](../development-view/architecture) modules of the Agents Kit. - -##### Business Developer - -Any party who publishes an Application, Standard or KIT based on Agent Technology on behalf of a Dataspace Participant (e.g. a Fleet Monitor, an Incident Reporting Solution, a Telematics KIT) - -##### Enablement Service Developer - -Any party who offers ready-made artifacts, packages and managed services assisting Dataspace Participants/Applications to process data using Agent technology (e.g. a Graph Database, a Virtual Graph Binding Engine, an EDC Package) - -### Catena-X Standards - -The concrete choices for how the data graphs are to be constructed (using the [Resource Description Framework](https://www.w3.org/RDF/)), how Skills are to be interpreted (using the [SPARQL](https://www.w3.org/TR/sparql11-query/) language) and which vocabulary should be applied by both approaches (using the [Web Ontology Language](https://www.w3.org/OWL/) (OWL)) is subject of the following two [Catena-X e.V. Standards](https://catena-x.net/de/standard-library): - -* [CX-0084 Federated Queries in Dataspaces (V1.1.0 Upcoming)](https://catena-x.net/de/standard-library) -* [CX-0084 Federated Queries in Dataspaces (V1.0.0 Superseded)](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September_2023/CX-0084-FederatedQueriesInDataSpaces-v1.0.0.pdf) -* [CX-0067 Ontology Models to Realize Federated Queries in Catena-X (V1.0.0 Upcoming)](https://catena-x.net/de/standard-library) - -## NOTICE - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - -* SPDX-License-Identifier: CC-BY-4.0 -* SPDX-FileCopyrightText: 2021,2023 T-Systems International GmbH -* SPDX-FileCopyrightText: 2021,2023 Mercedes-Benz AG -* SPDX-FileCopyrightText: 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -* SPDX-FileCopyrightText: 2021,2023 ZF Friedrichshafen AG -* SPDX-FileCopyrightText: 2021,2023 SAP SE -* SPDX-FileCopyrightText: 2022,2023 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/skill/post.mdx b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/skill/post.mdx deleted file mode 100644 index 2ea712e3d9b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/skill/post.mdx +++ /dev/null @@ -1,81 +0,0 @@ ---- -id: postSkill -title: Register a Skill -slug: agent-skill-post ---- - -``` -POST /agent/skill -``` - -**Register a Skill: ** - -## Parameters - -| name | in | type | required | description | -| ---------------- | ----- | ------- | -------- | ----------------------------------------------------------------------- | -| asset | query | string | true | The Target Asset of the Query (targets the complete dataspace if empty) | -| distributionMode | query | string | false | The distribution mode under which to publish the skill | -| contract | query | string | false | The contract under which the skill should be published | -| isFederated | query | boolean | false | Whether the skill should be visible in the Federated Catalogue | -| ontology | query | string | false | Multiple references to ontologies which are referenced in the skill | - -## Request Body - -| Headers | | -| ------------ | ------------------------ | -| content-type | application/sparql-query | - -```json title="Example request" -"string" -``` - -## Code Snippets - -```shell title="Shell + Curl" -curl --request POST \ - --url 'https://knowledge.dev.demo.catena-x.net/consumer-edc-data/BPNL00000003CQI9/api/agent/skill?asset=SOME_STRING_VALUE&distributionMode=SOME_STRING_VALUE&contract=SOME_STRING_VALUE&isFederated=SOME_BOOLEAN_VALUE&ontology=SOME_STRING_VALUE' \ - --header 'content-type: application/sparql-query' -``` - -## Responses - -### 200 - -Skill has been registered - -### 204 - -Skill has been updated - -### 400 - -Bad request or malformed SPARQL - -### 500 - -Fatal error - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/architecture.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/architecture.md deleted file mode 100644 index 46bc70c0cfe..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/architecture.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -sidebar_position: 1 -title: High-Level Architecture ---- - - -### Agents KIT - -![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) - -This document describes the High-Level Architecture of the (Knowledge) Agents KIT (=Keep It Together). - -For more information see - -* Our [Adoption](../adoption-view/intro) guideline -* The [ARC42](Arc42) documentation -* An [API](api) specification -* The [Layers & Modules](modules) Architecture -* Our [Reference Implementation](reference) -* The [Deployment](../operation-view/deployment) guide - -## Compute-To-Data - -The main objective concerning the approach described in this section is to create a state-of-the-art compute-to-data architecture for automotive use cases (and beyond) based on standards and best practices around [GAIA-X](https://gaia-x.eu), [W3C](https://www.w3.org/) and [Big Data](https://en.wikipedia.org/wiki/Big_data). To reach this aim, full semantic integration, search and query with focus on relations between entities and data sovereignty is focused. In contrast to a simple file-based data transfer, this shifts the responsibility for the (I) access, (II) authorization to the data and (III) processing of the data from the application development to the provider and hence ultimately, the actual owner of the data. Figure 2 shows the high-level approach, introducing the most important concepts needed for the realization. - -[![Architecture Interaction](/img/knowledge-agents/architecture_small.png)](/img/knowledge-agents/architecture.png) - -### App - -The App in the figure serves the Consumer by gathering, analyzing, and presenting the knowledge about business questions such as: How much of a certain material can be found in a different vehicle series? It is assumed that the data which is needed to answer such questions is distributed over the network and cannot be found at one central place. - -### Skill - -To help collecting the data over the network, Skills are introduced. A Skill is a pre-formulated query (or: procedure) with limited scope such as: List all vehicle series that contain ?material produced in ?location. The Skill is used to access all federated data instances via the tenant (=authentication and authorization scope) of the caller. A skill receives input in the form of a data set [{?material:“Rubber”,?location:“Phuket”}] which drives the control flow, the filtering and aggregating of the information, and finally producing an output data set [{?series:<4711>,?oem:<OEM>,?weightKg:”3.2”},{?series:<0815>,?oem:<EMO>, ?weightKg:”1.4”}]}. - -### Semantic Model - -In order to obtain the correct results in a federated system, all the participants of the skill execution need to have common understanding (Semantic Model, in KA this is mechanized by a Federated Catalogue based on the Web Ontology Language OWL) over the vocabulary (Data Model, in KA this is represented generically by sets, i.e., graphs of Resource Description Framework RDF triples). Relying on these conventions, a Skill executor can calculate which Providers are able to contribute or yield the necessary information in which sequence such that the resulting distributed operation will be performant. - -### Matchmaking Agent - -This coordinating job is taken over by the Matchmaking Agent, an endpoint that is mandatory for any KA-enabled Dataspace Participant. For that purpose, the Matchmaking Agent supports the [SPARQL](https://en.wikipedia.org/wiki/SPARQL) specification with the effect that the dataspace can be traversed as one large data structure. Hereby, the Consumer-Side Matchmaking Agent will – as driven by the builtin federation features of SPARQL - interact with the KA-enabled EDC in order to negotiate and perform the transfer of Sub-Skills (=SPARQL Contexts) to other Dataspace Participants. See the [Knowledge Agents SPARQL API](api) for detailed information. - -### Binding Agent - -In turn, upon successful transfer of the Sub-Skill, the Provider-Side Matchmaking Agent(s) will be activated by their respective EDC. Prior to such a success, the Provider EDC of course first needs to offer a so-called Graph Asset: Graph Assets are a variant of ordinary Data Assets in the Catena-X EDC Standard; while Data Asset typically refer to an actual backend system (e.g., an Blob in an ObjectStorey, an AAS server, a REST endpoint), Graph Assets introduce another intermediary instance, the so-called Binding Agent. - -Simply put, the Binding Agent is a restricted version of the Matchmaking Agent (subset of OWL/SPARQL, e.g., without federation) which is just focused on translating Sub-Skils of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls. This scheme has several advantages: - -* For different types of backend systems, business domains and usage scenarios, different Binding Agent implementations (Caching Graph Store, SQL Binding Engine, REST Binding Engine) can be switched-in without affecting both the shared dataspace/semantic model and the mostly immutable backend systems/data models as well. -* Access to the backend systems can be optimized by JIT compilation technology. -* The same backend system/data model can be used in various Graph Assets/Use Cases und different roles and policies. -* Access to the backend system is decoupled by another layer of security, such that additional types of policies (role-based row-level and attribute-level access) can be implemented in the interplay of Matchmaking and Binding Agents. -* There is a clear distinction between advanced graph operations (including type inference and transitive/recursive traversal also via EDC) on the Matchmaking Level and efficient, but more restricted and secure graph operations on the Binding/Data Level. - -### Federated Catalogue - -As mentioned earlier, essential for the realization of the idea is the creation, governance and discoverability of a well-defined semantic catalogue, which forms together with the data a Federated Knowledge Graph. In this context, the definition of a Knowledge Graph (KG) as "a multi relational graph composed of entities and relations which are regarded as nodes and different types of edges, respectively" is extended with aspect of federation. We see a Federated KG as a KG where entities and relations reside physically distributed over multiple systems connected through a network and a common query language. We see semantic metadata as structural information to scope the entities and relations of the KG based on ontological principles. This is the agreement, necessary for the successful interplay of the distributed parties within the data space. - -## Abilities - -To summarize, the Knowledge Agent standard shall achieve the following abilities: - -* the ability to define well-formed and composable computations/scripts (skills) which operate over various assets of various business partners. -* the ability to invoke and dynamically distribute these (sub-)skills over the relevant partners/connectors using an extensible agent interface. -* the ability to safely provide data and service assets via appropriate agent implementations which "bind" the skill to the backend execution engines (rather than mapping data). -* the ability for an agent/connector/business partner to decide - * whether to hide particular data and computations inside a sub-skill - * whether to delegate/federate particular computations/sub-skills to other agents - * whether to migrate or clone an agent/asset from a partner -* the ability to describe data and service assets as well as appropriate federation policies in the IDS vocabulary in order to allow for a dynamic matchmaking of skills and agents. -* the ability to define domain/use case-based ontologies which form the vocabulary used in the skill definitions. -* the ability to visualize and develop the ontologies and skills in appropriate SDKs and User Experience components. - -With these abilities, the Knowledge Agent standard provides the following value propositions: - -## Democratization of added value service design for data spaces - -Currently, the development of full-scale Apps to address use cases for cross-company exchange requires a lot of development effort. By proceeding this way, addressing new business problems or fast prototyping of solution ideas are not straightforward to achieve. Thus, the idea of a fast-growing ecosystems based on data exchange between companies is at risk. KA introduces Skills as a new concept to support query of data spaces with small effort. A new Skill can be developed in few days in comparison to weeks or months for app development. In this context it is aimed that data consumers are able to create skills by themselves based on their very specific business demand. - -[![Architecture Modules and Parties](/img/knowledge-agents/modules_roles_small.png)](/img/knowledge-agents/modules_roles.png) - -In addition, a third party in addition to Consumer and (Data, Function) Provider can be imagined: The Skill provider (see Figure 3). Similar to an App Provider, the Skill Provider develops queries to address various business problems. Developed Skills can be offered as Skill Assets over the dataspace and in the Marketplace, quite similar to the existing Services and Apps. - -It is also possible to combine Skill and App development (by using Skills as stored procedures in the App framework). By following this approach App developers can concentrate on frontend optimization and usability of the app while the skills deliver the business relevant information. - -## Custom Search - -Based on the skill concept, mighty search functionalities can be realized by utilizing the KA approach. SPARQL is already a common standard to browse large data catalogues (e.g. Wikidata). By utilizing this principle, it becomes possible to search for objects which are unknown at the beginning of the search (similar to Google). This advantage is important since comparable twin-based approaches for the semantic layer require a specific ID to find an object. - -## Scalability for data consumers - -Utilization of dataspaces for exchanging complex product- or production data usually involves transfer of large datasets. If for example an automotive OEM wants to access information of their car fleets ranging from hundreds to millions of cars, the dataspace still needs to provide required data in short time without risking too much load on the network. Thus, the outlined approach is based on efficient federated SPARQL queries which only transport computation results across the network in contrast to full datasets (compute to data). Further potentials for streamlining performance are for example parallelized EDC contract negotiations and efficient delegations between suppliers. - -## Data Sovereignty - -One of the key requirements for dataspaces is to guarantee that data is only shared willingly and subject to specific terms and conditions of respective data providers. One core component to support definition and negotiation of contracts and policies is the Eclipse Dataspace Connector (EDC). Nevertheless, the way how data is processed via a semantic layer also contributes to data sovereignty. KA follows a strict compute to data approach. Thus, by design only computation results are shared instead of copying all data relevant for this computation (e.g. submit only weight information instead of geometry and material information). Furthermore, by utilizing data models based on ontologies definition of access rights can be made up to a high level of granularity (attribute level). - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/agent_edc.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/agent_edc.md deleted file mode 100644 index 51f07ee0cb8..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/agent_edc.md +++ /dev/null @@ -1,366 +0,0 @@ ---- -sidebar_position: 2 -title: Agent-Enabled Dataspace Connector ---- - - -For participating in Semantic-Web Driven Dataspace Applications following the Catena-X Knowledge Agents Standard, we recommend deploying an [Agent-Enabled Tractus-X EDC](https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/docs/README.md) - -For more information see - -* Our [Adoption](../adoption-view/intro) guidelines -* The [Implementation](../development-view/architecture) documentation -* The [Deployment](deployment) overview -* The [Conformity](testbed) testbed -* A [Data Sovereignity & Graph Policy](policy) discussion - -### Quick Setup Guide for Agent-Enabled EDC (KA-EDC) - -Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses the postgresql-hashicorp variant but abstracts away from vault and SSI settings - *vaultsettings and*ssisettings as well as the persistence config, see [here](https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/docs/README.md) for more options and full details). - -```yaml - - name: agent-connector - repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.11.16 - alias: my-agent-connector -``` - -Then configure the connector in the values.yaml - -```yaml -my-agent-connector: - participant: - id: {{MYBPNL}} - nameOverride: my-agent-connector - fullnameOverride: "my-agent-connector" - vault: *vaultsettings - controlplane: - image: - pullPolicy: Always - ssi: *ssisettings - endpoints: - management: - authKey: "{{EDC_API_KEY}}" - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "{{controlPlaneName}}" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - protocol - - management - - control - # -- Enables TLS on the ingress resource - tls: - enabled: true - dataplanes: - dataplane: - configs: - dataspace.ttl: |- - ################################################ - # Catena-X Agent Bootstrap - ################################################ - @prefix : . - @prefix cx-core: . - @prefix cx-common: . - @prefix rdf: . - @prefix xsd: . - @prefix bpnl: . - @base . - - bpnl:{{PARTNERBPNL}} cx-common:hasBusinessPartnerNumber "{{PARTNERBPNL}}"^^xsd:string; - cx-common:hasConnector . - - bpnl:{{MYBPNL}} cx-common:hasBusinessPartnerNumber "MYBPNL"^^xsd:string; - cx-common:hasConnector . - agent: - synchronization: 60000 - connectors: - - [https://{{controlPlaneName}}]https://{{partnerControlPlanePublic}} - - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - hostname: "{{agentPlaneName}}" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - public - - default - - control - - callback - # -- Enables TLS on the ingress resource - tls: - enabled: true -``` - -### Quick Setup Guide for Registering A Skill - -We demonstrate the steps by interacting with the EDC Control Plane Management API and the EDC Data Plane Agent Endpoint - -#### Register A Skill Policy - -```console -curl --location --globoff '{{controlPlaneName}}/management/v2/policydefinitions' \ ---header 'X-Api-Key: {{EDC_API_KEY}}' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/", - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "Policy?me=SkillPolicy", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action" : "USE", - "odrl:constraint" : { - "@type": "LogicalConstraint", - "odrl:or" : [{ - "@type" : "Constraint", - "odrl:leftOperand" : "BusinessPartnerNumber", - "odrl:operator" : { - "@id": "odrl:eq" - }, - "odrl:rightOperand" : "{{PARTNERBPNL}}" - }, - { - "@type" : "Constraint", - "odrl:leftOperand" : "BusinessPartnerNumber", - "odrl:operator" : { - "@id": "odrl:eq" - }, - "odrl:rightOperand" : "{{MYBPNL}}" - }] - } - }] - } -} -' -``` - -#### Register A Skill Contract - -```console -curl --location --globoff '{{controlPlaneName}}/management/v2/policydefinitions' \ ---header 'X-Api-Key: {{EDC_API_KEY}}' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@id": "Contract?me=SkillContract", - "@type": "ContractDefinition", - "accessPolicyId": "Policy?me=SkillPolicy", - "contractPolicyId": "Policy?me=SkillPolicy", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", - "operator": "=", - "operandRight": "Contract?me=Skill" - } -} -' -``` - -#### Register a Skill Asset - -```console -curl --location --globoff '{{dataPlaneName}}/api/agent/skill?asset=SkillAsset%3Fsupplier%3DRemainingUsefulLife&distributionMode=ALL&contract=Contract?me=SkillContract' \ ---header 'Content-Type: application/sparql-query' \ ---header '{{DATA_PLANE_KEY}}: {{DATA_PLANE_TOKEN}}' \ ---data-raw 'PREFIX cx-common: -PREFIX cx-core: -PREFIX cx-vehicle: -PREFIX cx-reliability: -PREFIX cx-behaviour: -PREFIX rdf: -PREFIX rdfs: -PREFIX xsd: -PREFIX json: -PREFIX bpnl: -PREFIX oem: -PREFIX supplier: - -################################################################ -# Sample for a Federated (Consumer-Deployed) SparQL Skill which -# - Jumps into an OEM-owned reliability asset given a set of candidate VANs -# - Feeds the gathered data back into the respective supplier connector/agent -#. to perform a health indication -# Author: cgjung -# (c) 2023 Catena-X assocation -################################################################ - -SELECT ?vehicle ?van ?aggregate ?assembly ?supplier ?lc ?operatingTime ?mileage ?recordDate ?ls_type ?ls_name ?ls_value ?ls_unit ?ls_method ?ls_channels ?ls_classes ?ls_values ?distanceKm ?timeHours WHERE { - - VALUES (?van ?aggregate ?ls_type) { - ("@van"^^xsd:string "Differential Gear"^^xsd:string "GearOil"^^xsd:string) - } - - bpnl:BPNL00000003AYRE cx-common:hasConnector ?oemEDC. - ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?reliabilityAssetId]. - - SERVICE ?oemEDC { - GRAPH ?reliabilityAssetId { - ?vehicle rdf:type cx-vehicle:Vehicle; - cx-vehicle:vehicleIdentificationNumber ?van. - - ?assembly rdf:type cx-vehicle:Part; - cx-vehicle:name ?aggregate; - cx-vehicle:isPartOf ?vehicle; - cx-vehicle:supplier ?supplier. - - ?teleAnalysis rdf:type cx-reliability:Analysis; - cx-reliability:analysedObject ?assembly; - cx-reliability:operatingHoursOfVehicle ?operatingTime; - cx-reliability:mileageOfVehicle ?mileage; - cx-core:startDateTime ?recordDate; - cx-reliability:result [ - cx-core:id ?ls_type; - cx-core:name ?ls_name; - cx-reliability:countingValue ?ls_value; - cx-reliability:countingUnit ?ls_unit; - cx-reliability:countingMethod ?ls_method; - cx-reliability:channels ?ls_channels; - cx-reliability:classes ?ls_classes; - cx-reliability:values ?ls_values - ]. - } # OEM#GRAPH - - ?supplier cx-common:hasConnector ?supplierEDC. - ?supplierEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?prognosisAssetId]. - - SERVICE ?supplierEDC { - GRAPH ?prognosisAssetId { - ?invocation a cx-behaviour:RemainingUsefulLife; - cx-behaviour:sender bpnl:BPNL00000003AYRE; - cx-behaviour:senderConnector ?oemEDC; - cx-behaviour:recipient ?supplier; - cx-behaviour:recipientConnector ?supplierEDC; - cx-behaviour:targetDate ?recordDate; - cx-behaviour:timeStamp ?recordDate; - cx-behaviour:component "GearBox"; - cx-behaviour:statusDate ?recordDate; - cx-behaviour:statusOperatingHours ?operatingTime; - cx-behaviour:statusMileage ?mileage; - cx-behaviour:countingValue ?ls_value; - cx-behaviour:countingUnit ?ls_unit; - cx-behaviour:countingMethod ?ls_method; - cx-behaviour:headerChannels ?ls_channels; - cx-behaviour:bodyClasses ?ls_classes; - cx-behaviour:bodyCountsList ?ls_values; - cx-behaviour:remainingOperatingHours ?timeHours; - cx-behaviour:remainingRunningDistance ?distanceKm. - } # SUPPLIER#GRAPH - } # SUPPLIER#CATALOG - - } # OEM#CATALOG - -} # SELECT -' -``` - -### Quick Setup Guide for Calling A Skill - -We demonstrate the steps by interacting with the EDC Data Plane Agent Endpoint - -#### Calling A Local Skill - -```console -curl --location --globoff '{{agentPlaneName}}/api/agent?asset=SkillAsset%3Fsupplier%3DRemainingUsefulLife' \ ---header 'Content-Type: application/sparql-results+json' \ ---header 'Accept: application/json' \ ---header '{{DATA_PLANE_KEY}}: {{DATA_PLANE_TOKEN}}' \ ---data '{ - "head": { - "vars": [ - "van" - ] - }, - "results": { - "bindings": [ - { - "van": { - "type": "literal", - "value": "FNLQNRVCOFLHAQ" - } - }, - { - "van": { - "type": "literal", - "value": "FGPTXINYZAVJYK" - } - }, - { - "van": { - "type": "literal", - "value": "DVAJDTLJMKKZGY" - } - } - ] - } -}' -``` - -#### Calling A Remote Skill - -```console -curl --location --globoff '{{agentPlaneName}}/api/agent?asset={{URLENCODED_PARTNER_CONTROL_PLANE}}%23SkillAsset%3Fsupplier%3DRemainingUsefulLife' \ ---header 'Content-Type: application/sparql-results+json' \ ---header 'Accept: application/json' \ ---header '{{DATA_PLANE_KEY}}: {{DATA_PLANE_TOKEN}}' \ ---data '{ - "head": { - "vars": [ - "van" - ] - }, - "results": { - "bindings": [ - { - "van": { - "type": "literal", - "value": "FNLQNRVCOFLHAQ" - } - }, - { - "van": { - "type": "literal", - "value": "FGPTXINYZAVJYK" - } - }, - { - "van": { - "type": "literal", - "value": "DVAJDTLJMKKZGY" - } - } - ] - } -}' -``` - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/bridge.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/bridge.md deleted file mode 100644 index 53dd5640a77..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/bridge.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -sidebar_position: 1 -title: Bridging ---- - -For Bridging between Knowledge Agents API and AAS, we recommend deploying the [Tractus-X Knowledge Agents AAS Bridge (KA-AAS)](https://github.com/eclipse-tractusx/knowledge-agents-aas-api) - -For more information see - -* Our [Adoption](../adoption-view/intro) guideline -* The [Architecture](../development-view/architecture) documentation -* The [Deployment](deployment) overview -* The [Conformity](testbed) testbed -* A [Data Sovereignity & Graph Policy](policy) discussion - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/deployment.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/deployment.md deleted file mode 100644 index fd7ee82397d..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/deployment.md +++ /dev/null @@ -1,545 +0,0 @@ ---- -sidebar_position: 1 -title: Deployment ---- - - -### Agents KIT - -![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) - -This document describes the deployment of the (Knowledge) Agents KIT (=Keep It Together) depending on the role that the respective tenant/business partner has. -It also provides a runbook for deploying a minimal stable environment for testing purposes. - -For more information see - -* Our [Adoption](../adoption-view/intro) guideline -* The [Architecture](../development-view/architecture) documentation -* The [EDC Deployment](agent_edc) description -* The [(Data/Function) Provider Deployment](provider) description -* The [AAS Bridge Deployment](bridge) description -* The [Conformity](testbed) testbed -* A [Data Sovereignity & Graph Policy](policy) discussion - -## Motivation & Deployment Roles - -Knowledge Agents is a federated technology, so there is no central component setup to take into account. -Instead, the Semantic Dataspace is formed by the individual business partners extending/configuring their -connectors and enabling their backend systems and/or datalakes. The deployment depends hereby on the -role that the business partner takes. The roles are described in more detail in our [Adoption](../adoption-view/intro) guideline. - -[![Dataspace Roles](/img/knowledge-agents/dataspace_roles_small.png)](/img/knowledge-agents/dataspace_roles.png) - -## Role: As A Consumer - -As a consumer, you just need to: - -* enable your [dataspace connector](agent_edc) to initiate/delegate the required Agent protocols (here: SparQL-over-Http). -* (optionally) mount your connector/matchmaking agent as a remote repository into your enterprise graph infrastructure. - -## Role: As A Skill Provider - -As a skill provider, you need to - -* enable your [dataspace connector](agent_edc) to transfer/delegate the required Agent protocols. -* (optionally) employ multiple data planes in case you want to expose hosted skills (skill assets that operate as stored procedures -and which require computational resources at the provider side) instead of distributed skills (skill assets that are offered as query texts/files and which are executed at the consumer side). - -## Role: As A (Data/Function) Provider - -As a provider, you need to - -* enable your [dataspace connector](agent_edc) to receive/internalize the required Agent protocols. - -Depending on the kind of provisioning, you will setup additional internal "agents" (endpoints). - -### Sub-Role: As A Data Provider - -As a data provider, you want to - -* [bind](provider) your data sources to knowledge graphs following the Catena-X ontology. Therefore, a provisioning agent -should be setup on top of a data virtualization/database layer. - -### Sub-Role: As A Function Provider - -As a function provider, you want to - -* [bind](provider) your API to a special knowledge graph structure. Therefore, a remoting agent should be setup. - -### Sub-Role: As A Twin Provider - -As a function provider, you want to - -* [bridge](bridge) between the Knowledge Agent and Asset Administration Shell APIs. - -## Runbook For Deploying and Smoke-Testing Knowledge Agents (Stable) - -Knowledge Agents on Stable is deployed on the following two tenants - -* App Provider 1 (BPNL000000000001) - * Agent-Enabled Dataspace Connector - * In-Memory Hashicorp-Vault Control Plane - * Hashicorp-Vault Agent Data Plane - * Provisioning Agent incl. Local Database - * Remoting Agent -* App Consumer 4 (BPNL0000000005VV) - * Agent-Enabled Dataspace Connector - * In-Memory Hashicorp-Vault Control Plane - * Hashicorp-Vault Agent Data Plane - -### 1. Prepare the Two Tenants - -As a first step, we installed two technical users for the dataspace connectors using the - -* App Provider 1: sa4 -* App Consumer 4: sa5 - -The generated secrets have been installed under - -* stable-provider-miw -* stable-consumer-miw - -Further secrets have been installed - -* oem-cert -* oem-key -* oem-symmetric-key -* consumer-cert -* consumer-key -* consumer-symmetric-key - -Finally an access token has been generated. - -### 2. Deploy Agent-Enabled Connector's - -Using the following two applications have been installed. - -We give the complete manifests but hide the secrets. - -#### App Provider 1 Datspace Connector Manifest - -```yaml -project: project-knowledge -source: - repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.11.16 - plugin: - env: - - name: HELM_VALUES - value: | - participant: - id: BPNL000000000001 - nameOverride: agent-connector-provider - fullnameOverride: agent-connector-provider - vault: - hashicorp: - enabled: true - url: https://vault.demo.catena-x.net - token: **** - healthCheck: - enabled: false - standbyOk: true - paths: - secret: /v1/knowledge - secretNames: - transferProxyTokenSignerPrivateKey: oem-key - transferProxyTokenSignerPublicKey: oem-cert - transferProxyTokenEncryptionAesKey: oem-symmetric-key - controlplane: - securityContext: - readOnlyRootFilesystem: false - image: - pullPolicy: Always - ssi: - miw: - # -- MIW URL - url: "https://managed-identity-wallets-new.stable.demo.catena-x.net" - # -- The BPN of the issuer authority - authorityId: "BPNL00000003CRHK" - oauth: - # -- The URL (of Keycloak), where access tokens can be obtained - tokenurl: "https://centralidp.stable.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - # -- The client ID for Keycloak - id: "sa4" - # -- The alias under which the client secret is stored in the vault. - secretAlias: "stable-provider-miw" - endpoints: - management: - authKey: **** - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "agent-provider-cp.stable.demo.catena-x.net" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - protocol - - management - - control - # -- Enables TLS on the ingress resource - tls: - enabled: true - dataplanes: - dataplane: - securityContext: - readOnlyRootFilesystem: false - image: - pullPolicy: Always - configs: - dataspace.ttl: |- - ################################################ - # Catena-X Agent Bootstrap - ################################################ - @prefix : . - @prefix cx: . - @prefix cx-common: . - @prefix rdf: . - @prefix xsd: . - @prefix bpnl: . - @base . - - bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - - bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - agent: - #synchronization: 360000 - connectors: - - https://agent-provider-cp.stable.demo.catena-x.net - - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - hostname: "agent-provider-dp.stable.demo.catena-x.net" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - public - - default - - control - - callback - # -- Enables TLS on the ingress resource - tls: - enabled: true - chart: agent-connector-memory -destination: - server: 'https://kubernetes.default.svc' - namespace: product-knowledge -``` - -#### App Consumer 4 Datspace Connector Manifest - -```yaml -project: project-knowledge -source: - repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.11.16 - plugin: - env: - - name: HELM_VALUES - value: | - participant: - id: BPNL0000000005VV - nameOverride: agent-connector-consumer - fullnameOverride: agent-connector-consumer - vault: - hashicorp: - enabled: true - url: https://vault.demo.catena-x.net - token: **** - healthCheck: - enabled: false - standbyOk: true - paths: - secret: /v1/knowledge - secretNames: - transferProxyTokenSignerPrivateKey: consumer-key - transferProxyTokenSignerPublicKey: consumer-cert - transferProxyTokenEncryptionAesKey: consumer-symmetric-key - controlplane: - securityContext: - readOnlyRootFilesystem: false - image: - pullPolicy: Always - ssi: - miw: - # -- MIW URL - url: "https://managed-identity-wallets-new.stable.demo.catena-x.net" - # -- The BPN of the issuer authority - authorityId: "BPNL00000003CRHK" - oauth: - # -- The URL (of Keycloak), where access tokens can be obtained - tokenurl: "https://centralidp.stable.demo.catena-x.net/auth/realms/CX-Central/protocol/openid-connect/token" - client: - # -- The client ID for Keycloak - id: "sa5" - # -- The alias under which the client secret is stored in the vault. - secretAlias: "stable-consumer-miw" - endpoints: - management: - authKey: *** - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "agent-consumer-cp.stable.demo.catena-x.net" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - protocol - - management - - control - # -- Enables TLS on the ingress resource - tls: - enabled: true - dataplanes: - dataplane: - securityContext: - readOnlyRootFilesystem: false - image: - pullPolicy: Always - configs: - dataspace.ttl: |- - ################################################ - # Catena-X Agent Bootstrap - ################################################ - @prefix : . - @prefix cx: . - @prefix cx-common: . - @prefix rdf: . - @prefix xsd: . - @prefix bpnl: . - @base . - - bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - - bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; - cx:hasConnector ; - cx-common:hasConnector . - agent: - # synchronization: 360000 - connectors: - - https://agent-provider-cp.stable.demo.catena-x.net - - ## Ingress declaration to expose the network service. - ingresses: - - enabled: true - hostname: "agent-consumer-dp.stable.demo.catena-x.net" - # -- EDC endpoints exposed by this ingress resource - endpoints: - - public - - default - - control - - callback - # -- Enables TLS on the ingress resource - tls: - enabled: true - chart: agent-connector-memory -destination: - server: 'https://kubernetes.default.svc' - namespace: product-knowledge -``` - -### 3. Deploy App Provider 1 Provisioning Agent - -Using the following application has been installed. - -For simplicity, the provisioning agent exposes a builtin sample H2 database as a graph and therefore needs to write the file system with its non-root account. -Therefore, some of the following settings are specific to stable and will not be used under productive settings. - -```yaml -project: project-knowledge -source: - repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.11.16 - plugin: - env: - - name: HELM_VALUES - value: | - securityContext: - readOnlyRootFilesystem: false - runAsUser: 999 - runAsGroup: 999 - runAsUser: 999 - podSecurityContext: - runAsGroup: 999 - fsGroup: 999 - bindings: - dtc: - port: 8080 - settings: - jdbc.url: "jdbc:h2:file:/opt/ontop/database/db;INIT=RUNSCRIPT FROM '/opt/ontop/data/dtc.sql'" - jdbc.driver: "org.h2.Driver" - ontop.cardinalityMode: "LOOSE" - mapping: | - [PrefixDeclaration] - cx-common: https://w3id.org/catenax/ontology/common# - cx-core: https://w3id.org/catenax/ontology/core# - cx-vehicle: https://w3id.org/catenax/ontology/vehicle# - cx-reliability: https://w3id.org/catenax/ontology/reliability# - uuid: urn:uuid: - bpnl: bpn:legal: - owl: http://www.w3.org/2002/07/owl# - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# - xml: http://www.w3.org/XML/1998/namespace - xsd: http://www.w3.org/2001/XMLSchema# - json: https://json-schema.org/draft/2020-12/schema# - obda: https://w3id.org/obda/vocabulary# - rdfs: http://www.w3.org/2000/01/rdf-schema# - oem: urn:oem: - - [MappingDeclaration] @collection [[ - mappingId dtc-meta - target bpnl:{bpnl} rdf:type cx-common:BusinessPartner ; cx-core:id {bpnl}^^xsd:string . - source SELECT distinct "bpnl" FROM "dtc"."meta" - - mappingId dtc-content - target oem:Analysis/{id} rdf:type cx-reliability:Analysis ; cx-core:id {code}^^xsd:string ; cx-core:name {description}^^xsd:string . - source SELECT * FROM "dtc"."content" - - mappingId dtc-part - target oem:Part/{entityGuid} rdf:type cx-vehicle:Part ; cx-core:id {enDenomination}^^xsd:string ; cx-core:name {classification}^^xsd:string . - source SELECT * FROM "dtc"."part" - - mappingId dtc-meta-part - target oem:Part/{entityGuid} cx-vehicle:manufacturer bpnl:{bpnl}. - source SELECT "bpnl","entityGuid" FROM "dtc"."part" - - mappingId dtc-part-content - target oem:Analysis/{dtc_id} cx-reliability:analysedObject oem:Part/{part_entityGuid}. - source SELECT "part_entityGuid","dtc_id" FROM "dtc"."content_part" - - ]] - chart: provisioning-agent -destination: - server: 'https://kubernetes.default.svc' - namespace: product-knowledge -``` - -### 4. Deploy App Provider 1 Remoting Agent - -Using the following application has been installed. - -For simplicity, the remoting agent exposes a simply public API as a graph. - -```yaml -project: project-knowledge -source: - repoURL: 'https://eclipse-tractusx.github.io/charts/dev' - targetRevision: 1.11.16 - plugin: - env: - - name: HELM_VALUES - value: | - image: - pullPolicy: Always - repositories: - prognosis: | - # - # Rdf4j configuration for prognosis remoting - # - @prefix rdf: . - @prefix rdfs: . - @prefix rep: . - @prefix sr: . - @prefix sail: . - @prefix sp: . - @prefix xsd: . - @prefix json: . - @prefix dcterms: . - @prefix cx-fx: . - @prefix cx-common: . - @prefix cx-prognosis: . - @prefix cx-rt: . - - [] rdf:type rep:Repository ; - rep:repositoryID "prognosis" ; - rdfs:label "Prognosis Functions" ; - rep:repositoryImpl [ - rep:repositoryType "openrdf:SailRepository" ; - sr:sailImpl [ - sail:sailType "org.eclipse.tractusx.agents:Remoting" ; - cx-fx:callbackAddress ; - cx-fx:supportsInvocation cx-prognosis:Prognosis; - ] - ]. - - cx-prognosis:Prognosis rdf:type cx-fx:Function; - dcterms:description "Prognosis is a sample simulation function with input and output bindings."@en ; - dcterms:title "Prognosis" ; - cx-fx:targetUri "https://api.agify.io"; - cx-fx:input cx-prognosis:name; - cx-fx:result cx-prognosis:hasResult. - - cx-prognosis:hasResult rdf:type cx-fx:Result; - cx-fx:output cx-prognosis:prediction; - cx-fx:output cx-prognosis:support. - - cx-prognosis:name rdf:type cx-fx:Argument; - dcterms:description "Name is an argument to the Prognosis function."@en ; - dcterms:title "Name"; - cx-fx:argumentName "name". - - cx-prognosis:prediction rdf:type cx-fx:ReturnValue; - dcterms:description "Prediction (Value) is an integer-based output of the Prognosis function."@en ; - dcterms:title "Prediction" ; - cx-fx:valuePath "age"; - cx-fx:dataType xsd:int. - - cx-prognosis:support rdf:type cx-fx:ReturnValue; - dcterms:description "Support (Value) is another integer-based output of the Prognosis function."@en ; - dcterms:title "Support" ; - cx-fx:valuePath "count"; - cx-fx:dataType xsd:int. - chart: remoting-agent -destination: - server: 'https://kubernetes.default.svc' - namespace: product-knowledge -``` - -### 5. Perform Smoke Tests - -We provide a [Postman collection](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/folder/2757771-f11c5dda-cc04-444f-b38b-3deb3c098478?action=share&creator=2757771&ctx=documentation&active-environment=2757771-31115ff3-61d7-4ad6-8310-1e50290a1c3a) and a corresponding [environment](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/environment/2757771-31115ff3-61d7-4ad6-8310-1e50290a1c3a?action=share&creator=2757771&active-environment=2757771-3a7489c5-7540-470b-8e44-04610511d9a9) - -It consists of the following steps: - -* Query Provider Agent (Internally) -* Query Provider Agent (Internally from Agent Plane) -* Query Remoting Agent (Internally) -* Query Remoting Agent (Internally from Agent Plane) -* Create Graph Policy (Provider) -* Create Graph Contract (Provider) -* Create Data Graph Asset (Provider) -* Create Function Graph Asset (Provider) -* Show Own Catalogue (Provider) -* Show Remote Catalogue (Consumer) -* Query Data Graph Asset (Consumer) -* Query Function Graph Asset (Consumer) - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/policy.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/policy.md deleted file mode 100644 index eee5fb1c304..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/policy.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -sidebar_position: 3 -title: Data Sovereignity & Policies ---- - - -This document (WIP) describes how Data Sovereignity can be reached in publishing Graphs and Skills while employing appropriate Policies. - -For more information see - -* Our [Adoption](../adoption-view/intro) guideline -* The [Architecture](../development-view/architecture) documentation -* The [EDC Deployment](agent_edc) description -* The [Provider Deployment](provider) description -* The [AAS Bridge Deployment](bridge) description -* The [Conformity](testbed) testbed - -The core ingredient to the KA Semantic Dataspace Architecture is that a business partner (the Provider) offers an RDF-based query endpoint (Graph Asset) over her Connector. - -![Data Sovereignity Through Offering and Policy Validation](/img/knowledge-agents/graph_asset.png) - -## Data Sovereignity Through Backend Authentication/Authorization and Offering Policies - -A single endpoint (=Complete Graph) may be offered in different Graph Assets (=endpoint reference including a fixed parameterization, e.g. authorization header). By configuring different service principals/authentication tokens the Provider may realize different permissions/visibilities in the Complete Graph. - -Since the Connector is checking the so-called Offering Policy associated to the assets, it is ensured that only proven business partners (Consumer) are able to negotiate a transfer to the respective Graph Asset (and hence the respective excerpt of the Complete Graph). - -This method is easy to implement from the Connector side (the Consumers only see their dedicated assets), but maybe hard to realise on the Backend side. - -## Data Sovereignity Through Access Policies - -Not all backend endpoints will allow an expressive authorization scheme. Therefore we would like to propose an advanced and fine-grained approach to that using the so-called Access Policies of the Connector. - -### Access Policies for Graph Queries - -An Access Policy has a set of Constraints which may be Permissions, Obligations or Duties. For validating the Query-Based Access, we currently focus on Permission Constraints. At a later point, we may revisit Obligations and Duties related to the validation of ResultSets. - -The following is an example of a permission which allows query to SELECT (and traverse) any edge of the graph where we can *prove in advance* that the mandatory predicate is hasMaterialProperty, the optional subject will be an instance of owl class RawMaterial and that the optional object will be an instance of type MaterialProperty. We call the set of triples which match the constraint pattern the constraint triples. - -`` -{ - "id": "urn:io.catenax.knowledge.dataspace.policy:SamplePolicy", - "policy": { - "permissions": [ - { - "action": { - "type": "SELECT" - }, - "pattern": { - "subject": "urn:io.catenax.knowledge.ontology:cx#RawMaterial", - "predicate": "urn:io.catenax.knowledge.ontology:cx#hasMaterialProperty", - "object":"urn:io.catenax.knowledge.ontology:cx#MaterialProperty" - }, - "edctype": "dataspaceconnector:permission" - } - ], - "@type": { - "@policytype": "set" - } - } -} -`` - -We may introduce the abbreviation where only "subject" is bound, this is quivalent to "predicate":"rdf:type","object":"?subject". - -The different action types related to graph queries are: - -* CONFIRM The constraint triples may be matched (variables need already bound by other SELECT or TRAVERSE permissions) -* SELECT The constraint triples may be returned (variables may be bound, aggregated and given back - out of the - query context) or traversed (subsequent statements may use the bound information to access further edges of the graph). -* SELECT_SUBJECT The object needs to be alrady bound by other SELECT permision) -* SELECT_OBJECT The subject needs to be already bound by another SELECT permssion -* TRAVERSE The constraint triples may be traversed (subsequent statements may use the bound - information (or an anonmous node) to access further edges of the graph), but not returned (any bound variables may not be passed or aggregated). -* TRAVERSE_SUBJECT The constraint triples may be traversed on the subject side only (subsequent statements may use the bound - information or anonymous nodes to access further edges of the graph), but not returned (any bound variables may not be passed or aggregated). -* TRAVERSE_OBJECT The constraint triples may be traversed on the object side only (subsequent statements may use the bound - information or anonymous nodes to access further edges of the graph), but not returned (any bound variables may not be passed or aggregated). -* AGGREGATE The constraint triples be returned only in aggregated form (that is the variables may not - be grouped by). They may be traversed (subsequent statements may use the bound - information to access further edges of the graph). -* AGGREGATE_SUBJECT The constraint triples be returned only on the subject side in aggregated form (that is the variables may not - be grouped by). They may be traversed (subsequent statements may use the bound - information to access further edges of the graph). -* AGGREGATE_OBJECT The constraint triples be returned only on the object side in aggregated form (that is the variables may not - be grouped by). They may be traversed (subsequent statements may use the bound - information to access further edges of the graph). -* AGGREGATE_PRIVATE The constraint triples be returned only in aggregated, noisy form (that is the - variables may not be grouped by and must be processed using a noise function). They may be traversed (subsequent statements may use the bound information to access further edges of the graph). -* AGGREGATE_PRIVATE_SUBJECT The constraint triples be returned only in aggregated, noisy form (that is the - variables may not be grouped by and must be processed using a noise function). They may be traversed (subsequent statements may use the bound information to access further edges of the graph). -* AGGREGATE_PRIVATE_OBJECT The constraint triples be returned only in aggregated, noisy form (that is the - variables may not be grouped by and must be processed using a noise function). They may be traversed (subsequent statements may use the bound information to access further edges of the graph). -* INSERT The constraint triples may be inserted into the graph. -* SELECT_SUBJECT_TRAVERSE_OBJECT -* SELECT_OBJECT_TRAVERSE_SUBJECT -* SELECT_SUBJECT_AGGREGATE_OBJECT -* SELECT_OBJECT_AGGREGATE_SUBJECT -* SELECT_SUBJECT_AGGREGATE_PRIVATE_OBJECT -* SELECT_OBJECT_AGGREGATE_PRIVATE_SUBJECT -* TRAVERSE_SUBJECT_AGGREGATE_OBJECT -* TRAVERSE_OBJECT_AGGREGATE_SUBJECT -* TRAVERSE_SUBJECT_AGGREGATE_PRIVATE_OBJECT -* TRAVERSE_OBJECT_AGGREGATE_PRIVATE_SUBJECT -* AGGREGATE_SUBJECT_AGGREGATE_PRIVATE_OBJECT -* AGGREGATE_OBJECT_AGGREGATE_PRIVATE_SUBJECT -* TRAVERSE_AGGREGATE -* DELETE The constraint triples may be deleted from the graph. - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/provider.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/provider.md deleted file mode 100644 index 6b025ef5236..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/provider.md +++ /dev/null @@ -1,525 +0,0 @@ ---- -sidebar_position: 1 -title: Provisioning ---- - - -For Providing Data and/or Functions in Semantic-Web Driven Dataspace Applications following the Catena-X Knowledge Agents Standard, we recommend deploying a [Tractus-X Binding Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/README.md) - -More specifically, we recommend to deploy - -* the [Tractus-X Provisioning Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/provisioning/README.md) for relational or virtualized data sources. -* the [Tractus-X Remoting Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/remoting/README.md) for REST-based API functions. - -For more information see - -* Our [Adoption](../adoption-view/intro) guidelines -* The [Implementation](../development-view/architecture) documentation -* The [Deployment](deployment) overview -* The [Conformity](testbed) testbed -* A [Data Sovereignity & Graph Policy](policy) discussion - -### Quick Setup Guide for Data Provisioning - -Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses a postgresql telematics sample, see [here](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/provisioning/README.md) for more options and full details). - -```yaml - - name: provisioning-agent - repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.11.16 - alias: my-provider-agent -``` - -Then configure the agent in the values.yaml - -```yaml -my-provider-agent: - nameOverride: my-provider-agent - fullnameOverride: my-provider-agent - bindings: - # mutes the default example endpoint - dtc: null - # adds a telematics graph based on the default (builtin) ontology - telematics: - port: 8080 - path: /telematics/(.*) - settings: - jdbc.url: 'jdbc:postgresql://{{mydatabasehost}}:5432/{{mydatabase}}' - jdbc.user: - jdbc.password: - jdbc.driver: 'org.postgresql.Driver' - ontology: cx-ontology.xml - mapping: |- - [PrefixDeclaration] - cx-common: https://w3id.org/catenax/ontology/common# - cx-core: https://w3id.org/catenax/ontology/core# - cx-vehicle: https://w3id.org/catenax/ontology/vehicle# - cx-reliability: https://w3id.org/catenax/ontology/reliability# - uuid: urn:uuid: - bpnl: bpn:legal: - owl: http://www.w3.org/2002/07/owl# - rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# - xml: http://www.w3.org/XML/1998/namespace - xsd: http://www.w3.org/2001/XMLSchema# - json: https://json-schema.org/draft/2020-12/schema# - obda: https://w3id.org/obda/vocabulary# - rdfs: http://www.w3.org/2000/01/rdf-schema# - oem: urn:oem: - - [MappingDeclaration] @collection [[ - mappingId vehicles - target <{vehicle_id}> rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {van}^^xsd:string; cx-vehicle:worldManufaturerId bpnl:{localIdentifiers_manufacturerId}; cx-vehicle:productionDate {production_date}^^xsd:date. - source SELECT vehicle_id, van, '{{MYBPNL}}' as localIdentifiers_manufacturerId, production_date FROM vehicles - - mappingId partsvehicle - target <{gearbox_id}> cx-vehicle:isPartOf <{vehicle_id}> . - source SELECT vehicle_id, gearbox_id FROM vehicles - - mappingId vehicleparts - target <{vehicle_id}> cx-vehicle:hasPart <{gearbox_id}> . - source SELECT vehicle_id, gearbox_id FROM vehicles - - mappingId parts - target <{gearbox_id}> rdf:type cx-vehicle:Part ; cx-vehicle:id {gearbox_id}^^xsd:string; cx-vehicle:name {partTypeInformation_nameAtManufacturer}^^xsd:string; cx-vehicle:number {partTypeInformation_manufacturerPartId}^^xsd:string; cx-vehicle:supplier bpnl:{localIdentifiers_manufacturerId}; cx-vehicle:productionDate {production_date}^^xsd:date . - source SELECT gearbox_id, production_date, 'Differential Gear' as partTypeInformation_nameAtManufacturer, '{{PARTNERTBPNL}}' as localIdentifiers_manufacturerId, 'Dummy Gearbox' as partTypeInformation_manufacturerPartId FROM vehicles - - mappingId partAnalysis - target oem:{newest_telematics_id} cx-reliability:analysedObject <{gearbox_id}>. - source SELECT gearbox_id, newest_telematics_id FROM vehicles - - mappingId analysisInformation - target oem:{id} rdf:type cx-reliability:Analysis; cx-reliability:operatingHoursOfVehicle {metadata_status_operatingHours}^^xsd:float; cx-core:startDateTime {metadata_status_date}^^xsd:dateTime; cx-core:endDateTime {metadata_status_date}^^xsd:dateTime; cx-reliability:mileageOfVehicle {metadata_status_mileage}^^xsd:int. - source SELECT id, floor((load_spectra::jsonb->0->'metadata'->'status'->>'operatingHours')::numeric)::integer as metadata_status_operatingHours, replace(load_spectra::jsonb->0->'metadata'->'status'->>'date','Z','.000Z') as metadata_status_date,load_spectra::jsonb->0->'metadata'->'status'->>'mileage' as metadata_status_mileage FROM telematics_data - - mappingId analysisResult - target oem:{newest_telematics_id} cx-reliability:result oem:{newest_telematics_id}/{name}. - source SELECT gearbox_id, newest_telematics_id, name FROM vehicles, (VALUES ('GearSet'), ('GearOil'), ('Clutch')) AS spectrum(name) - - mappingId loadspectrum - target oem:{id}/{name} rdf:type cx-reliability:LoadSpectrum; cx-core:id {name}^^xsd:string; cx-core:name {metadata_projectDescription}^^xsd:string; cx-reliability:description {metadata_routeDescription}^^xsd:string; cx-reliability:countingValue {body_counts_countsName}^^xsd:string; cx-reliability:countingUnit {header_countingUnit}^^xsd:string; cx-reliability:countingMethod {header_countingMethod}^^xsd:string; cx-reliability:channels {header_channels}^^json:Object; cx-reliability:classes {body_classes}^^json:Object; cx-reliability:values {body_counts_countsList}^^json:Object . - source SELECT id, index, name, load_spectra::jsonb->index->'metadata'->>'projectDescription' as metadata_projectDescription, load_spectra::jsonb->index->'metadata'->>'routeDescription' as metadata_routeDescription, load_spectra::jsonb->index->'header'->>'countingUnit' as header_countingUnit, load_spectra::jsonb->index->'header'->>'countingMethod' as header_countingMethod, load_spectra::jsonb->index->'header'->'channels' as header_channels, load_spectra::jsonb->index->'body'->'classes' as body_classes, load_spectra::jsonb->index->'body'->'counts'->'countsName' as body_counts_countsName, load_spectra::jsonb->index->'body'->'counts'->'countsList' as body_counts_countsList FROM telematics_data, (VALUES (0,'GearSet'), (1,'GearOil'), (2,'Clutch')) AS spectrum(index,name) - ]] - ingresses: - - enabled: true - # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "my-provider-agent.internal" - annotations: - nginx.ingress.kubernetes.io/rewrite-target: /$1 - nginx.ingress.kubernetes.io/use-regex: "true" - # -- Agent endpoints exposed by this ingress resource - endpoints: - - telematics - tls: - enabled: true - secretName: my-provider-tls -``` - -The above mapping resource is written in a [OBDA Mapping Definition Language](https://ontop-vkg.org/tutorial/mapping/). - -### Quick Setup Guide for Function Provisioning (Remoting) - -Add a helm dependency to your umbrella/infrastructure Chart.yaml(this example uses a [Behaviour Twin RUL](/docs-kits/kits/Behaviour Twin RuL Kit/page_adoption_view) sample backend, see [here](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/remoting/README.md) for more options and full details). - -```yaml - - name: remoting-agent - repository: https://eclipse-tractusx.github.io/charts/dev - version: 1.11.16 - alias: my-remoting-agent -``` - -Then configure the agent in the values.yaml - -```yaml -my-remoting-agent: - nameOverride: my-remoting-agent - fullnameOverride: my-remoting-agent - ingresses: - - enabled: true - # -- The hostname to be used to precisely map incoming traffic onto the underlying network service - hostname: "my-remoting-agent.internal" - # -- Agent endpoints exposed by this ingress resource - endpoints: - - default - tls: - enabled: true - secretName: my-remoting-tls - repositories: - rul: |- - # - # Rdf4j configuration for a rul-specific remoting - # - @prefix rdf: . - @prefix rdfs: . - @prefix rep: . - @prefix sr: . - @prefix sail: . - @prefix sp: . - @prefix xsd: . - @prefix json: . - @prefix dcterms: . - @prefix cx-fx: . - @prefix cx-common: . - @prefix cx-core: . - @prefix cx-vehicle: . - @prefix cx-reliability: . - @prefix cx-behaviour: . - - [] rdf:type rep:Repository ; - rep:repositoryID "rul" ; - rdfs:label "Remainig Useful Life Functions Repository" ; - rep:repositoryImpl [ - rep:repositoryType "openrdf:SailRepository" ; - sr:sailImpl [ - sail:sailType "org.eclipse.tractusx.agents:Remoting" ; - cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife; - cx-fx:callbackAddress ; - ] - ]. - - cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function; - dcterms:description "Remaining Useful Life is an asynchronous batch invocation."@en ; - dcterms:title "Remaining Useful Life" ; - cx-fx:targetUri "https://{{RULAPI}}"; - cx-fx:invocationMethod "POST-JSON"; - # cx-common:authenticationKey "Authorization"; - # cx-common:authenticationCode "Basic Zm9vOmJhcg=="; - cx-fx:invocationMethod "POST-JSON"; - cx-fx:invocationIdProperty "header.notificationID,content.requestRefId"; - cx-fx:callbackProperty "header.respondAssetId"; - cx-fx:input cx-behaviour:notification; - cx-fx:input cx-behaviour:sender; - cx-fx:input cx-behaviour:senderConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:recipient; - cx-fx:input cx-behaviour:recipientConnector; - cx-fx:input cx-behaviour:severity; - cx-fx:input cx-behaviour:status; - cx-fx:input cx-behaviour:targetDate; - cx-fx:input cx-behaviour:timeStamp; - cx-fx:input cx-behaviour:classification; - cx-fx:input cx-behaviour:component; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:statusDate; - cx-fx:input cx-behaviour:statusOperatingHours; - cx-fx:input cx-behaviour:statusMileage; - cx-fx:input cx-behaviour:observationType; - cx-fx:input cx-behaviour:metadata; - cx-fx:input cx-behaviour:countingMethod; - cx-fx:input cx-behaviour:countingValue; - cx-fx:input cx-behaviour:countingUnit; - cx-fx:input cx-behaviour:headerChannels; - cx-fx:input cx-behaviour:bodyClasses; - cx-fx:input cx-behaviour:bodyCountsList; - cx-fx:result cx-behaviour:response. - - cx-behaviour:notification rdf:type cx-fx:Argument; - dcterms:description "A default notification output template."@en ; - dcterms:title "Notification Template"; - cx-fx:argumentName "."; - cx-fx:dataType json:Object; - cx-fx:priority "-1"^^xsd:integer; - cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": [ ]}}"^^json:Object. - - cx-behaviour:sender rdf:type cx-fx:Argument; - dcterms:description "Sender of the notification as a BPN."@en ; - dcterms:title "Notification Sender"; - cx-fx:argumentName "header.senderBPN"; - cx-fx:default "anonymous". - - cx-behaviour:senderConnector rdf:type cx-fx:Argument; - dcterms:description "Sender Address of the notification as a URL."@en ; - dcterms:title "Notification Sender Address"; - cx-fx:argumentName "header.senderAddress"; - cx-fx:default "unknown". - - cx-behaviour:recipient rdf:type cx-fx:Argument; - dcterms:description "Recipient of the notification as a BPN."@en ; - dcterms:title "Notification Recipient"; - cx-fx:argumentName "header.recipientBPN"; - cx-fx:default "anonymous". - - cx-behaviour:recipientConnector rdf:type cx-fx:Argument; - dcterms:description "Recipient Address of the notification as a URL."@en ; - dcterms:title "Notification Recipient Address"; - cx-fx:argumentName "header.recipientAddress"; - cx-fx:default "unknown". - - cx-behaviour:severity rdf:type cx-fx:Argument; - dcterms:description "Severity of the notification."@en ; - dcterms:title "Notification Severity"; - cx-fx:argumentName "header.severity"; - cx-fx:dataType xsd:string; - cx-fx:default "MINOR". - - cx-behaviour:status rdf:type cx-fx:Argument; - dcterms:description "Status of the notification."@en ; - dcterms:title "Notification Status"; - cx-fx:argumentName "header.status"; - cx-fx:dataType xsd:string; - cx-fx:default "SENT". - - cx-behaviour:targetDate rdf:type cx-fx:Argument; - dcterms:description "Target Date of the notification."@en ; - dcterms:title "Notification Target Date"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "header.targetDate". - - cx-behaviour:timeStamp rdf:type cx-fx:Argument; - dcterms:description "Timestamp of the notification."@en ; - dcterms:title "Notification Timestamp"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "header.timeStamp". - - cx-behaviour:classification rdf:type cx-fx:Argument; - dcterms:description "Classification of the notification."@en ; - dcterms:title "Notification Classification"; - cx-fx:argumentName "header.classification"; - cx-fx:dataType xsd:string; - cx-fx:default "RemainingUsefulLifePredictor". - - cx-behaviour:component rdf:type cx-fx:Argument; - dcterms:description "Component of the Predicition."@en ; - dcterms:title "Predicted Component"; - cx-fx:formsBatchGroup "true"^^xsd:boolean; - cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId". - - cx-behaviour:observationType rdf:type cx-fx:Argument; - dcterms:description "The type of observation made."@en ; - dcterms:title "Observation Type"; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription"; - cx-fx:dataType xsd:string. - - cx-behaviour:metadata rdf:type cx-fx:Argument; - dcterms:description "Metadata of the Loadspectrum."@en ; - dcterms:title "Loadspectrum Metadata"; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}"; - cx-fx:dataType json:Object; - cx-fx:priority "0"^^xsd:integer; - cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object. - - cx-behaviour:statusDate rdf:type cx-fx:Argument; - dcterms:description "Time of Recording."@en ; - dcterms:title "Loadspectrum Recording Time"; - cx-fx:dataType xsd:dateTime; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date". - - cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument; - dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; - dcterms:title "Loadspectrum Operating Hours"; - cx-fx:dataType xsd:float; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours". - - cx-behaviour:statusMileage rdf:type cx-fx:Argument; - dcterms:description "Mileage of Component at Time of Recording."@en ; - dcterms:title "Loadspectrum Mileage"; - cx-fx:dataType xsd:int; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage". - - cx-behaviour:countingUnit rdf:type cx-fx:Argument; - dcterms:description "Counting Unit of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Unit"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit". - - cx-behaviour:countingValue rdf:type cx-fx:Argument; - dcterms:description "Counting Value Name of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Value"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName". - - cx-behaviour:countingMethod rdf:type cx-fx:Argument; - dcterms:description "Counting Method of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counting Method"; - cx-fx:dataType xsd:string; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod". - - cx-behaviour:headerChannels rdf:type cx-fx:Argument; - dcterms:description "Channels of Load Spectrum."@en ; - dcterms:title "Loadspectrum Channels"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels". - - cx-behaviour:bodyClasses rdf:type cx-fx:Argument; - dcterms:description "Classes of Load Spectrum."@en ; - dcterms:title "Loadspectrum Classes"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes". - - cx-behaviour:bodyCountsList rdf:type cx-fx:Argument; - dcterms:description "Counts List of Load Spectrum."@en ; - dcterms:title "Loadspectrum Counts List"; - cx-fx:dataType json:Object; - cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList". - - cx-behaviour:response rdf:type cx-fx:Result; - dcterms:description "The asynchronous notification response."@en ; - dcterms:title "Asynchronous notification response." ; - cx-fx:callbackProperty "header.referencedNotificationID"; - cx-fx:outputProperty "content.endurancePredictorOutputs"; - cx-fx:output cx-behaviour:remainingOperatingHours; - cx-fx:output cx-behaviour:remainingRunningDistance. - - cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue; - dcterms:description "Predicted Operating Hours of Remaining Useful Life Response"@en ; - dcterms:title "Remaining Useful Life Operating Hours" ; - cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours"; - cx-fx:dataType xsd:float. - - cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue; - dcterms:description "Predicted Distance of Remaining Useful Life Response"@en ; - dcterms:title "Remaining Useful Life Distance" ; - cx-fx:valuePath "0.remainingUsefulLife.remainingRunningDistance"; - cx-fx:dataType xsd:int. -``` - -### Quick Setup Guide for Registering A Graph in the EDC - -The next steps require that you have already deployed the [Agent-Enabled EDC](agent_edc). - -We demonstrate the steps by interacting with the EDC Control Plane Management API - -#### Register A Graph Policy - -```console -curl --location --globoff '{{controlPlaneName}}/management/v2/policydefinitions' \ ---header 'X-Api-Key: {{EDC_API_KEY}}' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/", - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "Policy?me=GraphPolicy", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action" : "USE", - "odrl:constraint" : { - "@type": "LogicalConstraint", - "odrl:or" : [{ - "@type" : "Constraint", - "odrl:leftOperand" : "BusinessPartnerNumber", - "odrl:operator" : { - "@id": "odrl:eq" - }, - "odrl:rightOperand" : "{{PARTNERBPNL}}" - }, - { - "@type" : "Constraint", - "odrl:leftOperand" : "BusinessPartnerNumber", - "odrl:operator" : { - "@id": "odrl:eq" - }, - "odrl:rightOperand" : "{{MYBPNL}}" - }] - } - }] - } -} -' -``` - -#### Register A Graph Contract - -```console -curl --location --globoff '{{controlPlaneName}}/management/v2/policydefinitions' \ ---header 'X-Api-Key: {{EDC_API_KEY}}' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@id": "Contract?me=GraphContract", - "@type": "ContractDefinition", - "accessPolicyId": "Policy?me=GraphPolicy", - "contractPolicyId": "Policy?me=GraphPolicy", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", - "operator": "=", - "operandRight": "Contract?me=Graph" - } -} -' -``` - -#### Register a Graph Asset - -```console -curl --location --globoff '{{controlPlaneName}}/management/v2/policydefinitions' \ ---header 'X-Api-Key: {{EDC_API_KEY}}' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?me=Sample", - "properties": { - "name": "Sample Asset.", - "description": "A sample graph asset/offering over a binding agent.", - "version": "23.12", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?me=Graph", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix : .\n", - "cx-common:isFederated": "true^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?me=Sample", - "@type": "DataAddress", - "baseUrl": "http://{{binding-agent-internal}}", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true", - "authKey": "{{binding-agent-key}}", - "authCode": "{{binding-agent-token}}", - "cx-common:allowServicePattern": "((https)|(edcs?))://.*", - "cx-common:denyServicePattern": "https://ifconfig\\.me.*" - } -} -' -``` - -For more information see - -* Our [Adoption](../adoption-view/intro) guidelines -* The [Implementation](../development-view/architecture) documentation -* The [Deployment](deployment) overview -* A [Data Sovereignity & Graph Policy](policy) discussion - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/testbed.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/testbed.md deleted file mode 100644 index 9662816b31b..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/testbed.md +++ /dev/null @@ -1,493 +0,0 @@ ---- -sidebar_position: 1 -title: Testbed ---- - - -This document describes a testbed for checking conformance of the (Knowledge) Agents KIT (=Keep It Together). - -For more information see - -* Our [Adoption](../adoption-view/intro) guideline -* The [Architecture](../development-view/architecture) documentation -* The [EDC Deployment](agent_edc) description -* The [(Data/Function) Provider Deployment](provider) description -* The [AAS Bridge Deployment](bridge) description -* The [Conformity](testbed) testbed -* A [Data Sovereignity & Graph Policy](policy) discussion - -## Test Scripts - -The CAB (Conformity Assessment Body) may use a set of predefined API interactions to run against its own dataspace tenant or let the assessed party run these scripts depending on the assessment method. The scripts are hierarchically organized and can be found under this [Postman Collection](ka_conformity_scripts.postman_collection.json) or online under . For the URLs and identities of the CAB or the CAP (Conformity Assessment Party), the appropriate environment variables have to be set. - -![KA Confirmity Assessment Scrtips](@site/static/img/knowledge-agents/ka_conformity_scripts.png) - -The scripts are organised as follows: - -* 01_TESTASSETS - asset descriptions, policies and contract definitions to be deployed both at the CAB as well as the CAP EDC (Control Plane), see below -* 02_ALL - scripts which need to be run at all CAPs - * 0201_EDC_CONTROL_PLANE - scripts to be run against control plane (transfer check) - * 0202_EDC_DATA_PLANE - scripts to be run against the data plane (callback and proxying) - * 0203_MATCHMAKING_AGENT - scripts to be run against the matchmaking agent - * 0204_FEDERATED_DATA_CATALOGUE - scripts checking the state of the federated data catalogue -* 03_PROVIDER - scripts which need to run at Provider CAPs - * 0301_PROVIDER_DATA - scripts to be run at Data Provider CAPs - * 030101_PROVIDER_DATA_SPARQL - scripts to be run against Data Provider Agents - * 0302_PROVIDER_FUNCTION - scripts to be run at Function Provider CAPs - * 030201_PROVIDER_FUNCTION_SPARQL - scripts to be run against Function Provider Agents -* 04_CONSUMER - scripts to be run against Consumer CAPs - * 0401_CONSUMER_APPLICATION - scripts to be run against a KA-enabled Application - * 040101_CONSUMER_APPLICATION_SPARQL - scripts to be run against a SPARQL-speaking Application -* 05_CORE - scripts to be run against a Core Service CAP - * 0501_CORE_ONTOLOGY - scripts to be run against the Ontology Hosting Capability of the Core Service CAP - * 050101_CORE_ONTOLOGY_MANAGEMENT - scripts to be run against the Ontology Hosting Capability for management - * 050102_CORE_ONTOLOGY_EDITOR - scripts to be run against the Ontology Hosting Capability for editing - -## Test Policies and Contract Definitions - -The CAB may use the following Policy Definitions and Contract Definitions in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. - -### Open Policy - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/", - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "Policy?cab=Asset&mode=open", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action" : "USE", - "odrl:constraint" : [] - }] - } -} -``` - -### Closed Policy - -```json -{ - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/", - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@type": "PolicyDefinitionRequestDto", - "@id": "Policy?cab=Asset&mode=closed", - "policy": { - "@type": "Policy", - "odrl:permission" : [{ - "odrl:action" : "USE", - "odrl:constraint" : { - "@type" : "Constraint", - "odrl:leftOperand" : "BusinessPartnerNumber", - "odrl:operator" : { - "@id": "odrl:eq" - }, - "odrl:rightOperand" : "{{cabBPNL}}" - } - }] - } -} -``` - -### Open Contract Definition - -```json -{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@id": "Contract?cab=Asset&mode=open", - "@type": "ContractDefinition", - "accessPolicyId": "Policy?cab=Asset&mode=open", - "contractPolicyId": "Policy?cab=Asset&mode=open", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", - "operator": "=", - "operandRight": "Contract?cab=Asset&mode=open" - } -} -``` - -### Closed Contract Definition - -```json -{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#" - }, - "@id": "Contract?cab=Asset&mode=closed", - "@type": "ContractDefinition", - "accessPolicyId": "Policy?cab=Asset&mode=closed", - "contractPolicyId": "Policy?cab=Asset&mode=closed", - "assetsSelector" : { - "@type" : "CriterionDto", - "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", - "operator": "=", - "operandRight": "Contract?cab=Asset&mode=closed" - } -} -``` - -## Test Graph Assets - -The CAB may use the following Graph Asset Descriptions (referring to the contract definitions in the last section) in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. - -### Open Graph Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?cab=Conforming&mode=open", - "properties": { - "name": "Open Conforming Asset.", - "description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix : .\n", - "cx-common:isFederated": "true^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?cab=Conforming&mode=open", - "@type": "DataAddress", - "baseUrl": "{{cabConformingAgent}}/bind", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -### Closed Graph Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?cab=Conforming&mode=closed", - "properties": { - "name": "Closed Conforming Asset.", - "description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix : .\n", - "cx-common:isFederated": "true^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?cab=Conforming&mode=closed", - "@type": "DataAddress", - "baseUrl": "{{cabConformingAgent}}/bind", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -### Unfederated Graph Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "GraphAsset?cab=Conforming&mode=unfederated", - "properties": { - "name": "Unfederated Conforming Asset.", - "description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Graph&mode=open", - "rdf:type": "cx-common:GraphAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", - "sh:shapesGraph": "@prefix : .\n", - "cx-common:isFederated": "false^^xsd:boolean" - } - }, - "dataAddress": { - "id": "GraphAsset?cab=Conforming&mode=unfederated", - "@type": "DataAddress", - "baseUrl": "{{cabConformingAgent}}/bind", - "type": "cx-common:Protocol?w3c:http:SPARQL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -## Test Skill Assets - -The CAB may use the following Skill Asset Descriptions (referring to the contract definitions in the last section) in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. - -### Open Skill Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "SkillAsset?cab=Conforming&mode=open", - "properties": { - "name": "Open Skill", - "description": "A conformity assessment skill.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", - "rdf:type": "cx-common:SkillAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", - "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", - "cx-common:isFederated": "true^^xsd:boolean" - }, - "privateProperties": { - "cx-common:query":"# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" - } - }, - "dataAddress": { - "id":"SkillAsset?cab=Conforming&mode=open", - "@type": "DataAddress", - "type": "cx-common:Protocol?w3c:http:SKILL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} - -``` - -### Closed Skill Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "SkillAsset?cab=Conforming&mode=closed", - "properties": { - "name": "Closed Skill", - "description": "A conformity assessment skill.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", - "rdf:type": "cx-common:SkillAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", - "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", - "cx-common:isFederated": "false^^xsd:boolean" - }, - "privateProperties": { - "cx-common:query":"# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" - } - }, - "dataAddress": { - "id":"SkillAsset?cab=Conforming&mode=closed", - "@type": "DataAddress", - "type": "cx-common:Protocol?w3c:http:SKILL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -### Provider Skill Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "SkillAsset?cab=Conforming&mode=provider", - "properties": { - "name": "Provider-Forced Skill", - "description": "A conformity assessment skill.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", - "rdf:type": "cx-common:SkillAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", - "cx-common:distributionMode": "cx-common:SkillDistribution?run=provider", - "cx-common:isFederated": "true^^xsd:boolean" - }, - "privateProperties": { - "cx-common:query":"# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" - } - }, - "dataAddress": { - "id":"SkillAsset?cab=Conforming&mode=provider", - "@type": "DataAddress", - "type": "cx-common:Protocol?w3c:http:SKILL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -### Consumer Skill Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "SkillAsset?cab=Conforming&mode=consumer", - "properties": { - "name": "Consumer-Forced Skill", - "description": "A conformity assessment skill.", - "version": "1.11.16", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", - "rdf:type": "cx-common:SkillAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", - "cx-common:distributionMode": "cx-common:SkillDistribution?run=consumer", - "cx-common:isFederated": "true^^xsd:boolean" - }, - "privateProperties": { - "cx-common:query":"# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" - } - }, - "dataAddress": { - "id":"SkillAsset?cab=Conforming&mode=consumer", - "@type": "DataAddress", - "type": "cx-common:Protocol?w3c:http:SKILL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -### Unfederated Skill Asset - -```json -{ - "@context": { - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "sh": "http://www.w3.org/ns/shacl#" - }, - "asset": { - "@type": "Asset", - "@id": "SkillAsset?cab=Conforming&mode=unfederated", - "properties": { - "name": "Unfederated Skill", - "description": "A conformity assessment skill.", - "version": "1.9.4-SNAPSHOT", - "contenttype": "application/json, application/xml", - "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", - "rdf:type": "cx-common:SkillAsset", - "rdfs:isDefinedBy": "", - "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", - "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", - "cx-common:isFederated": "false^^xsd:boolean" - }, - "privateProperties": { - "cx-common:query":"# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" - } - }, - "dataAddress": { - "id":"SkillAsset?cab=Conforming&mode=unfederated", - "@type": "DataAddress", - "type": "cx-common:Protocol?w3c:http:SKILL", - "proxyPath": "false", - "proxyMethod": "true", - "proxyQueryParams": "true", - "proxyBody": "true" - } -} -``` - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/page_changelog.md b/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/page_changelog.md deleted file mode 100644 index 54969378441..00000000000 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/page_changelog.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -id: Knowledge Agent Changelog -title: Changelog -description: 'Knowledge Agent' -sidebar_position: 1 ---- - -### Agents KIT - -![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) - -All notable changes to the (Knowledge) Agents KIT (=Keep It Together) will be documented in this file. - -## [1.0.1] - 2024-02-21 - -### Added - -### Changed - -- Linting of Markdown -- References to 24.03 (1.11.16) - -## [1.0.0] - 2023-11-24 - -### Added - -- Stable Deployment Example -- Notice - -### Changed - -- Simplified Adoption View -- Updated Standard References, Release Dates - -## [0.0.1] - 2023-09-29 - -### Added - -- AAS Bridge References -- Deployment Examples -- References to the RUL Kit - -### Changed - -- Pointers moved from Catena-X to Tractus-X -- Adapted to Tractus-X EDC 0.5.x and the changed EDR callback -- Adapted all Catena-X namespaces to -- Upgraded to the latest possible version of dependent libraries -- Eclipse Tractus-X standards and migration - -### Removed - -- Sample Dataspace -- Build & Compile -- Standard Drafts -- Previous EDC Control Plane Extensions regarding SPARQL/HTTP transfer - -## [PRE 0.1] - 2023-09-04 - -### Added - -- Conformity Assessment Testbed -- Matchmaking Agent: Possibility to invoke Skills as Services according to KA-MATCH -- Matchmaking Agent: Possibility to steer Delegation through Asset Properties -- Matchmaking Agent: Possibility to allow/deny service requests based on URL pattern -- Transfer: Possibility to annotate assets with service request allow/deny patterns -- Transfer: Implement Skill Protocol of KA-TRANSFER -- Federated Data Catalogue: Embedding Shapes Properties as Named Graphs -- Skill Store: Implementation using EDC Control Plane/Asset Catalogue -- Support for SPARQL KA-transfer profile including the cx_warnings header -- Necessary documentation markdown for Eclipse Standard -- Helm Sub-Charts for Umbrella Embedding -- Postman Collection with Integration Tests -- SparQL Anything, PostgreSQL support -- Eclipse Dataspace Connector Extensions (Control Plane & Data Plane) -- Registration of Additional Callback Handlers -- Move patched code into extensions -- Ontology Python Tools -- UX Skill Framework -- UX Skill Modules for Custom Search -- Added Backend Virtualization & Mock -- Postman Collection with RUL & HI Logic -- Include depending artifacts via Maven/Docker -- Remoting Agent Batch Mode -- Ontology Submodule including Diagnosis Domain -- Splitted Tractus-X Branch into Dataspace and UX submodules -- Moved Deployments to Infrastructure Submodule -- Added 2 Agent Implementations (Ontop, RDF4J) -- Postman Collection with RUL Logic -- Software BOM -- Submodules to Apache Jena and Tractus-X -- Source Code and Data Samples for Three tenants -- Postman Collection with Spike Logic -- Helm Chart and Docker Compose Deployment -- Adapted to Tractus-X EDC 0.4 and the v2 Management and Catalogue APIs - -### Changed - -### Removed - -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.05/kits/Connector Kit/Adoption View/adoption-view.md b/docs-kits_versioned_docs/version-24.05/kits/Connector Kit/Adoption View/adoption-view.md index 45e47ef352e..9ea0a0d2c3c 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Connector Kit/Adoption View/adoption-view.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Connector Kit/Adoption View/adoption-view.md @@ -219,7 +219,7 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses [BPDM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Business%20Partner%20Kit/Adoption%20View -[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/DCM-Kit/adoption-view +[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Demand%20and%20Capacity%20Management%20Kit/adoption-view/overview [PURIS-url]: https://github.com/eclipse-tractusx/puris diff --git a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_adoption-view.md deleted file mode 100644 index 83e74e2d88e..00000000000 --- a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_adoption-view.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: adoption-view -title: Adoption View -description: 'A first impression' -sidebar_position: 2 -toc_min_heading_level: 2 -toc_max_heading_level: 2 ---- - -![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) - -## Vision & Mission - -The Catena-X-Standards for Demand- and Capacity-Management enable participants of the automotive supply chain to become more resilient and to increase the degree of collaboration aimed at avoiding or solving production bottlenecks as well as surplus situations in a tactical horizon of 1-2 years. - -Thereby the standards empower participants to share data in a secure and sovereign way while ensuring the interoperability of the different applications involved in the process. - -## Status Quo - -### Today's challenge for automotive companies - -Resilience has become imperative within Supply Chain Management, especially over the past years. With the growing complexity of supply chains and a rising number of global and local crises, small and medium enterprises (SMEs) as well as large enterprises (LEs) are facing an increased risk of serious disruptions in their supply chains, bullwhip effects and in the worst case even temporary production shutdowns with a high effort and costs of replanning. - -Inside the volatile and highly complex surroundings of the automotive industry nowadays, mostly tailor-made, proprietary and often fully manual IT solutions support the demand and capacity management processes along the value chain. On the one side there is no common understanding of these processes among the participants. On the other side, different data formats as well as application programming interfaces are used, which is increasing the complexity in the data exchange and which is leading to transfer problems, inconsistencies, or even loss of data. - -## Business Value - -### Why DCM KIT? - -The purpose and focus of Demand and Capacity Management (DCM) KIT is twofold: - -- Define a common understanding of the DCM process thus paving the way for more proactive and efficient collaboration. -- Establish process and application interoperability with the help of common semantics and unified interfaces for data exchange while ensuring the data sovereignty of data providers. - -Implementing the DCM standards will add the following core capabilities to business applications: - -- Provisioning and consumption of material demands data in a sovereign manner. -- Provisioning and consumption of capacity data in a sovereign manner. -- Discovery of bottlenecks and surplus capacity situations by employing a unified calculation logic. - -## Standards - -The DCM standard consists of three main elements: - -- **Core Business logic** – to focus on a **common understanding** of the **DCM processes** among the participants. **Version 2.0.0** (Release 24.05) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) -- **Data model** – to align the structure of the shared data and enable the adoption of the core business logic without misinterpretation. **Version 2.0.0** (Release 24.05) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) -- **APIs** – to make sure that data are transmitted and consumed properly as well as are identically interpreted across companies. **Version 2.0.0** (Release 24.05) [CX-0128 Demand and Capacity Management Data Exchange](https://catena-x.net/de/standard-library) - -### POWER of STANDARD - -Standards create trust. Customer and Supplier can form new partnerships confidently. Knowing that integration in the network will be dramatically simplified. Standardization can help reduce costs by eliminating redundancies and streamlining processes. By adopting a common set of practices and technologies, businesses can avoid the need to develop their own proprietary systems, which can be expensive and time-consuming. - -### DATA SOVEREIGNTY in FOCUS - -DCM KIT keeps up with Catena X commitment to data sovereignty. This KIT has the goal to always comply with the data sovereignty principle implemented by the Eclipse Dataspace Connector. That enables all participants in the supply chain to always stay in full control of their own data. - -This is how sharing data is fun. - -### INTEROPERABILITY at its BEST - -Application and Service Provider can reduce investments to integrate DCM data models/API specification from DCM KIT. - -The Kit enables the offering of value-add services and innovation based on process description of the core business logic and how a collaborative approach is a win-win-situation for customer and supplier. - -### COLLABORATION is KEY - -The DCM KIT enables better and faster issue resolution. We believe that collaboration is the key to creating and maintaining strong partnerships between customers and suppliers and, at the same time, enhancing problem solving to reach a more balanced and efficient supply and demand management. - -Of course, by realizing efficiency through improved collaboration all involved partners will gain competitive advantage over those that do not collaborate. - -## Semantic Models - -| Semantic Model | Link to GitHub Repository | -| ------------- | ------------- | -| WeekBasedCapacityGroup | | -| WeekBasedMaterialDemand | | -| IdBasedRequestForUpdate | | -| IdBasedComment | | - -## Notice - -This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) - -- SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG -- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -- SPDX-FileCopyrightText: 2023,2024 SAP SE -- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG -- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG -- SPDX-FileCopyrightText: 2023,2024 BASF SE -- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG -- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA -- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) -- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_architecture-view.md b/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_architecture-view.md deleted file mode 100644 index 1aafa036d4b..00000000000 --- a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_architecture-view.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -id: architecture-view -title: Architecture View -description: The view from above -sidebar_position: 4 ---- - -![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) - -## Why​ - -This page is relevant for you, if one of the following cases applies: - -1. You want to participate in the demand and capacity usecase as either a customer or a supplier and intend to adapt your existing custom application landscape to Catena-X DCM. -2. You want to offer business solutions to the aforementioned customers and suppliers by adapting your commercial software product for Catena-X DCM. - -If none of this applies to you or you are unsure, please refer to [Operation View](page_operation-view.md) first. - -> Note: If you purchase commercial software from a software vendor, the vendor needs to adopt their software for you. Please refer your vendor to this page. - -## Prerequisites - -In order to participate in the Catena-X network an Eclipse Dataspace Connector (EDC), or a similar connector fulfilling the Dataspace Protocol, is required, as the endpoints must not be called directly but only through a Data Asset/Contract Offer. - -In addition use case participants need to be boarded onto the Catena-X network. - -Participants intending to act as a customer require at least one BPNL for their company as well as one BPNS for every site they intend to integrate into the Catena-X network. - -Participants intending to act as a supplier require at least one BPNL for their company. - -## How - -If you want to adapt your custom or commercial applications to work with the Catena-X DCM usecase you will have to - -1. Modify the source code of your application -2. Enable your software to offer multiple REST API endpoints in order to receive data -3. Enable your software to call multiple REST API endpoints in order to send data -4. Enable your software to communicate through an Eclipse Dataspace Connector (EDC), or a similar solution, which is to be setup separately - -For details, please refer to the Catena-X DCM standard [CX-0128](https://catena-x.net/de/standard-library). This page provides a non-normative overview only. - -## Solution Overview - -For the exchange of the demand and capacity information required by the process, five REST APIs are used: - -- WeekBasedMaterialDemand API - used for the exchange of demand information -- WeekBasedCapacityGroup API - used for the exchange of capacity information -- RequestForUpdate API - used for requesting an update of WeekBasedMaterialDemand or WeekBasedCapacityGroup -- IdBasedComment API - used for the exchange of additional comments regarding WeekBasedMaterialDemand or WeekBasedCapacityGroup -- Asset Administration Shell (AAS) API - used when using DCM in combination with a Digital Twin Registry - -All those APIs are REST-based APIs. - -Implementing all endpoints is mandatory, except the AAS API endpoint, which is optional. - -Note that the software solutions used as well as the business process should be enabled in order to receive WeekBasedMaterialDemand information from customers and send WeekBasedCapacityGroup information back to those customers. Also, it needs to be possible to send the own WeekBasedMaterialDemand information to the suppliers and receive their WeekBasedCapacityGroup information in return. Therefore, the software tools used need to be able to send/receive these information and the users need to be able to work with the information in the planning processes. - -When implementing the API endpoints, it is important to follow the DCM standard closely in order to ensure compatibility with other solutions. This is not limited to technical aspects, but also extends to the business definition of demand and capacity. - -### Architecture Constraints - -| Constraint ID | Constraint | -| ------------- | ------------- | -| C-1 | Software and third party software must be compliant to the Catena-X and Eclipse Foundation Guidelines/Policies [eclipse_foundation](https://www.eclipse.org/projects/dev_process/) | -| C-2 | [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc/tree/main) (EDC), or a similar solution, must be used for data transfer between different legal entities; e.g. the API endpoints listed above may only be called through a Data Asset/Contract Offer | - -## Sequence Diagram - -The overall interaction between partners is illustrated by the following sequence diagram: - -```mermaid -sequenceDiagram - box rgb(80,80,80) Customer - participant Customer - participant CustomerApp as Customer App - participant CustomerConnector as Customer connector - end - box rgb(80,80,80) Core Services - participant CoreBpnlDiscovery as Core BPNL Discovery - participant CoreEdcDiscovery as Core EDC discovery - end - box rgb(80,80,80) Supplier - participant SupplierConnector as Supplier connector - participant SupplierApp as Supplier App - participant Supplier - end - - Customer ->> CustomerApp: Create MaterialDemand - activate CustomerApp - CustomerApp -->> Customer: MaterialDemand created - deactivate CustomerApp - Customer ->> CustomerApp: Finalize MaterialDemand - activate CustomerApp - CustomerApp ->> CoreBpnlDiscovery: Resolve Supplier Base Data into BPNL - activate CoreBpnlDiscovery - CoreBpnlDiscovery -->> CustomerApp: Supplier BPNL - deactivate CoreBpnlDiscovery - CustomerApp ->> CoreEdcDiscovery: Resolve Supplier BPNL into connector URL catalogue - activate CoreEdcDiscovery - CoreEdcDiscovery -->> CustomerApp: Connector URL catalogue - deactivate CoreEdcDiscovery - CustomerApp ->> CustomerApp: Find correct connector via URL catalogue inspection - CustomerApp ->> CustomerConnector: Transmit MaterialDemand - activate CustomerConnector - CustomerConnector ->> SupplierConnector: Resolve connector Endpoint and connector service catalogue into MaterialDemand API URL - activate SupplierConnector - SupplierConnector ->> CustomerConnector: Framework & Contract Negotiation - CustomerConnector -->> SupplierConnector: Framework & Contract Negotiation - SupplierConnector -->> CustomerConnector: MaterialDemand API URL - CustomerConnector ->> SupplierConnector: Transmit MaterialDemand - SupplierConnector ->> SupplierApp: Transmit MaterialDemand - activate SupplierApp - SupplierApp ->> Supplier: Transmit MaterialDemand - Supplier -->> SupplierApp: MaterialDemand received - SupplierApp -->> SupplierConnector: MaterialDemand received - deactivate SupplierApp - SupplierConnector -->> CustomerConnector: MaterialDemand received - deactivate SupplierConnector - CustomerConnector -->> CustomerApp: MaterialDemand received - deactivate CustomerConnector - CustomerApp -->> Customer: MaterialDemand finalized & synchronized - deactivate CustomerApp - - Supplier ->> SupplierApp: Create CapacityGroup - activate SupplierApp - SupplierApp -->> Supplier: CapacityGroup created - deactivate SupplierApp - Supplier ->> SupplierApp: Link Demands to CapacityGroup - activate SupplierApp - SupplierApp -->> Supplier: Demands Linked - deactivate SupplierApp - Supplier ->> SupplierApp: Finalize CapacityGroup - activate SupplierApp - SupplierApp ->> CoreBpnlDiscovery: Resolve Customer Base Data into BPNL - activate CoreBpnlDiscovery - CoreBpnlDiscovery -->> SupplierApp: Customer BPNL - deactivate CoreBpnlDiscovery - SupplierApp ->> CoreEdcDiscovery: Resolve Customer BPNL into connector URL catalogue - activate CoreEdcDiscovery - CoreEdcDiscovery -->> SupplierApp: connector URL catalogue - deactivate CoreEdcDiscovery - SupplierApp ->> SupplierApp: Find correct connector via URL catalogue inspection - SupplierApp ->> SupplierConnector: Transmit CapacityGroup - activate SupplierConnector - SupplierConnector ->> CustomerConnector: Resolve connector Endpoint and connector service catalogue into CapacityGroup API URL - activate CustomerConnector - CustomerConnector ->> SupplierConnector: Framework & Contract Negotiation - SupplierConnector -->> CustomerConnector: Framework & Contract Negotiation - CustomerConnector -->> SupplierConnector: CapacityGroup API Endpoint - SupplierConnector ->> CustomerConnector: Transmit CapacityGroup - CustomerConnector ->> CustomerApp: Transmit CapacityGroup - activate CustomerApp - CustomerApp ->> Customer: Transmit CapacityGroup - Customer -->> CustomerApp: CapacityGroup received - CustomerApp -->> CustomerConnector: CapacityGroup received - deactivate CustomerApp - CustomerConnector -->> SupplierConnector: CapacityGroup received - deactivate CustomerConnector - SupplierConnector -->> SupplierApp: CapacityGroup received - deactivate SupplierConnector - SupplierApp -->> Supplier: CapacityGroupfinalized & synchronized - deactivate SupplierApp -``` - -Note that the supplier does not need to immediately reply with capacity group after receiving demand information, although a timely reply is appreciated, there can be a considerable time in between instead. - -Digital Twins can also be used to reference parts, but are not shown in the sequence diagram for simplicity. diff --git a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_changelog.md deleted file mode 100644 index b79dff6535c..00000000000 --- a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_changelog.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -id: changelog -title: Changelog -description: 'What has changed recently?' -sidebar_position: 1 -toc_min_heading_level: 2 -toc_max_heading_level: 2 ---- - -![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) - -## DCM KIT Changelog - -All notable changes to this Kit will be documented in this file. - -## [1.0.0] - unreleased - -### Added - -- Added [DCM Operation View](page_operation-view.md) - -### Changed - -- Changed banner image file location and converted .png image to .svg -- Updated aspect models in [Adoption View](page_adoption-view.md) to new versions -- Updated aspect models and API definitions in [Development View](page_development-view.md) to new versions -- Updated WeekBasedMaterialDemand data model and API chapters to new data model (Replaced MaterialDemand with WeekBasedMaterialDemand aspect model) -- Updated choice of words and writing pattern throughout the documentation - -### Removed - -- ./. - -## [0.2.0] - 2024-03-08 - -### Added - -- Added Architecture View -- Added IdBasedRequestForUpdate data model reference to Adoption View -- Added IdBasedComment data model reference to Adoption View -- Added IdBasedRequestForUpdate data model chapter to Development View -- Added IdBasedComment data model chapter to Development View -- Added IdBasedRequestForUpdate API chapter to Development View -- Added IdBasedComment API chapter to Development View - -### Changed - -- Updated DCM standard references in Adoption View (Merged CX-0046, CX-0047 and CX-0048 into CX-0128) -- Updated data model references in Adoption View -- Updated MaterialDemand data model chapter to new data models and versions (Replaced WeekBasedMaterialDemand with MaterialDemand aspect model) -- Updated WeekBasedCapacityGroup data model chapter to new data models and versions -- Updated MaterialDemand API chapter to new API definitions -- Updated WeekBasedCapacityGroup API chapter to new API definitions - -### Removed - -n/a - -## [0.1.0] - 2023-03-01 - -### Added - -- Adoption View -- Development View - -### Changed - -n/a - -### Removed - -n/a diff --git a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_development-view.md b/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_development-view.md deleted file mode 100644 index c975e6dae99..00000000000 --- a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_development-view.md +++ /dev/null @@ -1,1284 +0,0 @@ ---- -id: development-view -title: Development View -description: 'What do I have to implement?' -sidebar_position: 3 ---- - -![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) - -This page describes the most important parts for the software implementation of the DCM standards. For the full -technical specification, please refer to the -standard [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -## Introduction - -This document describes the `WeekBasedMaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedRequestForUpdate` and `IdBasedComment` -semantic models and the API definitions used in the DCM Catena-X network. - -## Aspect Models - -### Aspect Model "WeekBasedMaterialDemand" - -For the exchange of material demand information, customers MUST provide data to suppliers. The data format specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] MUST be conformed to. - -Customers and suppliers MUST implement the `WeekBasedMaterialDemand` data model. - -Suppliers MUST be able to consume and process material demand information. - -Customers MUST be able to provide and process material demand information. - -Data providers of `WeekBasedMaterialDemand` data MUST ensure that it aligns with the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The unique identifier for the semantic model, as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary], MUST be used to define the meaning of the data being transferred. - -Business applications utilizing `WeekBasedMaterialDemand` data MUST consume this data, conforming to the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -Within the Catena-X data space `WeekBasedMaterialDemand` data MUST be requested and exchanged using a connector, conforming to the standards [CX-0018][StandardLibrary] and [CX-0002][StandardLibrary]. - -The JSON Payload provided by data providers MUST comply with the JSON schema as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The characteristics BPNL and BPNS MUST be used, conforming with [CX-0010][StandardLibrary]. - -#### Sample Data - -```json -{ - "unitOfMeasureIsOmitted" : false, - "unitOfMeasure" : "unit:piece", - "materialDescriptionCustomer" : "Spark Plug", - "materialGlobalAssetId" : "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", - "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", - "materialNumberSupplier" : "MNR-8101-ID146955.001", - "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", - "changedAt" : "2023-11-05T08:15:30.123-05:00", - "demandSeries" : [ { - "expectedSupplierLocation" : "{{CATENAX-SUPPLIER-BPNS}}", - "demands" : [ { - "demand" : 1000, - "pointInTime" : "2023-10-09" - } ], - "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", - "demandCategory" : { - "demandCategoryCode" : "0001" - } - } ], - "materialDemandIsInactive" : true, - "materialNumberCustomer" : "MNR-7307-AU340474.002", - "customer" : "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.week_based_material_demand:3.0.0 -``` - -Data providers MUST use this identifier to clearly define the semantics of the data they are transferring. - -All other file format and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_material_demand/3.0.0/WeekBasedMaterialDemand.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used to generate other file formats such as JSON schema, AASX for Asset Administration Shell Submodel template or HTML documentation. - -### Aspect Model "WeekBasedCapacityGroup" - -For the exchange of capacity group information, suppliers MUST provide data to customers. The data format specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] MUST be conformed to. - -Customers and suppliers MUST implement the `WeekBasedCapacityGroup` data model. - -Suppliers MUST be able to provide and process capacity group information. - -Customers MUST be able to consume and process capacity group information. - -Data providers of `WeekBasedCapacityGroup` data MUST ensure that it aligns with the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The unique identifier for the semantic model, as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary], MUST be used to define the meaning of the data being transferred. - -Business applications utilizing `WeekBasedCapacityGroup` data MUST consume this data, conforming to the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -Within the Catena-X data space `WeekBasedCapacityGroup` data MUST be requested and exchanged using a connector, conforming to the standards [CX-0018][StandardLibrary] and [CX-0002][StandardLibrary]. - -The JSON Payload provided by data providers MUST comply with the JSON schema as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The characteristics BPNL and BPNS MUST be used, conforming with [CX-0010][StandardLibrary]. - -#### Sample Data - -```json -{ - "unitOfMeasure" : "unit:piece", - "linkedDemandSeries" : [ { - "loadFactor" : 3.5, - "materialNumberCustomer" : "MNR-7307-AU340474.002", - "materialNumberSupplier" : "MNR-8101-ID146955.001", - "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", - "demandCategory" : { - "demandCategoryCode" : "0001" - } - } ], - "linkedCapacityGroups" : [ "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" ], - "unitOfMeasureIsOmitted" : false, - "capacityGroupIsInactive" : true, - "demandVolatilityParameters" : { - "rollingHorizonAlertThresholds" : [ { - "sequenceNumber" : 1, - "absoluteNegativeDeviation" : 100.0, - "subhorizonLength" : 4, - "relativeNegativeDeviation" : 0.3, - "absolutePositiveDeviation" : 100.0, - "relativePositiveDeviation" : 0.2 - } ], - "measurementInterval" : 4, - "startReferenceDateTime" : "2024-01-10T12:00:00.320Z" - }, - "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", - "name" : "Spark Plugs on drilling machine for car model XYZ", - "supplierLocations" : [ "{{CATENAX-SUPPLIER-BPNS}}" ], - "capacities" : [ { - "pointInTime" : "2022-08-01", - "agreedCapacity" : 1800, - "actualCapacity" : 1000, - "maximumCapacity" : 2000, - "deltaProductionResult" : 400 - } ], - "changedAt" : "2023-03-10T12:27:11.320Z", - "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", - "customer" : "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.week_based_capacity_group:3.0.0 -``` - -Data providers MUST use this identifier to clearly define the semantics of the data they are transferring. - -All other file format and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_capacity_group/3.0.0/WeekBasedCapacityGroup.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used to generate other file formats such as JSON schema, AASX for Asset Administration Shell Submodel template or HTML documentation. - -### Aspect Model "IdBasedRequestForUpdate" - -`IdBasedRequestForUpdate` can be exchanged between customer and supplier conforming to the API standard described in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. The data format specified in this standard MUST be conformed to. - -Customers and suppliers MUST implement the `IdBasedRequestForUpdate` data model. - -Customers and suppliers MUST be able to consume and process a request for update. - -Providing an `IdBasedRequestForUpdate` is OPTIONAL. It is RECOMMENDED to be both capable of providing and consuming a request for update. - -Providers of an `IdBasedRequestForUpdate` MUST ensure that it aligns with the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The unique identifier for the semantic model, as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary], MUST be used to define the meaning of the data being transferred. - -Business applications utilizing `IdBasedRequestForUpdate` data MUST consume this data, conforming to the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -Within the Catena-X data space `IdBasedRequestForUpdate` data MUST be requested and exchanged using a connector, conforming to the standards [CX-0018][StandardLibrary] and [CX-0002][StandardLibrary]. - -The JSON Payload provided by data providers MUST comply with the JSON schema as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -#### Sample Data - -```json -{ - "weekBasedMaterialDemand" : [ { - "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456", - "changedAt" : "2023-03-10T12:27:11.320Z" - } ], - "weekBasedCapacityGroup" : [ { - "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", - "changedAt" : "2023-03-10T12:27:11.320Z" - } ] -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.id_based_request_for_update:3.0.0 -``` - -Data providers MUST use this identifier to clearly define the semantics of the data they are transferring. - -All other file format and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_request_for_update/3.0.0/IdBasedRequestForUpdate.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used to generate other file formats such as JSON schema, AASX for Asset Administration Shell Submodel template or HTML documentation. - -### Aspect Model "IdBasedComment" - -An `IdBasedComment` can refer to a `WeekBasedCapacityGroup`, its weekly capacities, a `WeekBasedMaterialDemand`, or its weekly demand series. This comment can be exchanged between customer and supplier conforming to the API standard described [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. The data format specified in this standard MUST be conformed to. - -Customers and suppliers MUST implement the `IdBasedComment` data model. - -Customers and suppliers MUST be able to provide and process an `IdBasedComment`. - -Customers and suppliers MUST be able to consume and process an `IdBasedComment`. - -Data providers of `IdBasedComment` data MUST ensure that it aligns with the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The unique identifier for the semantic model, as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary], MUST be used to define the meaning of the data being transferred. - -Business applications utilizing `IdBasedComment` data MUST consume this data, conforming to the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -Data consumers and data providers MUST comply with the license of the semantic model specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -Within the Catena-X data space `IdBasedComment` data MUST be requested and exchanged using a connector, conforming to the standards [CX-0018][StandardLibrary] and [CX-0002][StandardLibrary]. - -The JSON Payload provided by data providers MUST comply with the JSON schema as specified in [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The characteristics BPNL and BPNS MUST be used, conforming with [CX-0010][StandardLibrary]. - -#### Sample Data - -```json -{ - "postedAt" : "2023-03-10T12:27:11.320Z", - "listOfReferenceDates" : [ "2023-11-05" ], - "author" : "someone@company.com", - "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", - "commentType" : "information", - "commentId" : "f5c151e4-30b5-4456-94fd-2a7b559b6121", - "changedAt" : "2023-03-10T12:27:11.320Z", - "commentText" : "Hello, this is a comment!", - "requestDelete" : true, - "objectId" : "dfeb1334-497e-4dab-97c1-4e6f4e1c0320", - "objectType" : "urn:samm:io.catenax.week_based_capacity_group", - "customer" : "{{CATENAX-CUSTOMER-BPNL}}" -} -``` - -The semantic model has the unique identifier - -```text -urn:samm:io.catenax.id_based_comment:1.0.0 -``` - -Data providers MUST use this identifier to clearly define the semantics of the data they are transferring. - -All other file format and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_comment/1.0.0/IdBasedComment.ttl -``` - -The open source command line tool of the Eclipse Semantic Modeling Framework is used to generate other file formats such as JSON schema, AASX for Asset Administration Shell Submodel template or HTML documentation. - -## Application Programming Interfaces - -### Header - -When exchanging data with a DCM partner, the POST request payload MUST be structured as follows: - -```json -{ - "messageHeader": - , - - "content":{ - "informationObject":[ - , - - ] - } -} -``` - -This format ensures that the header, which contains metadata about the message, is kept separate from the content, which includes the actual data being exchanged. The content section can hold multiple `informationObject` entries. These objects can be one of the following types: `WeekBasedMaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedComment`, or `IdBasedRequestForUpdate`. - -The master reference for generating additional file formats and serializations is the RDF turtle file, which is an instance of the Semantic Aspect Meta Model. The RDF turtle file for the `messageHeaderObject` is defined in a centralized shared aspect model and can be accessed at the following URL: - -```text -https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/3.0.0/MessageHeaderAspect.ttl -``` - -Within the RDF turtle file, you will find detailed descriptions for how to use the message header. - -### WeekBasedMaterialDemand API - -The `WeekBasedMaterialDemand` object is used to provide material demand information from customer to supplier. - -Customers MUST be able to provide `WeekBasedMaterialDemand`. - -Suppliers MUST be able to consume and process `WeekBasedMaterialDemand`. - -The `WeekBasedMaterialDemand` API MUST be published towards the network using a Data Asset/Contract Offer, which is in line with the Dataspace Protocol as specified by the International Data Spaces Association (IDSA) and MUST conform with the Catena-X standard [CX-0001][StandardLibrary]. - -#### Data Exchange - -Customers MUST provide suppliers with `WeekBasedMaterialDemand` data via HTTP POST request. The data MUST conform to the format specified in this standard and it MUST NOT exceed 15 MiB in size. It MUST be a valid JSON string and MUST include all mandatory properties. The data model with all its properties MUST conform to the respective aspect model and the definitions above. Properties marked as "optional" MAY be included in the data. -When consuming a payload, that contains unknown properties not described within the data model but is otherwise correct, those properties MUST be ignored. - -Attributes that are strings MUST be formatted correctly. For example, `expectedSupplierLocation` MUST be formatted as a BPNS. The `pointInTime` property MUST represent the week's Monday in the format YYYY-MM-DD as described in ISO8601. - -The `demandCategory` property MUST be set to one of the predefined values from [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The `unitOfMeasure` property MUST be set to one of the predefined values from [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. If no unit of measure is to be provided, the customer MUST omit the property and set the `unitOfMeasureIsOmitted` flag to true. - -Multiple `WeekBasedMaterialDemand` aspects MAY be provided in one transfer as a JSON list. If only one `WeekBasedMaterialDemand` aspect is provided, it MUST be as list with one entry. - -The current week is denominated as N=0, the next week as N=1, the week after the next week as N=2 and so on. -The data series in the `WeekBasedMaterialDemand` SHOULD start from week N=2. The dataset MUST include at least one week, where N>1 and MUST NOT contain duplicate weeks. Weeks N=0 and N=1 MAY be included. If demand changes, the entire dataset MUST be provided again, avoiding inconsistent or incomplete data. The new dataset might contain additional data or less data then the previous version of the same dataset. This includes the possibility that a `demandSeries` might have been removed entirely. Each `WeekBasedMaterialDemand` object MUST be unique for a given `supplier`, `customer` and `materialNumberCustomer` combination. This means that customers need to aggregate demands from all their factories before providing them to suppliers as a single `WeekBasedMaterialDemand`. - -If a week's demand is zero (value = `0`), it MUST be explicitly stated and included in the `WeekBasedMaterialDemand`, unknown demands (value = `null`) SHOULD be omitted. - -The customer MAY define a `WeekBasedMaterialDemand` as inactive by setting and transferring the `materialDemandIsInactive` flag to the supplier. The inactive `WeekBasedMaterialDemand` and their related `demandSeries` data MUST be ignored during the demand-capacity matching over the whole horizon, i.e. must be considered in the same way as not existing data for the demand-capacity matching. Inactivating a `WeekBasedMaterialDemand` may trigger their archiving or deletion in the local DCM application of the business partner. -Once a `WeekBasedMaterialDemand` has been set as inactive, this MAY be undone by the customer by reverting the `materialDemandIsInactive` flag. In this case, the `WeekBasedMaterialDemand` MUST again be considered during the demand-capacity matching. The reverting of the inactive flag of a `WeekBasedMaterialDemand` may correspond to a newly created and initially transferred or to an updated `WeekBasedMaterialDemand`. - -#### UUID generation and handling - -UUIDv4 is REQUIRED for exchanging demand data to ensure uniqueness and security. The UUID MUST be generated conforming to [RFC4122][RFC4122] and MUST be treated as unique within the supplier-customer relationship. - -#### Data asset structure - -The HTTP POST endpoint introduced above MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via connector conformant to [CX-0018][StandardLibrary]. Therefore, the endpoint MUST be offered as a Data Asset. The latter MUST have a property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmWeekBasedMaterialDemand`. It can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This property SHOULD be used to identify the asset when searching the assets catalog of a supplier. Because the asset reflects the contractual relationship between a supplier and its customers, only one asset with the aforementioned property for one version MUST be visible to the customer at any time to avoid ambiguity. - -The API version described MUST be published in the property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a compatible version with their own, the requester MUST terminate the data transfer. - -Each supplier MUST ensure that only their customers have access to the asset by using access and usage policies and respective contract definitions. - -An example Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} MUST be substituted with a corresponding value. -> -> Asset definition example for Management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmWeekBasedMaterialDemand" - }, - "description": "Endpoint for providing Material Demands", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-WEEKBASEDMATERIALDEMAND-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error handling - -Every API endpoint defined above MUST respond to incoming requests with HTTP status codes as described in [RFC9110][RFC9110]. All of the following HTTP status codes, except for codes `200` and `201`, MUST be interpreted as failures. Therefore, it may be sufficient for a business application to simply check if the status code is `200` or `201` or not. If not, the request failed. - -| HTTP Status Code | HTTP Status Message | Description | -|:-----------------|:--------------------|:-------------| -| 200 | OK | The request has succeeded. The `WeekBasedMaterialDemand` has been successfully processed in the backend system. | -| 201 | Created | The request has succeeded and has led to the creation of a new `WeekBasedMaterialDemand` in the backend system. | -| 400 | Bad request | The server cannot or will not process the request due to something that is perceived to be a client error (e.g. malformed request syntax, invalid request message framing, or deceptive request routing). | -| 401 | Unauthorized | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | -| 403 | Forbidden | The `WeekBasedMaterialDemand` in question is not available for the client (e.g. it belongs to a different company). | -| 405 | Method not allowed | The method used to request the data was not POST. | -| 422 | Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors, e.g. the JSON payload could not be parsed. | -| 503 | Service Unavailable | The server is not ready to handle the request. | - -If one `WeekBasedMaterialDemand` aspect is provided in one HTTP request, the return codes MUST be used as stated in the table above. - -If a list of multiple `WeekBasedMaterialDemand` aspects is provided in one HTTP request, the status code `400` MUST be used if at least one `WeekBasedMaterialDemand` in the list cannot be processed. Applications MAY choose to process valid entries from a list which also contains invalid entries. If a list of multiple `WeekBasedMaterialDemand` aspects is provided in one HTTP request and all of them can be processed successfully, the status code `200` MUST be used. - -The return codes `401`, `405`, `422` and `503` in the table above MAY also be applicable to a list of multiple `WeekBasedMaterialDemand` aspects. - -#### Validating payload - -The following tables are supposed to answer questions regarding what business logic MUST be executed when consuming a `WeekBasedMaterialDemand` which has been formed in a specific way. - -The order of rules is indicated by the 'Number' row. The rules MUST be executed in exactly this order, starting from the lowest number. - -The first rule that matches MUST be executed. All other rules MUST be ignored. - -'value' indicates the actual value written in quotation marks and without any specific formatting (e.g. italic). - -_Valid value_ indicates that the value is valid according to aspect model, API and process. - -_Invalid value_ indicates that the value is invalid according to aspect model, API and process. - -_Any value_ indicates that the value can be anything, valid or not. - -A whitespace or an empty cell indicates that for this specific rule that row is not applicable. - -| **Number** | 1 | | -|---|---|---| -| **Properties** | | | -| **Meta Properties** | Any property | _invalid value_ | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 2 | | -|---|---|---| -| **Properties** | customer | Customer BPNL does not match the providing connectors registered BPNL | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 3 | | -|---|---|---| -| **Properties** | customer | Supplier does not match any Supplier BPNL that I am responsible for | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 4 | | -|---|---|---| -| **Properties** | materialDemandID | _Known value_ | -| | changedAt | More recent than all previously consumed `WeekBasedMaterialDemand` with the same materialDemandID | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Overwrite all existing values | -| | Return Code | 200 - OK | - -| **Number** | 5 | | -|---|---|---| -| **Properties** | materialDemandID | _Unknown value_, but there exists another UUID for the exact same combination of supplier, customer and materialNumberCustomer | -| | customer | _Known value_ | -| | supplier | _Known value_ | -| | materialNumberCustomer | _Known value_ | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 6 | | -|---|---|---| -| **Properties** | materialDemandID | _Unknown value_ | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Save as new material demand with consumed values | -| | Return Code | 201 - Created | - -| **Number** | 7 | | -|---|---|---| -| **Properties** | materialDemandID | _Known value_ | -| | changedAt | Older than any previously consumed `WeekBasedMaterialDemand` with the same materialDemandID | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 8 | | -|---|---|---| -| **Properties** | materialDemandID | _Known value_ | -| | changedAt | Identical to the most recent of all previously consumed `WeekBasedMaterialDemand` with the same materialDemandID | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Overwrite all existing values with consumed values | -| | Return Code | 200 - OK | - -### WeekBasedCapacityGroup API - -The `WeekBasedCapacityGroup` object is used to provide capacity group information from supplier to customer. - -Suppliers MUST be able to provide `WeekBasedCapacityGroup` - -Customers MUST be able to consume and process `WeekBasedCapacityGroup` - -The `WeekBasedCapacityGroup` API MUST be published towards the network using a Data Asset/Contract Offer, which is in line with the Dataspace Protocol as specified by IDSA and MUST conform with the Catena-X standard [CX-0001][StandardLibrary]. - -#### Data Exchange - -Suppliers MUST provide customers with `WeekBasedCapacityGroup` data via HTTP POST request. The data MUST conform to the format specified in this standard and it MUST NOT exceed 15 MiB in size. It MUST be a valid JSON string and MUST include all mandatory properties. The data model with all its properties MUST conform to the respective aspect model and the definitions above. Properties marked as "optional" MAY be included in the data. -When consuming a payload, that contains unknown properties not described within the data model but is otherwise correct, those properties MUST be ignored. - -Attributes that are strings MUST be formatted correctly. For example, `customer` MUST be formatted as a BPNL. The `pointInTime` property MUST represent the week's Monday in the format YYYY-MM-DD as described in ISO8601. - -The `demandCategory` property MUST be set to one of the predefined values from [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. - -The `unitOfMeasure` property MUST be set to one of the predefined values from [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. If no unit of measure is to be provided, the customer MUST omit the property and set the `unitOfMeasureIsOmitted` flag to true. - -Multiple `WeekBasedCapacityGroup` aspects MAY be provided in one transfer as a JSON list. If only one `WeekBasedCapacityGroup` aspect is provided, it MUST be as a list with one entry. - -The current week is denominated as N=0, the next week as N=1, the week after the next week as N=2 and so on. -The data series in the `WeekBasedCapacityGroup` SHOULD start from N=2. The dataset MUST include at least one week, where N>1 and MUST NOT contain duplicate weeks. Weeks N=0 and N=1 MAY be included. If capacity changes, the entire dataset MUST be provided again, avoiding inconsistent or incomplete data. A single combination of `demandCategory`, `customerLocation` and `materialNumberCustomer` MAY be referenced across multiple `WeekBasedCapacityGroup` objects. This means that one `materialNumberCustomer` MAY appear in the `linkedDemandSeries` of several distinct `WeekBasedCapacityGroup` objects. - -If a week's demand is zero (value = `0`), it MUST be explicitly stated and included in the `WeekBasedMaterialDemand`, unknown demands (value = `null`) SHOULD be omitted. - -The `linkedDemandSeries` property specifies which particular `WeekBasedMaterialDemand` a `WeekBasedCapacityGroup` is referencing. To clarify the `linkedDemandSeries` points to a demand with a specific trio: `demandCategory`, `customerLocation` and `materialNumberCustomer`. - -The customer MAY define a `WeekBasedCapacityGroup` as inactive by setting and transferring the `capacityGroupIsInactive` flag to the supplier. The inactive `WeekBasedCapacityGroup` MUST be ignored during the demand-capacity matching over the whole horizon, i.e. must be considered in the same way as not existing data for the demand-capacity matching. Inactivating data may trigger their archiving or deletion in the local DCM application of the business partner. The inactive flag of a `WeekBasedCapacityGroup` MUST NOT affect linked `WeekBasedMaterialDemand` objects or other linked `WeekBasedCapacityGroup`. The inactivation of a `WeekBasedCapacityGroup` MAY result in the situation that its linked active `WeekBasedMaterialDemand` objects have to be newly linked to other active `WeekBasedCapacityGroup`. Once a `WeekBasedCapacityGroup` has been set as inactive, this MAY be undone by reverting the `capacityGroupIsInactive` flag. In this case, the `WeekBasedCapacityGroup` MUST again be considered during the demand-capacity matching. The reverting of the inactive flag of a `WeekBasedCapacityGroup` may correspond to a newly created and initially transferred or to an updated `WeekBasedCapacityGroup`. - -Suppliers MAY use demand volatility metrics, including the optional entity `demandVolatilityParameters` within the JSON payload. - -The following properties are used by demand volatility metrics: - -- demandVolatilityParameters - - startReferenceDateTime - - measurementInterval - - rollingHorizonAlertThresholds - - sequenceNumber - - subhorizonLength - - absolutePositiveDeviation - - absoluteNegativeDeviation - - relativePositiveDeviation - - relativeNegativeDeviation - -Suppliers use `startReferenceDateTime` to define the start of the demand volatility metric calculation, it is also marks the start of the first measurement interval. Its value MUST be chosen, so that transfer times are considered, allowing the customer to consume the data while `startReferenceDateTime` is still larger than the customer´s system time. It is RECOMMENDED to allow for a grace period of at least 24 hours. - -In order to get the start of any subsequent measurement intervals the value of `measurementInterval` needs to be converted from integer to weeks and added to `startReferenceDateTime`. - -Once demand volatility metric calculation has been initialized `startReferenceDateTime` MUST maintain its value. - -If the value of `startReferenceDateTime` or `measurementInterval` changes this is considered another initialization. - -The sequence of entries within the `linkedDemandSeries` of a `WeekBasedCapacityGroup` does not follow any particular order and MUST be treated as non-sequential or random. - -#### UUID generation and handling - -UUIDv4 is REQUIRED for exchanging capacity data to ensure uniqueness and security. The UUID MUST be generated conforming to [RFC4122][RFC4122] and MUST be treated as unique within the supplier-customer relationship. - -#### Data asset structure - -The HTTP POST endpoint introduced above MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via a connector conformant to [CX-0018][StandardLibrary]. Therefore, the endpoint MUST be offered as a Data Asset. The latter MUST have a property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmWeekBasedCapacityGroup`. It can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This property SHOULD be used to identify the asset when searching the assets catalog of a customer. Because the asset reflects the contractual relationship between a customer and its suppliers, only one asset with the aforementioned property for one version MUST be visible to the supplier at any time to avoid ambiguity. - -The API version described in this standard MUST be published in the property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a compatible version with their own, the requester MUST terminate the data transfer. - -Each customer MUST ensure that only their suppliers have access to the asset by using access and usage policies and respective contract definitions. - -An example Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} MUST be substituted with a corresponding value. -> -> Asset definition example for management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmWeekBasedCapacityGroup" - }, - "description": "Endpoint for providing Week Based Capacity Groups", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-WEEKBASEDCAPACITYGROUP-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error handling - -Every API endpoint defined above MUST respond to incoming requests with HTTP status codes as described in [RFC9110][RFC9110]. All of the following HTTP status codes, except for codes `200` and `201`, MUST be interpreted as failures. Therefore, it may be sufficient for a business application to simply check if the status code is `200` or `201` or not. If not, the request failed. - -| HTTP Status Code | HTTP Status Message | Description | -|:-----------------|:--------------------|:-------------| -| 200 | OK | The request has succeeded. The `WeekBasedCapacityGroup` has been successfully processed in the backend system. | -| 201 | Created | The request has succeeded and has led to the creation of a new `WeekBasedCapacityGroup` in the backend system. | -| 400 | Bad request | The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). | -| 401 | Unauthorized | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | -| 403 | Forbidden | The `WeekBasedCapacityGroup` in question is not available for the client (e.g. it belongs to a different company). | -| 405 | Method not allowed | The method used to request the data was not POST. | -| 422 | Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors, e.g. the JSON payload could not be parsed. | -| 503 | Service Unavailable | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | - -If one `WeekBasedCapacityGroup` aspect is provided in one HTTP request, the return codes MUST be used as stated in the table above. - -If a list of multiple `WeekBasedCapacityGroup` aspects is provided in one HTTP request, the status code `400` MUST be used if at least one `WeekBasedCapacityGroup` in the list cannot be processed. Applications MAY choose to process valid entries from a list which also contains invalid entries. If a list of multiple `WeekBasedCapacityGroup` aspects is provided in one HTTP request and all of them can be processed successfully, the status code `200` MUST be used. - -The return codes `401`, `405`, `422` and `503` in the table above MAY also be applicable to a list of multiple `WeekBasedCapacityGroup` aspects. - -#### Validating payload - -The following tables are supposed to answer questions regarding what business logic MUST be executed when consuming a `WeekBasedCapacityGroup` which has been formed in a specific way. - -The order of rules is indicated by the 'Number' row. - -The first rule that matches MUST be executed. All other rules MUST be ignored. - -'value' indicates the actual value written in quotation marks and without any specific formatting (e.g. italic). - -_Valid value_ indicates that the value is valid according to aspect model, API and process. - -_Invalid value_ indicates that the value is invalid according to to aspect model, API and process. - -_Any value_ indicates that the value can by anything, valid or not. - -A whitespace or an empty cell indicates that for this specific rule that row is not applicable. - -| **Number** | 1 | | -|---|---|---| -| **Properties** | | | -| **Meta Properties** | Any property | _invalid value_ | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 2 | | -|---|---|---| -| **Properties** | customer | Supplier BPNL does not match the providing connectors registered BPNL | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 3 | | -|---|---|---| -| **Properties** | customer | Customer does not match any Supplier BPNL that I am responsible for | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 4 | | -|---|---|---| -| **Properties** | linkedCapacityGroups | Either both `linkedCapacityGroups` and `linkedDemandSeries` contain _Any value_ or do not contain a value. | -| | linkedDemandSeries | Either both `linkedCapacityGroups` and `linkedDemandSeries` contain _Any value_ or do not contain a value. | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 5 | | -|---|---|---| -| **Properties** | startReferenceDateTime | _value_ < _system time_ AND _value_ <> _current value_ of `startReferenceDateTime` | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values. | -| | Return Code | 400 - Bad Request | - -| **Number** | 6 | | -|---|---|---| -| **Properties** | capacityGroupID | _Known value_ | -| | changedAt | More recent than all previously consumed `WeekBasedCapacityGroup` with the same capacityGroupID | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Overwrite all existing values | -| | Return Code | 200 - OK | - -| **Number** | 7 | | -|---|---|---| -| **Properties** | capacityGroupID | _Unknown value_ | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Save as new capacity group with consumed values | -| | Return Code | 201 - Created | - -| **Number** | 8 | | -|---|---|---| -| **Properties** | capacityGroupID | _Known value_ | -| | changedAt | Older than any previously consumed `WeekBasedCapacityGroup` with the same capacityGroupID | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 9 | | -|---|---|---| -| **Properties** | capacityGroupID | _Known value_ | -| | changedAt | Identical to the most recent of all previously consumed `WeekBasedCapacityGroup` with the same capacityGroupID | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Overwrite all existing values with consumed values | -| | Return Code | 200 - OK | - -### RequestForUpdate API - -The `IdBasedRequestForUpdate` object (RfU) is used to request updates of some or even all `WeekBasedMaterialDemand` or `WeekBasedCapacityGroup` objects. - -Customers and Supplier MUST be able to consume and process a RfU. Being able to provide a RfU is RECOMMENDED. - -To properly process a RfU, the following steps MUST be executed: - -1. Response: Answering with the appropriate HTTP status code -2. Action: If that status code is `200 OK`: Providing the requested material demands and capacity groups via `WeekBasedMaterialDemand` API or `WeekBasedCapacityGroup` API respectively. - -It is RECOMMENDED that this functionality SHOULD NOT be an end-user functionality which can be executed in an user interface. - -The `IdBasedRequestForUpdate` API MUST be published towards the network using a Data Asset/Contract Offer, which is in line with the Dataspace Protocol as specified by IDSA and MUST conform with the Catena-X standard [CX-0001][StandardLibrary]. - -#### Data Exchange - -The `IdBasedRequestForUpdate` data MUST be provided by the customer to the supplier or vice versa via HTTP POST request. The data MUST conform to the format specified in this standard and it MUST NOT exceed 15 MiB in size. -When consuming a payload, that contains unknown properties not described within this standard but is otherwise correct, those properties MUST be ignored. - -An empty RfU payload requests all data within the specific customer-supplier relationship. - -A RfU payload MAY specify that only `WeekBasedMaterialDemand` or `WeekBasedCapacityGroup` objects are requested within the specific customer-supplier relationship. - -A RfU payload MAY specify that only certain data objects, identified by their respective UUID, are requested within the specific customer-supplier relationship. - -A RfU payload MAY specify that only certain data objects, that have been updated, identified by their respective UUID and `changedAt` value, are requested within the specific customer-supplier relationship. - -The following example payloads are intended to illustrate the different possible payloads of an `IdBasedRequestForUpdate`: - -RfU: Provide Everything - -```json -{ -} -``` - -RfU: Provide only Material Demands - -```json -{ - "weekBasedMaterialDemand": [ - ] -} -``` - -RfU: Provide only Capacity Groups - -```json -{ - "weekBasedCapacityGroup": [ - ] -} -``` - -RfU: Provide only certain Objects - -```json -{ - "weekBasedMaterialDemand": [ - { - "materialDemandId":"278e333d-f06b-4b59-8e95-22862f69807f"}, - { - "materialDemandId":"46adfa5d-36b7-4a9b-9ac6-508dac500dd2"} - ] -}, -{ - "weekBasedCapacityGroup": [ - { - "capacityGroupId":"a2fc69ac-ede7-48d3-bee5-04de665d49f0"}, - { - "capacityGroupId":"34238729-990a-4b61-b0c6-336da7b71675"} - ] -} -``` - -RfU: Provide only certain Objects and only if my version is not up to date - -```json -{ - "weekBasedMaterialDemand": [ - { - "materialDemandId":"278e333d-f06b-4b59-8e95-22862f69807f"}, - { - "materialDemandId":"46adfa5d-36b7-4a9b-9ac6-508dac500dd2"} - ] -}, -{ - "weekBasedCapacityGroup": [ - { - "capacityGroupId":"a2fc69ac-ede7-48d3-bee5-04de665d49f0"}, - { - "capacityGroupId":"34238729-990a-4b61-b0c6-336da7b71675", - "changedAt": "2023-03-08T11:44:27.701+01:00"} - ] -} -``` - -#### Data asset structure - -The HTTP POST endpoint introduced above MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via a connector conformant to [CX-0018][StandardLibrary]. Therefore, the endpoint MUST be offered as a Data Asset. The latter MUST have a property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmIdBasedRequestForUpdate`. It can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This property SHOULD be used to identify the asset when searching the assets catalog of a partner. Because the asset reflects the contractual relationship between two DCM partners, only one asset with the aforementioned property for one version MUST be visible to the partner at any time to avoid ambiguity. - -The API version described in this standard MUST be published in the property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a compatible version with their own, the requester MUST terminate the data transfer. - -Each DCM participant MUST ensure that only their business partners have access to the asset by using access and usage policies and respective contract definitions. - -An example Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} MUST be substituted with a corresponding value. -> -> Asset definition example for management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmIdBasedRequestForUpdate" - }, - "description": "Endpoint for requesting updates", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-IDBASEDREQUESTFORUPDATE-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error handling - -Every API endpoint defined above MUST respond to incoming requests with HTTP status codes as described in [RFC9110][RFC9110]. All of the following HTTP status codes, except for code `200` , MUST be interpreted as failures. Therefore, it may be sufficient for a business application to simply check if the status code is `200` or not. If not, the request failed. - -| HTTP Status Code | HTTP Status Message | Description | -|:-----------------|:--------------------|:-------------| -| 200 | OK | The request has succeeded. The `IdBasedRequestForUpdate` has been successfully processed in the backend system. | -| 400 | Bad request | The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). | -| 401 | Unauthorized | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | -| 403 | Forbidden | The `IdBasedRequestForUpdate` functionality is not available for the client. | -| 405 | Method not allowed | The method used to request the data was not POST. | -| 422 | Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors, e.g. the JSON payload could not be parsed. | -| 503 | Service Unavailable | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | - -Because multiple material demands and capacity groups can be requested at the same time HTTP status code `200` only means that the `IdBasedRequestForUpdate` was processed successfully and that the data objects will be provided in due time. - -The requested data objects SHOULD be provided within five minutes, but definitely they MUST be provided within 24 hours. - -If only a single data object is requested it MUST be provided within 10 seconds. - -#### Validating payload - -Payload validation only applies to the formal layer. If a payload is correctly formed and thusly can be processed HTTP `200` is the correct response code. Even if a material demand (identified by its UUID) has been requested that does not exists within that supplier-customer relationship, HTTP `200` is the correct response code. - -### IdBasedComment API - -The `IdBasedComment` object is used to exchange comments, referencing a `WeekBasedCapacityGroup` or a `WeekBasedMaterialDemand` between customer and supplier. - -Customers and suppliers MUST be able to provide, consume and process `IdBasedComment`. - -The `IdBasedComment` API MUST be published towards the network using a Data Asset/Contract Offer, which is in line with the Dataspace Protocol as specified by IDSA and MUST conform with the Catena-X standard [CX-0001][StandardLibrary]. - -#### Data Exchange - -The `IdBasedComment` data MUST be provided by the customer to the supplier or vice versa via HTTP POST request. The data MUST conform to the format specified in this standard and it MUST NOT exceed 15 MiB in size. It MUST be a valid JSON string and MUST include all mandatory properties. The data model with all its properties MUST conform to the respective aspect model and the definitions above. -When consuming a payload, that contains unknown properties not described within the data model but is otherwise correct, those properties MUST be ignored. - -Attributes that are strings MUST be formatted correctly. For example, `expectedSupplierLocation` MUST be formatted as a BPNS. The `listOfReferenceDates` collection MUST represent the calendar week's Mondays in the format YYYY-MM-DD as described in ISO8601. - -Certain properties, such as `author`, `objectId`, `listOfReferenceDates` and `objectType`, have specific requirements for their values. `author` MUST contain a valid email address or BPNL if anonymity is preferred. `objectId`, MUST be the UUID of either the `WeekBasedMaterialDemand` or `WeekBasedCapacityGroup` the comments is referencing. `objectType` MUST be as a Catena-X aspect model unique identifier without a version. - -Multiple `IdBasedComment` aspects MAY be provided in one transfer as a JSON list. If only one `IdBasedComment` aspect is provided, it MUST be as a list with one entry. - -A comment MAY reference more than one calendar week utilizing the `listOfReferenceDates` property. Every entry in `listOfReferenceDates` MUST be set to a Monday, MUST conform to ISO8601 and MUST use the format YYYY-MM-DD (for example 2023-02-13). - -Applications that consume a `IdBasedComment` with the property `requestDelete` set to `true` MUST delete the comment in compliance with General Data Protection Regulation (GDPR). Deletion is final and MUST NOT be reversed. - -Applications SHOULD remember which comments they originated in order to prevent unauthorized deletion. - -An `IdBasedComment` SHOULD always be provided with as much information as is available, so that the consuming application can better decide how to process the comment. - -The table below MUST be considered in addition to the data model itself and describes which properties MUST be treated as mandatory so that applications can execute certain actions on an `IdBasedComment`. - -| Property \ Action | Create | Update | Delete | -|---|---|---|---| -| **commentId** | MUST | MUST | MUST | -| **objectId** | MUST | MUST | MUST | -| **objectType** | MUST | MUST | MUST | -| **supplier** | MUST | MUST | MUST | -| **customer** | MUST | MUST | MUST | -| commentType | SHOULD - if not, consumer can use value `default` | SHOULD - if not, consumer can use value `default` | MAY | -| author | SHOULD - if not, consumer can use sender BPNL from connector | SHOULD - if not, consumer can use sender BPNL from connector | MAY | -| postedAt | SHOULD - if not, consumer can set timestamp of receipt | SHOULD - MUST NOT differ from time of creation | MAY | -| listOfReferenceDates | MAY | MAY | MAY | -| changedAt | MAY | SHOULD - if not consumer can set timestamp of receipt | MAY | -| commentText | SHOULD | SHOULD | MAY | -| requestDelete | MUST NOT | MUST NOT | MUST | - -#### UUID generation and handling - -UUIDv4 is REQUIRED for exchanging comment data to ensure uniqueness and security. The UUID MUST be generated conforming to [RFC4122][RFC4122] and MUST be treated as unique within the supplier-customer relationship. - -#### Data asset structure - -The HTTP POST endpoint introduced above MUST NOT be called from a supply chain partner directly. Rather, it MUST be called via a connector conformant to [CX-0018][StandardLibrary]. Therefore, the endpoint MUST be offered as a Data Asset. The latter MUST have a property `https://purl.org/dc/terms/type` with the ID `https://w3id.org/catenax/taxonomy#DcmIdBasedComment`. It can be abbreviated if the namespaces of key and value are part of the json-ld @context object (see example below). This property SHOULD be used to identify the asset when searching the assets catalog of a partner. Because the asset reflects the contractual relationship between two DCM partners, only one asset with the aforementioned property for one version MUST be visible to the partner at any time to avoid ambiguity. - -The API version described in this standard MUST be published in the property `https://w3id.org/catenax/ontology/common#version` as version 2.0 in the asset. The requester of an asset MUST be able to handle multiple assets for this endpoint, being differentiated only by the version. The requester SHOULD choose the asset with the highest compatible version number implemented by themselves. If the requester cannot find a compatible version with their own, the requester MUST terminate the data transfer. - -Each DCM participant MUST ensure that only their business partners have access to the asset by using access and usage policies and respective contract definitions. - -An example Data Asset definition is shown below. - -> Note: Expressions in double curly braces {{}} MUST be substituted with a corresponding value. -> -> Asset definition example for management API v3 (non-normative) - -```json -{ - "@context": { - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "cx-common": "https://w3id.org/catenax/ontology/common#", - "cx-taxo": "https://w3id.org/catenax/taxonomy#", - "dct": "https://purl.org/dc/terms/" - }, - "@id": "{{ ASSET_ID }}", - "properties": { - "dct:type": { - "@id": "cx-taxo:DcmIdBasedComment" - }, - "description": "Endpoint for providing comments", - "cx-common:version": "2.0" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "baseUrl": "{{ URL-BACKEND-APPLICATION-IDBASEDCOMMENT-ENDPOINT }}", - "method": "POST", - "proxyBody": "true", - "contentType": "application/json" - } -} -``` - -#### Error handling - -Every API endpoint defined above MUST respond to incoming requests with HTTP status codes as described in [RFC9110][RFC9110]. All of the following HTTP status codes, except for codes `200` and `201`, MUST be interpreted as failures. Therefore, it may be sufficient for a business application to simply check if the status code is `200` or `202` or not. If not, the request failed. - -| HTTP Status Code | HTTP Status Message | Description | -|:-----------------|:--------------------|:-------------| -| 200 | OK | The request has succeeded. The `IdBasedComment` has been successfully processed in the backend system. | -| 201 | Created | The request has succeeded and has led to the creation of a new `IdBasedComment` in the backend system. | -| 400 | Bad request | The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). | -| 401 | Unauthorized | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | -| 403 | Forbidden | The `IdBasedComment` in question is not available for the client (e.g. it belongs to a different company). | -| 405 | Method not allowed | The method used to request the data was not POST. | -| 422 | Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors, e.g. the JSON payload could not be parsed. | -| 501 | Not Implemented | The `IdBasedComment` is not accepted since the feature is not implemented. | -| 503 | Service Unavailable | The client request has not been completed because it lacks valid authentication credentials for the requested resource. | - -If one `IdBasedComment` aspect is provided in one HTTP request, the return codes MUST be used as stated in the table above. - -If a list of multiple `IdBasedComment` aspects is provided in one HTTP request, the status code `400` MUST be used if at least one `IdBasedComment` in the list cannot be processed. Applications MAY choose to process valid entries from a list which also contains invalid entries. If a list of multiple `IdBasedComment` aspects is provided in one HTTP request and all of them can be processed successfully, the status code 200 MUST be used. - -The return codes `401`, `405`, `422` and `503` in the table above MAY also be applicable to a list of multiple `IdBasedComment` aspects. - -#### Validating payload - -The following tables are supposed to answer questions regarding what business logic MUST be executed when consuming a `IdBasedComment` which has been formed in a specific way. - -The order of rules is indicated by the 'Number' row. - -The first rule that matches MUST be executed. All other rules MUST be ignored. - -'value' indicates the actual value written in quotation marks and without any specific formatting (e.g. italic). - -_Valid value_ indicates that the value is valid according to data model, API and process. - -_Invalid value_ indicates that the value is invalid according to data model, API and process. - -_Any value_ indicates that the value can by anything, valid or not. - -A whitespace or an empty cell indicates that for this specific rule that row is not applicable. - -| **Number** | 1 | | -|---|---|---| -| **Properties** | | | -| **Meta Properties** | Any property | _invalid value_ | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 2 | | -|---|---|---| -| **Properties** | messageHeader.header.senderBpn | Supplier BPNL does not match the sending connectors registered BPNL | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 3 | | -|---|---|---| -| **Properties** | messageHeader.header.senderBpn | Consumer does not match any Partners BPNL that I am in a relation with | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -| **Number** | 4 | | -|---|---|---| -| **Properties** | objectId | Does not match a UUID (`WeekBasedMaterialDemand` or `WeekBasedCapacityGroup`) the consumer exchanged with the provider before | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 403 - Forbidden | - -| **Number** | 5 | | -|---|---|---| -| **Properties** | objectType | Matches the identifier of the `WeekBasedMaterialDemand` (`urn:samm:io.catenax.week_based_material_demand`), but the endpoint does not process an `IdBasedComment` linked to a `WeekBasedMaterialDemand` | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 501 - Not Implemented | - -| **Number** | 6 | | -|---|---|---| -| **Properties** | commentId | _Known value_ | -| | requestDelete | `true` | -| Meta Properties | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Delete comment incl. all of its history from consumers application(s) | -| | Return Code | 200 - OK | - -| **Number** | 7 | | -|---|---|---| -| **Properties** | commentId | _Known value_ | -| | changedAt | More recent than all previously consumed `IdBasedComment` with the same commentId | -| **Meta Properties** | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Overwrite all existing values | -| | Return Code | 200 - OK | - -| **Number** | 8 | | -|---|---|---| -| **Properties** | commentId | _Unknown value_ | -| Meta Properties | Any property | | -| | All other properties | _Valid value_ | -| **Actions** | Business Logic | Save as new comment with consumed values | -| | Return Code | 201 - Created | - -| **Number** | 9 | | -|---|---|---| -| **Properties** | commentId | _Known value_ | -| | changedAt | Older than any previously consumed `IdBasedComment` with the same commentId | -| **Meta Properties** | Any property | | -| | All other properties | _Any value_ | -| **Actions** | Business Logic | Ignore consumed values | -| | Return Code | 400 - Bad Request | - -### DCM Asset Administration Shell API (AAS API) - -Data providers MAY adopt the DCM AAS API. If they choose otherwise, none of the obligations of this section apply. - -The `WeekBasedMaterialDemand` contains the demand information which is provided from the customer to the supplier. The supplier maintains a set of Submodels (one for each `WeekBasedMaterialDemand`) and registers them in their Digital Twin Registry. Both conform to the definitions of [CX-0002][StandardLibrary]. - -The `WeekBasedCapacityGroup` contains the capacity information which is provided from the supplier to the customer. The customer maintains a set of Submodels (one for each `WeekBasedCapacityGroup`) and registers them in their Digital Twin Registry. Both conform to the definitions of [CX-0002][StandardLibrary]. - -Suppliers MUST be able to host and correctly expose the `WeekBasedMaterialDemand`-Submodel and update the customer-hosted `WeekBasedCapacityGroup`-Submodel. - -Customers MUST be able to host and correctly expose the `WeekBasedCapacityGroup`-Submodel and update the supplier-hosted `WeekBasedMaterialDemand`-Submodel. - -#### API Specification - -##### API Endpoints & Resources - -Exchanging Data via the DCM AAS API requires customers and suppliers to both act in the roles of data provider and data consumer. The API is a superset of [CX-0002][StandardLibrary] with the following specializations: - -- A supplier MUST host and expose a Submodel `WeekBasedMaterialDemand` via the Submodel-API as defined in [CX-0002][StandardLibrary] -- A customer MUST host and expose a Submodel `WeekBasedCapacityGroup` via the Submodel-API as defined in [CX-0002][StandardLibrary] -- Additionally, suppliers and customers MUST offer the PatchSubmodel-Operation with the content-modifier `$value` on all Submodels as defined in [AAS Pt.2][AAS] - - A supplier MUST client-side be capable to update the `WeekBasedCapacityGroup`-Submodel hosted by the customer - - A customer MUST client-side be capable to update the `WeekBasedMaterialDemand`-Submodel hosted by the supplier - -##### Data Exchange - -Restrictions on the exchanged data can be retrieved from the data models. Additionally, the definitions from the API definitions above apply. - -##### UUID generation and handling - -UUIDv4 is REQUIRED for exchanging demand and capacity data to ensure uniqueness and security. The UUID MUST be generated conforming to [RFC4122][RFC4122] and MUST be treated as unique within the supplier-customer relationship. - -##### Available Data Types - -The API MUST use JSON formatted data transmitted over HTTPS. - -##### DTR Registration - -As mandated by [CX-0002][StandardLibrary], all Data-Providers MUST provide a Digital Twin Registry and use it to link their Submodels to identified assets. Assets in the DTR are identified via `specificAssetIds`. - -When registering Submodels with semanticId `WeekBasedMaterialDemand`, the data provider (supplier) MUST reuse the IDs mandated in [CX-0126][StandardLibrary], section 2.3.1. - -When registering Submodels with semanticId `WeekBasedCapacityGroup`, the data provider (customer) MUST create a single `specificAssetId` with name `creationEntityId` and a UUIDv4 as value. - -All other properties are standardized in [CX-0002][StandardLibrary] or [AAS Pt.2][AAS] respectively. - -Example: - -```json -{ - "id": "{{id of the AAS}}", - "idShort": "{{short name of your AAS}}", - "specificAssetIds": [ - { - "name": "creationEntityId", - "value": "{{someUuidV4}}", - "externalSubjectId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "*" - } - ] - } - } - ], - "submodelDescriptors": [ - { - "id": "{{someSubmodelId}}", - "semanticId": { - "type": "ExternalReference", - "keys": [ - { - "type": "GlobalReference", - "value": "urn:samm:io.catenax.week_based_capacity_group:2.0.0#WeekBasedCapacityGroup" - } - ] - }, - "endpoints": [ - { - "interface": "SUBMODEL-3.0", - "protocolInformation": { - "href": "{{dataplane baseurl extended with the appropriate path ending on /submodel}}", - "endpointProtocol": "HTTP", - "endpointProtocolVersion": [ - "1.1" - ], - "subprotocol": "DSP", - "subprotocolBody": "id={{ID of the connector asset the submodel is living behind}};dspEndpoint={{controlPlaneEndpoint}}", - "subprotocolBodyEncoding": "plain", - "securityAttributes": [ - { - "type": "NONE", - "key": "NONE", - "value": "NONE" - } - ] - } - } - ] - } - ] -} -``` - -##### Registration - -Obligations for the Asset Definition of the Digital Twin Registry are adopted from [CX-0002][StandardLibrary]. - -Obligations for the Asset Definition of a Submodel are adopted from [CX-0002][StandardLibrary]. Of the example below, only the "properties"- section is defined as normative there. Please note that the example below only signifies a single registered Submodel. While bundling several Submodels into a single Asset, there are no normative requirements for Asset properties. - -##### Data Asset - -There are no normative statements on the section `dataAddress` for the Asset. - -```json -{ - "@context": { - "cx-common": "https://w3id.org/catenax/ontology/common#", - "ctx": "https://w3id.org/catenax/taxonomy#", - "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" - }, - "@id": "{{ID for the Asset}}", - "properties": { - "dct:type": { - "@id": "ctx:Submodel" - }, - "cx-common:version": "3.0", - "aas-semantics:semanticId": "{{URN of WeekBasedMaterialDemand or WeekBasedCapacityGroup Submodel}}" - }, - "dataAddress": { - "@type": "DataAddress", - "type": "HttpData", - "proxyPath": "true", - "proxyBody": "true", - "proxyMethod": "true", - "proxyQueryParams": "true", - "baseUrl": "{{Submodel endpoint ending before /submodel}}" - } -} -``` - -##### Policy Definition - -This policy is an example to let a single business partner pass. It could be used as (part of) either an accessPolicy or contractPolicy. - -```json -{ - "@context": { - "@vocab": "https://w3id.org/edc/v0.0.1/ns/", - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@type": "PolicyDefinition", - "@id": "{{POLICY-DEFINITION-ID}}", - "policy": { - "odrl:permission": [ - { - "odrl:action": "USE", - "odrl:constraint": [ - { - "odrl:leftOperand": "{{BPN attribute in Data Consumer VC}}", - "odrl:operator": "=", - "odrl:rightOperand": "{{hard-coded BPN of privileged consumer}}" - } - ] - } - ], - "odrl:prohibition": [], - "odrl:obligation": [] - } -} -``` - -##### Contract Definition - -This example for a contract definition connects the defined policy to the defined asset. - -```json -{ - "@context": { - "@vocab": "https://w3id.org/edc/v0.0.1/ns/" - }, - "@type": "ContractDefinition", - "@id": "contract-definition-id", - "accessPolicyId": "{{POLICY-DEFINITION-ID}}", - "contractPolicyId": "{{POLICY-DEFINITION-ID}}", - "assetsSelector": [ - { - "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id", - "operator": "=", - "operandRight": "{{ID for the Asset}}" - } - ] -} -``` - -##### Error Handling - -Error handling is specified by [CX-0002][StandardLibrary] and [AAS Pt.2][AAS]. - -[StandardLibrary]: https://catena-x.net/de/standard-library -[RFC4122]: https://www.rfc-editor.org/rfc/rfc4122 -[RFC9110]: https://www.rfc-editor.org/rfc/rfc9110 -[AAS]: https://www.plattform-i40.de/IP/Redaktion/EN/Downloads/Publikation/Details_of_the_Asset_Administration_Shell_Part2_V1.html diff --git a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_operation-view.md b/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_operation-view.md deleted file mode 100644 index b271933a4d9..00000000000 --- a/docs-kits_versioned_docs/version-24.05/kits/DCM-Kit/page_operation-view.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: operation-view -title: Operation View -description: Your first steps -sidebar_position: 5 ---- - -![DCM kit banner](@site/static/img/DCMKitLogoIcon-min.png) - -> Purpose of this page: -> -> On this page we will document the steps required to adopt a DCM solution and pre-requisites to start activities with DCM partners. -> -> For more detailed technical information, please refer to: [Architecture View](page_architecture-view.md). - -## Audience & Scope - -This guideline is relevant for companies acting as: - -1. a data provider or data consumer that want to enable your custom software for Catena-X DCM -2. a Business Application Provider and want to enable your commercial software for Catena-X DCM - -## Pre-requisites - -You can participate in the Catena-X data ecosystem in various roles. Become acquainted with the foundational building blocks of Catena-X and how all participants collaborate within a global ecosystem by reading the [Whitepaper describing the Catena-X operating model](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). - -Actors willing to use the Catena-X DCM standard, and start a collaboration with other supply chain partners enabled by an interoperable solution, can prepare asking the IT colleagues to check the following [End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/). - -## Onboarding steps for Data Providers / Data Consumers - -Data providers or data consumers that want to enable your custom software for Catena-X DCM need to: - -1. register for the Catena-X Ecosystem -2. be technically onboarded in the Catena-X Network and take care of an organizational onboarding within your Company -3. setup the necessary IT parts for the go-live -4. receive a Business Partner Number (BPN) -5. accept the DCM Framework Agreement/Use Case Policy -6. sign necessary contract(s), e.g. the Data Exchange Contract(s) with your partner(s) - -Additional information: - -- For the steps 1 to 4 please refer to the documentation on the [Catena-X website](https://catena-x.net/en/participate), choosing the approach that best fits your role. After these steps, you will be able to see which other companies have been onboarded and are technically able to connect with you for the DCM use case -- For step 5, please accept the [Use Case Policy published on the Catena-X website](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). In addition, please refer to the document [CX-0050-FrameworkAgreementCredential](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0050-FrameworkAgreementCredential-v.1.0.0.pdf) chapter 2.4.5 -- For step 6, please check with your DCM counterparts, if it is required to sign a separate document or if this has already been covered within the contract between you and your partners - -## Adoption Strategies for Data Providers / Data Consumers - -A company interested in operating the Catena-X DCM standard can decide to go for one of the following **implementation strategies**: - -Strategy 1 - -- purchase a Catena-X DCM certified Commercial Off-The-Shelf (COTS) solution - - adopting a certified solution ensures that it has been developed and conformed to the DCM standard, as these have been approved by the Catena-X Association -- in this case, the next step is to purchase a commercial solution - - to do so, access the marketplace of an operating company (e.g. Cofinity-X), and choose the solution that best fits you - - alternatively, get in touch with commercial vendors directly - -Strategy 2 - -- adopt and deploy an existing Free and Open Source Solution (FOSS) - - adopting a certified solution ensures that it has been developed and conformed to the DCM standard, as these have been approved by the Catena-X Association - -Strategy 3 - -- adopt and integrate the business logic, API and data models according to the Catena-X DCM standard into an existing software solution (e.g. self-developed software) - - here you then need to make sure that the application developed is conform to the DCM standard. -- in this case, refer to the document DCM [Architecture View](page_architecture-view.md) for further technical details related to your next steps - -Please refer to the [Catena-X Library](https://catena-x.net/de/standard-library) for the newest version of the DCM as well as other standards. - -## Step overview - -1. Join the [Catena-X network](https://catena-x.net/en/catena-x-introduce-implement/onboarding) -2. Follow the onboarding process -3. Get a DCM App. There are now three different options: - 1. Buy a certified commercial DCM App. See the Catena-X market place for offers. - 2. Use a open source solution for DCM. - 3. Modify or develop your own software to work with Catena-X. See DCM [Architecture View](page_architecture-view.md) for details. -4. Start exchanging data with your partner companies - -## Onboarding steps for Business Application Providers - -Business Application Providers that want to enable their commercial software for Catena-X DCM need to register for the Catena-X Ecosystem following the specific information described in [Offering a Catena-X Solution](https://catena-x.net/en/catena-x-introduce-implement/offering-a-catena-x-solution) (including next steps & contacts). - -Please refer to the [Catena-X Library](https://catena-x.net/de/standard-library) for the newest version of the DCM as well as other standards. diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/admin_guide.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/admin_guide.md index bfdf5d4eaa1..46e450ada88 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/admin_guide.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/admin_guide.md @@ -5,7 +5,7 @@ description: 'Administration Guide' sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/arc42.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/arc42.md index 2d2614f7b05..447eff0c41f 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/arc42.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Documentation/arc42.md @@ -7,7 +7,7 @@ sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx index 0054423e1f9..9cdbf433797 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx @@ -21,5 +21,4 @@ import Export from "@theme/ApiDemoPanel/Export"; The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners. - - \ No newline at end of file + diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/page_software-development-view.md index b59aa1b35dd..8c463f4f18c 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/page_software-development-view.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/Software Development View/page_software-development-view.md @@ -4,7 +4,7 @@ title: Specification sidebar_position: 2 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_adoption-view.md index a6e82da12f5..6543aad944d 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_adoption-view.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_adoption-view.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit' sidebar_position: 1 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain Kit diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_changelog.md index 61d0343fd28..1bb450b657b 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_changelog.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_changelog.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit Changelog' sidebar_position: 10 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_software-operation-view.md index e2ae6146529..f3cafa79cb2 100644 --- a/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_software-operation-view.md +++ b/docs-kits_versioned_docs/version-24.05/kits/Data Chain Kit/page_software-operation-view.md @@ -5,7 +5,7 @@ description: 'Data Chain Kit' sidebar_position: 2 --- -![Datachain kit banner](/img/kit-icons/datachain-kit-icon.svg) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits/kits/DCM-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_adoption-view.md similarity index 100% rename from docs-kits/kits/DCM-Kit/page_adoption-view.md rename to docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_adoption-view.md diff --git a/docs-kits/kits/DCM-Kit/page_architecture-view.md b/docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_architecture-view.md similarity index 100% rename from docs-kits/kits/DCM-Kit/page_architecture-view.md rename to docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_architecture-view.md diff --git a/docs-kits/kits/DCM-Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_changelog.md similarity index 100% rename from docs-kits/kits/DCM-Kit/page_changelog.md rename to docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_changelog.md diff --git a/docs-kits/kits/DCM-Kit/page_development-view.md b/docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_development-view.md similarity index 100% rename from docs-kits/kits/DCM-Kit/page_development-view.md rename to docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_development-view.md diff --git a/docs-kits/kits/DCM-Kit/page_operation-view.md b/docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_operation-view.md similarity index 100% rename from docs-kits/kits/DCM-Kit/page_operation-view.md rename to docs-kits_versioned_docs/version-24.05/kits/Demand and Capacity Management Kit/page_operation-view.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/Success Stories/mdp_application.md b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/Success Stories/mdp_application.md new file mode 100644 index 00000000000..6d4f5bc08fe --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/Success Stories/mdp_application.md @@ -0,0 +1,86 @@ +--- +id: mdp_application +title: MDP Application +description: Behaviour Twin MDP Application Success Story +--- + +![Model Based Development and Data Processing Kit banner](@site/static/img/kit-icons/behaviour-mdp-kit-icon.svg) + +### Model Based Development and Data Processing Kit + +## Introduction to the Use Case + +The Behaviour Twin MDP (Model based development and Data Processing) Application was developed as proof-of-concept within the framework of the Catena-X initiative, to demonstrate collaborative utilization of behavioural digital twins in the automotive industry. This innovative application is poised to define the workflow and the tool chain for the model-based system development and data processing, leveraging Catena-X technology and collaborative principles. The mission of the Behaviour Twin MDP Application is to provide a comprehensive framework for the selection, integration, and utilization of behavioural digital twins. Through adherence to Catena-X standards and principles, we strive to ensure secure data exchange, interoperability, and compatibility, laying the foundation for seamless collaboration and efficiency in innovation. + +The objective is to enhance model-based design and data processing using models coming from component suppliers (for example: the OEM gets the models of the gear box, the brakes and the battery from the respective Tier1s), by facilitating model exchange between Tier1s and OEM or between Tier2s and Tier1. This is done using the industry standard FMU ([Catena-X standard CX - 0102 Functional Mock-Up](https://catena-x.net/de/standard-library)) and performing the exchange over EDC. The MDP KIT defines the functionality of the software applications needed for the MDP use cases, that is to combine the models into a simulation architecture and perform parametric studies, but also to do field data processing based on evaluation models of the component suppliers. + +## General Information Display: Behaviour Twin MDP Application + +The General Information Display of the Behaviour Twin MDP (Model and Data Processing) Application offers users a user-friendly interface to visualize essential information about behavioural digital twins and their components. Whether users are analyzing the behaviour of a component within a vehicle or maintaining a system, this feature provides easy access to valuable insights. + +A technical expert from the OEM has the task to build a design of a new car. The simulation expert will collect the necessary models from the Tier1 and combine them in a vehicle model to evaluate different designs. The models are exchanged between Catena-X partners using EDC and using the FMU format (black box model). + +![Overview Application](../images/Pic_AppStory1.png) + +Once the models are available the workflow proceeds in three steps: Verify that the FMUs are valid (conform to the industry standard). Get information about the model inputs/outputs to make sure that you got the right models. Get the model in Simcenter System Architect over Teamcenter Share (which is being connected to EDC). The models are composed in a larger model (called Architecture) Get the architecture in Simcenter HEEDs and run parametric studies and compare results to evaluate the design. + +## FMU Checker + +FMU checker: to check the model and gain insights (for example what are the inputs and outputs). + +### FMU Checker - Projects overview + +The Projects Overview page serves as a hub for managing and monitoring all projects involving FMUs. It offers a centralized view of project statuses, progress, and key metrics, empowering users to stay organized and informed throughout the project lifecycle. + +![Overview FMU Checker](../images/Pic_AppStory2.png) + +### FMU Checker - Results of Compliance Check + +The FMU Checker - Results of Compliance Check page is a vital component of the application, providing users with detailed insights into the compliance status of Functional Mock-up Units (FMUs). This page serves as a comprehensive tool for ensuring adherence to standards and regulations, enabling users to verify the compliance of FMUs with ease and efficiency. + +![Overview FMU Compliance](../images/Pic_AppStory3.png) + +### FMU Checker - Results of Smoke Test + +This page serves as a crucial tool for ensuring the functionality and reliability of FMUs, providing users with valuable information to assess their performance. It provides the detailed test results: Access detailed reports on the outcomes of smoke tests conducted on FMUs, including information on test cases executed, pass/fail statuses, and the results of the FMU calculation based on the users input. + +![Overview FMU Smoke](../images/Pic_AppStory4.png) + +## Integration: Simcenter Architect + +Model Integration (using Simcenter System Architect): to combine several FMU models (connecting inputs and output) in an architecture. +The Model Integration and Qualification page is a pivotal component of the application, offering seamless integration with the Simcenter System Architect software. This integration empowers users to leverage the advanced capabilities of Simcenter System Architect within the application environment, enhancing their modeling and simulation workflows and driving innovation in system design and development. + +![Overview FMU Architect](../images/Pic_AppStory5.png) + +## Execution: HEEDS + +Model Execution (using Simcenter HEEDs): to perform parametric studies and compare different designs. +The Model Execution page stands as a cornerstone within the application, facilitating seamless execution of optimization tasks using the Simcenter HEEDS software. This integration empowers users to harness the advanced optimization capabilities of Simcenter HEEDS directly within the application environment, enhancing their design exploration and decision-making processes. + +![Overview FMU HEEDS](../images/Pic_AppStory6.png) + +## Data Processing: Simcenter TestLab + +Data Analysis (utilizing Simcenter TestLab Neo): Conduct comprehensive data analysis including statistical calculations. +The Data Processing section seamlessly integrates with Simcenter TestLab Neo software, empowering users to leverage its advanced capabilities directly within the application environment. This integration enhances data processing and automation processes, streamlining analytical workflows for sophisticated data analysis tasks, offering users intuitive access to Simcenter TestLab Neo's powerful features. + +![Overview FMU TestLab](../images/Pic_AppStory6a.png) + +## Behaviour Twin MDP Application - Configuration + +The Behaviour Twin MDP (Model and Data Processing) Application - Configuration page serves as a central hub for users to configure and customize various aspects of the application according to their specific needs and preferences. This page offers a range of tools and settings that empower users to tailor the application to suit their unique requirements, ensuring optimal functionality and performance. + +![Overview FMU Configuration](../images/Pic_AppStory7.png) + +## MDP Development Video + +This video demonstrates the necessary software application functionality for implementing the MDP Use Cases: + +- A guidance app, such as the MDP App shown in the video, should be provided to assist users in collaborative model-based development or model-based data processing workflows. +- In the video the two use cases are showcased with software applications from the Siemens Simcenter portfolio. Namely with Simcenter System Architect for the Model Integration step, Simcenter HEEDS for the Model Execution step and in the 2nd use case with Simcenter Testlab Neo for the Data Processing step. These Apps have been chosen for illustrative purposes. + +
                + +
                diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/BehaviourTwinMDP_Kit.svg b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/BehaviourTwinMDP_Kit.svg new file mode 100644 index 00000000000..f9ca4544445 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/BehaviourTwinMDP_Kit.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory1.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory1.png new file mode 100644 index 00000000000..3d61a974ccb Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory2.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory2.png new file mode 100644 index 00000000000..1cf66ac0836 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory2.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory3.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory3.png new file mode 100644 index 00000000000..f01cc777427 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory3.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory4.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory4.png new file mode 100644 index 00000000000..ff879f86a83 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory4.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory5.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory5.png new file mode 100644 index 00000000000..c76579704dd Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory5.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6.png new file mode 100644 index 00000000000..5b0c3c67a18 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6a.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6a.png new file mode 100644 index 00000000000..4d871b56412 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory6a.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory7.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory7.png new file mode 100644 index 00000000000..ae81fbbf90c Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_AppStory7.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC1.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC1.png new file mode 100644 index 00000000000..f4710729a49 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC2.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC2.png new file mode 100644 index 00000000000..e8fd898508c Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_IntCheckUC2.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_0.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_0.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_0.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_0.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_1.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_1.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_1.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_1.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_2.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_2.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_2.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_2.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_3.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_3.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_3.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_3.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_4.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_4.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_4.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_4.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_5.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_5.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/Pic_Proc_5.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/Pic_Proc_5.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V1.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V1.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V1.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V1.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V2.png b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V2.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V2.png rename to docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/RKIT_Building_Block_Architecture_Overview_V2.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/mdp_kit_v1.0.mp4 b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/mdp_kit_v1.0.mp4 new file mode 100644 index 00000000000..95cd7a131f7 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/images/mdp_kit_v1.0.mp4 differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_adoption-view.md new file mode 100644 index 00000000000..5397bea17c6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_adoption-view.md @@ -0,0 +1,210 @@ +--- +id: page_adoption-view +title: Adoption View +description: Model Based Development and Data Processing Kit +--- + +![Model Based Development and Data Processing Kit banner](/img/kit-icons/behaviour-mdp-kit-icon.svg) + +### Model Based Development and Data Processing Kit + +## Vision & Mission + +### Vision + +Collaborative model based system development and massive engineering data analytics are both key to cope with challenges in the market of electric and autonomous vehicles. + +The aim of the Model Based Development and Data Processing Kit (MDP) is to create a framework for the exchange and collaborative use of simulation models and data services across different players in the automotive industry. +The exchange of models allows the generation of physically precise overall models during the design phase without compromising the intellectual property of the model owner. +The exchange of data services (like scripts as well as simulation models) allows the post-processing of data in the operational phase. + +### Mission + +The Model Based Development and Data Processing Kit comes with the necessary Catena-X standard for model exchange. In addition, suggestions are given on how to create models that have a high-level of interoperability. These suggestions will be part of a new standard in the next version of the MDP Kit. +The Kit includes examples code on how to register your models and data services in Catena-X, how to assign metadata to them and how to use the metadata to retrieve what you need from the catalogue of a Catena-X partner. The solution is based on the existing Connector Kit (EDC). +Information on how to combine and connect simulation models to create an overall model are also provided as well as an example of how to combine services and models for enhanced post-processing of operational data. + +### Customer Journey + +With the *Model Based Development and Data Processing* Kit, we support the Catena-X customer journey for our adopters and solutions providers. + +## Business Value + +The Model Based Development and Data Processing Kit allows application software providers access to information: + +- needed to build a Catena-X conform simulation model, +- to support simulation model integration, +- enable complex simulation studies, +- to support data processing exchange services, +- needed to combine basic data processing services to complex ones. + +In addition, model and data processing providers can enter potential new markets in which simulation models are provided alongside the product and offer the possibility to build data processing services by combining basic services. + +## Use Case + +Use cases based on the MDP Kit are basically not limited to certain partners in the supply pyramid, however for a better understanding the following describes the collaboration based on the example between an OEM and a Tier-1. + +- A Tier-1 shares a model of a component with an OEM. The OEM can perform a system simulation which includes both, its own components and the component from the Tier-1. Similarly, the OEM can use several models of components from several Tier-1s. Selected results from the integrated model can be sent from the OEM to the Tier-1s. (same with Tier-2 and Tier-1) +- An OEM shares a model and inputs for (virtually) testing of Tier-1s components under conditions of interests. The Tier-1 can build a system simulation with its own components and the models from the OEM and analyze the behaviour of the own component under the defined conditions. Selected results of the virtual test can be sent from the Tier-1 to the OEM. (same with Tier-1 and Tier-2) +- An OEM is starting the development of a follow-up vehicle model, including also new components from Tier-N suppliers. Virtual testing of new components in a new vehicle model will be realized based on real customer data from predecessor vehicles, which exists on OEM side and component digital twins (FMU) from Tier-N (if allowed by contract). The complex procedural integration of existing data and FMUs will be done by an engineering company, which then provides two result options: + - virtual testing results + - virtual testing workflow for OEM and Tier-N supplier + +### Status Quo + +Nowadays exchange of simulation models across company boundaries in the design phase is rare. Each player develops its components based on assumptions of how the partner components behave or builds approximate models of the partner components based on tables that describe their behaviour or other information from the producers. + +Virtual testing of components (based on digital twins, e.g. FMUs) is already state of the art. However, the representativeness is often limited due to the availability of real customer data. In addition cross company testing procedures are also limited to interoperability and processing complexity boundaries. + +### Today’s Challenge + +Simulation models contain critical information about the intellectual properties of a company. This makes it difficult for companies to share their models with their suppliers or customers. In addition building simulation models compatible with those of suppliers or customers requires agreements on how the model should be built and the data format to use. + +Provide representative (behavioural) digital twins of components or even vehicles. This includes on the one hand the digital twin as a virtual model, but also the behaviour and usage, i.e. the data which drives the model. The challenge is the combination of both while intellectual properties of all companies are kept protected. + +### Benefits + +The benefits for companies using models coming from suppliers or customers relies in the shortening of the development time. This is possible since the developed components are integrated with realistic models of the components they interact with or are (virtually) tested under realistic conditions. This setup provides the best scenarios for development and decreases the number of iterations needed to come to the final design. + +In addition, the generation of simulation models based on the Catena-X standardization and the guidelines in this Kit considerably increases the compatibility of the models among different companies. + +More realistic (in terms of representativeness) behavioural digital twins of vehicles and/or components can be provided. Data processing workflows are not limited by its complexity. + +## Logic & Schema + +### Building Block View + +The architecture image describes the interaction between the model/data provider and the model/data consumer. + +![Building Block Architecture Overview](images/RKIT_Building_Block_Architecture_Overview_V2.png) + +|Subsystem|Description| +|---------|-----------| +|Model/Data Processing App|This component is the App that is hosted at the Consumer and provides the framework to process the models (e.g. integrate and execute them) or the data (e.g. compose and execute workflows).| +|EDC interface| The EDC Interface is used for registering/retrieving assets using asset properties. Data Providers use metadata in the form of asset properties to classify their shared assets. Data Consumer filters the catalogue using the asset properties to retrieve the needed assets.| + +### Catena-X Core Services + +|Subsystem|Description| +|---------|-----------| +|Eclipse Dataspace Components (EDC)|The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems.| + +## Business Process + +### Collaborative Model and Data Based System Development + +A car manufacturer is starting the **development** of a follow-up car model. +Some parameters of the new car model are already fixed (mass, engine power) but no prototype yet exists. +A supplier is proposing to use the next generation of his component for the new car. +The manufacturer wants to make sure that the new component is performing well in the new vehicle. +So, a decision is made to use real **usage data** from the predecessor vehicle for the verification of the new component. +The usage of predecessor data is not straightforward and the car manufacturer decides to assign the task of setting up an appropriate process to a **modeling specialist**. The modeling specialist needs to **integrate** an **FMU** from the supplier to **simulate** the new **component** in the **process**. Finally, **both** the car manufacturer and the supplier want to be able to **execute** the **process** and do fine tuning on component parameters. + +How can Catena-X help the parties to come to an efficient solution? +![Business Process Partners](images/Pic_Proc_0.png) + +### The following sketches illustrate the Business Process + +![Business Process 1 Partners](images/Pic_Proc_1.png) + +A maximum of 4 participants is involved in this scenario. +But instead of being 3rd party the Modeling Specialist could be alternatively: + +- the OEM +- the Catena-X Service - Software Provider +- the Tier-1 + +![Business Process 2 Partners](images/Pic_Proc_2.png) + +The OEM publishes all required models and auxiliary information and some portion of predecessor data. +The Tier-1 publishes the model of his new component. +The Modeling specialist consumes all the information from the other parties. + +![Business Process 3 Partners](images/Pic_Proc_3.png) + +The Modeling specialist creates processes to convert the predecessor data to virtual data of the new car-model. +He then combines and adapts the different models. Finally all together is evaluated. +All this is done utilizing the software provided by the Catena-X Service (a software providing service). + +![Business Process 4 Partners](images/Pic_Proc_4.png) + +The Modeling Specialist publishes the combined model and the OEM consumes it. +Depending on the OEM’s instruction to the Modeling Specialist the Tier-1 may also consume the combined model or not. + +![Business Process 4 Partners](images/Pic_Proc_5.png) + +By utilizing the Software provided via the Catena-X Service the OEM can evaluate all available predecessor data. +Optionally he publishes predecessor data so that the Tier-1 can evaluate too and improve his component's +performance with the new car-model. + +### Access Policies + +To decide which company has access to the data assets, access policies should be used. It is maybe possible to skip access policies, but this would make all data assets publicly available in the Catena-X network and is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). This is possible using an existing extension for the EDC documented here. In the near future, other access policies will be introduced like a company role and attribute based policy. + +### Usage Policies + +Use case specific credentials exist and will be mandatory. Their documentation will be available after SSI release. A Behaviour Twin "Use Case Framework" which covers the business process of the app will be available after SSI release. This Framework document can be referenced in the usage policies, and therefore limit Data & Service access to Behaviour Twin participants. + + + +## Standards + +Our relevant standard can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- [CX - 0102 Functional Mock-Up](https://catena-x.net/de/standard-library) + +The Standard aims at using the existing FMI industry standard as a Catena-X standard. + +The Functional Mock-up Interface (FMI) is a free standard that defines a container and an interface to exchange dynamic simulation models using a combination of XML files, binaries and C code, distributed as a ZIP file. It is supported by 170+ tools and maintained as a Modelica Association Project. The FMI implementation by a software modelling tool enables the creation of simulation models that can be interconnected. The file format of the FMI standard is called Functional Mock-up Unit (FMU)(source: ). + +### Guidelines for Generating FMU + +The FMU/FMI format allows a high degree of flexibility in generating an FMU model. On the one hand, this allows the format to be used for a large variety of use cases and of tools. On the other hand, interoperability between FMUs is not always guaranteed. + +The list of guidelines below have the goal to guide the modeling expert in the creation of an FMU for the Model and Data Processing use cases. + +### General Guideline + +- generate a license-free FMU so that it can be imported in any software, +- generate a co-simulation FMU so that solver is included in the FMU and can be directly executed, +- assign units of measure to each port as far as physically meaningful. Depending on the software, the connection of two ports is only allowed if the unit of measure is the same or if the unit of measure is empty. The second case can lead to mismatching, +- embed all needed tables and files while creating the FMU, +- expose only numerical parameters to the user for changing. + +### Guideline for Assigning Asset Properties to FMU and Services + +To ensure an unity and to keep assets like FMU and/or services retrievable, a certain set of properties as FMU/service description is recommended. + +The following list of potential properties along with some examples shall be seen as a guideline: + +- Type (FMU, AMESIM model, Testlab process,...) +- Name/Title (NF_7B5_07.fmu, ...) +- Keywords (Leistungselektronik, ...) +- Description (...) +- Input data (Temperature of component XYZ,...) +- Output data (Pseudo damage of component XYZ,...) +- GenerationTool (Simulink 9.1, AMESIM,...) +- Producer/Publisher (ZF, Siemens,...) +- Version (1.4,...) +- Release date (2023-09-18,...) + +Some properties could be selected from a pre-defined list (and not be free text) in order to ensure a certain standardization during asset registration. + +It is recommended to use existing meta data models for the asset properties. The following list of meta data models provides a guideline: + +- FMU Model Description (modelDescription.xml): Following a flat scheme, capable of providing the basic asset data. Supported by most of the FMU generation tools. +- Asset Administration Shell (AAS), Submodel "Provision of Simulation Models": Structured in many fields with deep hierarchies. Has been designed within the context of industrial applications and fits very well to usage in the automotive domain. +- Model Identity Card (MIC): Structured in many fields with deep hierarchies. Broader context than AAS, less focused on industrial applications/automotive industry. + +Similarly to the FMU Model Description, for both AAS and MIC, it is recommended to use XML serialization for the FMU asset properties, since it is a simple format with easy access and usage. Furthermore, it is recommended to provide this XML file within the FMU package. + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2023 Siemens AG +- SPDX-FileCopyrightText: 2023,2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2023 Contributors to the Eclipse Foundation + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_changelog.md new file mode 100644 index 00000000000..fb8b05eb3b3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_changelog.md @@ -0,0 +1,57 @@ +--- +id: page_changelog +title: Changelog +description: Model Based Development and Data Processing Kit +--- + +![Model Based Development and Data Processing Kit banner](/img/kit-icons/behaviour-mdp-kit-icon.svg) + +### Model Based Development and Data Processing Kit + +All notable changes to this Kit will be documented in this file. + +## [1.0.0] - unreleased + +### Added + +- Added development view page including video. +- Added asset discovery to development view. +- Added guideline for Implementing an FMU Interoperability Checker to development view. +- Added success stories section with MDP Application page. + +### Changed + +- Changed the adoption view guideline for Assigning Asset Properties to FMU and Services to include meta data models for asset properties. +- Changed banner image file location and converted .png image to .svg + +### Removed + +- ./. + +## [0.1.1] - 2023-12-20 + +### Added + +- Kit logo. + +### Changed + +- ./. + +### Removed + +- ./. + +## [0.1.0] - 2023-12-08 + +### Added + +- Initial preview version of the Kit including adoption view. + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_development-view.md new file mode 100644 index 00000000000..c2487393a40 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Behaviour Twin MDP Kit/page_development-view.md @@ -0,0 +1,315 @@ +--- +id: page_development-view +title: Development View +description: Model Based Development and Data Processing Kit +--- + +![Model Based Development and Data Processing Kit banner](/img/kit-icons/behaviour-mdp-kit-icon.svg) + +### Model Based Development and Data Processing Kit + +The video included under Success Stories illustrates software application functionality realizing the MDP Use Cases based on practical implementation examples. + +## Asset discovery + +In the model and data processing use case, the users search for models and services (from now on called assets) in the Catena-X network and load them into a dedicated model and data processing application. + +When a user connects to a partner EDC the catalogue will be displayed. The catalogue includes all assets that the user is allowed to see according to the associated policies. + +In order to make assets discoverable by potential users, metadata should be associated to the assets at registration. + +The code below shows an example on how to assign asset properties to my asset of type Asset and with ID equals 2. + +The name of the asset properties should always start with “asset:”. The value of the property is interpreted as a string. + +```json + +"asset": { + + "@type": "Asset", + + "@id": "2", + + "properties": { + + "asset:prop:id": "2", + + "asset:prop:description": "FMU thermal model of powertrain ABXYZ", + + "asset:ToolVersion": "3.5" + + } + +} + +``` + +For retrieving an asset with a specific asset property the following filter expression should be used. + +```json + +"filterExpression": [ + + { + + "operandLeft": "asset:ToolVersion", + + "operator": "=", + + "operandRight": "3.5" + + } + + ], + +``` + +For having a broader search the “like” operator can be used coupled with the “%” symbol. In the example below, all assets with a description containing the word “powertrain” are returned. + +```json + +"filterExpression": [ + + { + + "operandLeft": "asset:prop:description", + + "operator": "like", + + "operandRight": "%powertrain%" + + } + + ], + +``` + +## Guideline for Implementing an FMU Interoperability Checker + +Meta models for asset properties like AAS “Provision of Simulation Models” or MIC can be used to assess the interoperability of FMU. In the following, a guideline for implementing such an FMU Interoperability Checker is given. + +### Use Cases + +The FMU Interoperability Checker shall support the following two use cases. + +- Use Case 1: Connection Use Case. Given two FMU, FMU1 and FMU2, the FMU Interoperability Checker shall check, based on the FMU asset properties, if the two FMU can be connected in a co-simulation as depicted in the following figure. + +![UC1](images/Pic_IntCheckUC1.png) + +- Use Case 2: Replacement Use Case. Given a co-simulation of two FMU, FMU1a and FMU2, the FMU Interoperability Checker shall check based on the FMU asset properties, if FMU1a can be replaced by FMU1b as depicted in the following figure. + +![UC2](images/Pic_IntCheckUC2.png) + +### Workflow + +The FMU FMU Interoperability Checker shall implement the following workflow. + +1. The Guideline “Guideline for Assigning Asset Properties to FMU and Services” (see above) has been provided to and accepted by the partners exchanging models . +2. The partners agree upon a meta data model for the FMU asset properties, preferably either MIC or AAS “Provision of Simulation Models”. +3. In the FMU Interoperability Checker, the user can select checking by using either of the following three options: + - The FMI model description XML (default) for basic checks. + - The AAS “Provision of Simulation Models” meta model. + - The MIC meta model. + +### Checks + +The FMU Interoperability Checker shall implement three levels of checks with advancing complexity: + +- Level 1: Visualization of the FMU asset properties. +- Level 2: Direct comparison of fields of the FMU asset properties. +- Level 3: Similarity checks of fields of the FMU asset properties. + +In Level 1 “Visualization”, corresponding meta data fields of the different FMU shall be shown side by side such that a human reader is able to easily assess the interoperability by comparing the information provided in the different categories. + +Level 2 “Direct Comparison” is suited for fields, where the content is not highly dependent on the provider of the meta data (no free text string fields). For instance, variable definitions (format type, causality, units, validity domains) are suited for such a check. Still, it is essential that these fields are provided using standards (which is neither the case in the FMU modelDescription.xml as often used today nor required by the specifications of AAS Submodel “Provision of Simulation Models” and MIC). For free text string fields that come with a basic choice of entries, Level 2 checks are possible as long as only entries from the basic choice are selected. + +Level 3 “Similarity Check” is suited for fields, where the content can be extended by the user. Most of the fields falling into this category, are fields that can be used for model characterization, such as simulation purpose, type of model, etc. Often, the meta data models provide suggestions for field content (basic choice), but most of the fields are “open”, i.e., are in principle free text. + +#### AAS “Provision of Simulation Models” meta model + +*Open or closed FormChoices, means that the field can be extended by the user or not. + +In the following table, all fields of the meta data model AAS “Provision of Simulation Models” are listed together with the proposed check level for an FMU Interoperability Checker integration. Container hierarchies do not have associated checks. All fields, that are not containers, are in principle suited for Level 1 “Visualization”. + +| **FormTitle**| **FormChoices** | **FormChoices
                open or closed*** | **Level 1
                Visualization** | **Level 2
                Direct Comparison** | **Level 3
                Similarity Check** | +| --- | --- | --- | --- | --- | --- | +|Summary|||x||| +|SimPurpose|||||| +|SimPurpose.
                PosSimPurpose|Concept evaluation;
                Sizing;
                Control design;
                Behaviour in fault condition;
                Validation and testing;
                Virtual commissioning;
                Condition monitoring;
                Predictive maintenance;
                Operator Training;
                Teaching|open|x|(x)|x| +|SimPurpose.
                NegSimPurpose|Concept evaluation;
                Sizing;
                Control design;
                Behaviour in fault condition;
                Validation and testing;
                Virtual commissioning;
                Condition monitoring;
                Predictive maintenance;
                Operator Training;
                Teaching|open|x|(x)|x| +|TypeOfModel|Linear model;
                Nonlinear model;
                Data-driven model;
                Lumped element model;
                Fixed causality model;
                Acausal model|open|x|(x)|x| +|ScopeOfModel|Logic and timing behaviour;
                Geometry;
                Kinematics;
                Dynamics;
                Distribution networks;
                Network communication;
                Visualization|open|x|(x)|x| +|LicenseModel|free;
                perpetual;
                subscription;
                volume-based|open|x|x|(x)| +|EngineeringDomain|Hydraulic Engineering;
                Electrical Engineering;
                Pneumatic Engineering;
                Mechanical Engineering;
                Material Flow;
                Robotics;
                Image Processing;
                Data Engineering;
                Process Engineering;
                Workflow Engineering;
                HMI Engineering;
                Control Engineering |open|x|(x)|x| +|Environment|||||| +|Environment.
                OperatingSystem|||x|x|| +|Environment.
                ToolEnvironment|||x||| +|Environment.
                DependencyEnvironment|||x||| +|Environment.
                VisualizationInformation|separately;
                integrated;
                none|closed|x||| +|Environment.
                SimulationTool|||||| +|Environment.
                SimulationTool.
                SimToolName|||x||| +|Environment.
                SimulationTool.
                DependencySimTool|||x||| +|Environment.
                SimulationTool.
                Compiler|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances|||||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                StepSizeControlNeeded|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                FixedStepSize|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                StiffSolverNeeded|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                SolverIncluded|||x|x|| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                TestedToolSolverAlgorithm|||||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                TestedToolSolverAlgorithm.
                SolverAlgorithm|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                TestedToolSolverAlgorithm.
                ToolSolverFurtherDescription|||x||| +|Environment.
                SimulationTool.
                SolverAndTolerances.
                TestedToolSolverAlgorithm.
                Tolerance|||x||| +|RefSimDocumentation|||||| +|ModelFile|||||| +|ModelFile.
                ModelFileType|||x|x|| +|ModelFile.
                ModelFileVersion|||||| +|ModelFile.
                ModelFileVersion.
                ModelVersionId|||x||| +|ModelFile.
                ModelFileVersion.
                ModelPreviewImage|||||| +|ModelFile.
                ModelFileVersion.
                DigitalFile|||||| +|ModelFile.
                ModelFileVersion.
                ModelFileReleaseNotesTxt|||x||| +|ModelFile.
                ModelFileVersion.
                ModelFileReleaseNotesFile|||||| +|ParamMethod|by using “technical data” of asset;
                by using “technical data” and user;
                by user interface;
                by setting file;
                not necessary;
                by documentation file;
                pre-parametrized|open|x||| +|ParamFile|||||| +|InitStateMethod|not necessary;
                by user interface;
                by setting file;
                set states within simulation environment;
                integrated in model;
                by documentation file|open|x||| +|InitStateFile|||||| +|DefaultSimTime|||x||| +|SimModManufacturingInformation|||||| +|SimModManufacturingInformation.
                Company|||x||| +|SimModManufacturingInformation.
                Language|||x||| +|SimModManufacturingInformation.
                Email|||||| +|SimModManufacturingInformation.
                Email.
                TypeOfEmailAddress|||x||| +|SimModManufacturingInformation.
                Email.
                EmailAddress|||x||| +|SimModManufacturingInformation.
                Email.
                TypeOfPublicKey|||x||| +|SimModManufacturingInformation.
                Email.
                PublicKey|||x||| +|SimModManufacturingInformation.
                Phone|||||| +|SimModManufacturingInformation.
                Phone.
                TypeOfTelephone|||x||| +|SimModManufacturingInformation.
                Phone.
                TelephoneNumber|||||| +|SimModManufacturingInformation.
                Phone.
                AvailableTime|||x||| +|Ports|||||| +|Ports.
                PortsConnector|||||| +|Ports.
                PortsConnector.
                PortsConnectorName|||x||| +|Ports.
                PortsConnector.
                PortsConDescription|||x||| +|Ports.
                PortsConnector.
                Variable|||||| +|Ports.
                PortsConnector.
                Variable.
                VariableName|||x|x|(x)| +|Ports.
                PortsConnector.
                Variable.
                Range|||x|x|| +|Ports.
                PortsConnector.
                Variable.
                VariableType|Real;
                Integer;
                Boolean;
                String;
                ENUM|open|x|x|| +|Ports.
                PortsConnector.
                Variable.
                VariableDescription|||x||x| +|Ports.
                PortsConnector.
                Variable.
                UnitList|s;
                m;
                kg;
                N;
                m/s;
                m/s^2;
                V;
                A;
                K;
                none|open|x|x|| +|Ports.
                PortsConnector.
                Variable.
                UnitDescription|||x||| +|Ports.
                PortsConnector.
                Variable.
                VariableCausality|input;
                output;
                acausal|closed|x|x|| +|Ports.
                PortsConnector.
                Variable.
                VariablePrefix|Flow;
                Stream|closed
                (only for acausal variables)|x|x|| +|Ports.
                BinaryConnector|||||| +|Ports.
                BinaryConnector.
                BinaryConName|||x||| +|Ports.
                BinaryConnector.
                BinaryConDescription|||x||| + +#### MIC meta model + +*Open or closed FormChoices, means that the field can be extended by the user or not. + +In the following table, all fields of the meta data model MIC are listed together with the proposed check level for an FMU Interoperability Checker integration. Container hierarchies do not have associated checks. All fields, that are not containers, are in principle suited for Level 1 “Visualization”. + +| **Field**| **(Basic) Choices** | **Choices
                open or closed*** | **Level 1
                Visualization** | **Level 2
                Direct Comparison** | **Level 3
                Similarity Check** | +| --- | --- | --- | --- | --- | --- | +|general-information|||||| +|general-information.name|||x||| +|general-information.description|||x||| +|general-information.owner|||x||| +|general-information.life-cycle-state|||x||| +|general-information.version|||x||| +|general-information.version-date|||x||| +|general-information.confidentiality|||x|x|(x)| +|general-information.license|||x|x|(x)| +|integration|||||| +|integration.software|||||| +|integration.software.language|||||| +|integration.software.language.language-name|||x||| +|integration.software.language.language-version|||x||| +|integration.software.file-format|||||| +|integration.software.file-format.file-format-name|||x|x|| +|integration.software.file-format.file-format-version|||x|x|| +|integration.software.required-simulation-tool|||||| +|integration.software.required-simulation-tool.tool-name|||x||| +|integration.software.required-simulation-tool.tool-version|||x||| +|integration.software.required-simulation-tool.alternative-tool|||||| +|integration.software.required-compiler|||||| +|integration.software.required-compiler.compiler-name|||x||| +|integration.software.required-compiler.compiler-version|||x||| +|integration.software.required-compiler.alternative-compiler|||||| +|integration.software.required-operating-system|||||| +|integration.software.required-operating-system.operating-system-name|||x|x|| +|integration.software.required-operating-system.operating-system-version|||x|x|| +|integration.software.required-operating-system.alternative-operating-system|||||| +|integration.software.other-software-requirement|||||| +|integration.software.other-software-requirement.software-requirement|||x||| +|integration.software.other-software-requirement.alternative-software-requirement|||||| +|integration.reference-hardware-and-performance|||||| +|integration.reference-hardware-and-performance.name-of-the-refernce-hardware|||x||| +|integration.reference-hardware-and-performance.time-factor|||x||| +|integration.reference-hardware-and-performance.characteristics-ofthe-reference-hardware|||||| +|integration.reference-hardware-and-performance.characteristics-ofthe-reference-hardware.CPU|||x||| +|integration.reference-hardware-and-performance.characteristics-ofthe-reference-hardware.RAM|||x||| +|integration.reference-hardware-and-performance.characteristics-ofthe-reference-hardware.data-storage|||x||| +|integration.reference-hardware-and-performance.characteristics-ofthe-reference-hardware.other-hardware-characteristics|||x||| +|content-and-computation|||||| +|content-and-computation.modelling-choice|||||| +|content-and-computation.modelling-choice.explicative-text|||x||x| +|content-and-computation.modelling-choice.formalization|||||| +|content-and-computation.modelling-choice.formalization.modelling-field|“Solid mechanics”,
                “Mechanics of materials”,
                “Fluid mechanics”,
                “Acoustics and vibrations”,
                “Electromagnetics”,
                “Thermal”,
                “Chemistry”,
                “Optics”,
                “Biology”,
                “Sociology”
                |open|x|(x)|x| +|content-and-computation.modelling-choice.formalization.type-of-choice|“model”,
                “neglect”| closed|x|x|| +|content-and-computation.modelling-choice.formalization.time-scale|||x||x| +|content-and-computation.behavior|||||| +|content-and-computation.behavior.behavior-specification|||x||x| +|content-and-computation.behavior.model-type|“Discrete”,
                “Continuous”,
                “Deterministic”,
                “Stochastic”,
                “Static”,
                “Dynamic”,
                “Causal”,
                “Acausal”,
                “Bond graph”,
                “Block diagram”,
                “Transfer function”,
                “State Machine diagram”,
                “Neural network”,
                “Empirical data” |open|x|(x)|x| +|content-and-computation.default-solver|||||| +|content-and-computation.default-solver.solver-name|||x||| +|content-and-computation.default-solver.step-size|||x||| +|content-and-computation.default-solver.embedded| “Yes”,
                “No”| closed|x|x|| +|ports-internal-variables-and-parameters|||||| +|ports-internal-variables-and-parameters.ports|||||| +|ports-internal-variables-and-parameters.ports.variable|||||| +|ports-internal-variables-and-parameters.ports.variable.name|||x|x|(x)| +|ports-internal-variables-and-parameters.ports.variable.description|||x||x| +|ports-internal-variables-and-parameters.ports.variable.type|Not provided by specification but using a standard should be agreed.||x|x|| +|ports-internal-variables-and-parameters.ports.variable.unit|Not provided by specification but using a standard should be agreed.||x|x|| +|ports-internal-variables-and-parameters.ports.variable.default-value|||x||| +|ports-internal-variables-and-parameters.ports.variable.in-out|“In”,
                “Out”|closed|x|x|| +|ports-internal-variables-and-parameters.ports.variable.validity-domain|Not provided by specification but using a standard should be agreed. For outputs, this field should be used in the sense of a result range.||x|x|| +|ports-internal-variables-and-parameters.ports.port|||||| +|ports-internal-variables-and-parameters.ports.port.name|||||| +|ports-internal-variables-and-parameters.ports.port.description|||||| +|ports-internal-variables-and-parameters.ports.port.port|||||| +|ports-internal-variables-and-parameters.internal-variables|||||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable|||||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.name|||x||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.description|||||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.type|||x||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.unit|||x||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.default-value|||x||| +|ports-internal-variables-and-parameters.internal-variables.internal-variable.validity-domain|||x||| +|ports-internal-variables-and-parameters.internal-variables.group-of-internal-variables|||||| +|ports-internal-variables-and-parameters.internal-variables.group-of-internal-variables.name|||||| +|ports-internal-variables-and-parameters.internal-variables.group-of-internal-variables.description|||||| +|ports-internal-variables-and-parameters.internal-variables.group-of-internal-variables.group-of-internal-variables|||||| +|ports-internal-variables-and-parameters.parameters|||||| +|ports-internal-variables-and-parameters.parameters.parameter|||||| +|ports-internal-variables-and-parameters.parameters.parameter.name|||x||| +|ports-internal-variables-and-parameters.parameters.parameter.description|||x||| +|ports-internal-variables-and-parameters.parameters.parameter.type|||x||| +|ports-internal-variables-and-parameters.parameters.parameter.unit|||x||| +|ports-internal-variables-and-parameters.parameters.parameter.default-value|||x||| +|ports-internal-variables-and-parameters.parameters.parameter.validity-domain|||x||| +|ports-internal-variables-and-parameters.parameters.group-of-parameters|||||| +|ports-internal-variables-and-parameters.parameters.group-of-parameters.name|||||| +|ports-internal-variables-and-parameters.parameters.group-of-parameters.description|||||| +|ports-internal-variables-and-parameters.parameters.group-of-parameters.group-of-parameters|||||| +|verification-and-validation|||||| +|verification-and-validation.test|||||| +|verification-and-validation.test.method|||x||| +|verification-and-validation.test.documentation|||x||| +|verification-and-validation.metric|||||| +|verification-and-validation.metric.name|||x||| +|verification-and-validation.metric.score|||x||| + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Documentation BPDM/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Documentation BPDM/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Documentation BPDM/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Documentation BPDM/_category_.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md similarity index 99% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md index cf745a12033..1830bcb269b 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Documentation BPDM/bpdm_arc42.md @@ -5,7 +5,7 @@ description: 'Architecture documentation (arc42)' sidebar_position: 1 --- -![Business partner kit banner](@site/static/img/BPKitIcon.png) +![Business partner kit banner](/img/kit-icons/bp-kit-icon.svg) ## Business Partner KIT diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Bridge Dummy.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Bridge Dummy.postman_collection.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Bridge Dummy.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Bridge Dummy.postman_collection.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Cleaning Service Dummy.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Cleaning Service Dummy.postman_collection.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Cleaning Service Dummy.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Cleaning Service Dummy.postman_collection.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Gate.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Gate.postman_collection.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Gate.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Gate.postman_collection.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Orchestrator.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Orchestrator.postman_collection.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Orchestrator.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Orchestrator.postman_collection.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Pool.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Pool.postman_collection.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/BPDM Pool.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/BPDM Pool.postman_collection.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx new file mode 100644 index 00000000000..e36c4f6fe49 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy.info.mdx @@ -0,0 +1,25 @@ +--- +id: business-partner-data-management-cleaning-service-dummy +title: "Business Partner Data Management Cleaning Service Dummy" +description: "Place holder for the cleaning service provider" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 6.1.0 + +# Business Partner Data Management Cleaning Service Dummy + + + +Place holder for the cleaning service provider + + + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js similarity index 100% rename from docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx new file mode 100644 index 00000000000..6f86b6eea71 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate.info.mdx @@ -0,0 +1,25 @@ +--- +id: business-partner-data-management-gate +title: "Business Partner Data Management Gate" +description: "A gate for a member to share business partner data with CatenaX" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 6.1.0 + +# Business Partner Data Management Gate + + + +A gate for a member to share business partner data with CatenaX + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx new file mode 100644 index 00000000000..806611a2c8b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-address-types.api.mdx @@ -0,0 +1,34 @@ +--- +id: count-address-types +title: "countAddressTypes" +description: "countAddressTypes" +sidebar_label: "countAddressTypes" +hide_title: true +hide_table_of_contents: true +api: {"tags":["stats-controller"],"operationId":"countAddressTypes","parameters":[{"name":"stage","in":"path","required":true,"schema":{"type":"string","enum":["Input","Output"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["additionalTotal","legalAndSiteTotal","legalTotal","siteTotal"],"type":"object","properties":{"legalAndSiteTotal":{"type":"integer","format":"int32"},"legalTotal":{"type":"integer","format":"int32"},"siteTotal":{"type":"integer","format":"int32"},"additionalTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countAddressTypes","method":"get","path":"/v6/stats/{stage}/address-types","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"count Address Types","description":{"type":"text/plain"},"url":{"path":["v6","stats",":stage","address-types"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"stage"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## countAddressTypes + + + +countAddressTypes + +
                Path Parameters
                + +OK + +
                Schema
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx new file mode 100644 index 00000000000..a0b45cd895c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state.api.mdx @@ -0,0 +1,34 @@ +--- +id: count-partners-by-sharing-state +title: "countPartnersBySharingState" +description: "countPartnersBySharingState" +sidebar_label: "countPartnersBySharingState" +hide_title: true +hide_table_of_contents: true +api: {"tags":["stats-controller"],"operationId":"countPartnersBySharingState","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["errorTotal","initialTotal","pendingTotal","readyTotal","successTotal"],"type":"object","properties":{"initialTotal":{"type":"integer","format":"int32"},"readyTotal":{"type":"integer","format":"int32"},"pendingTotal":{"type":"integer","format":"int32"},"successTotal":{"type":"integer","format":"int32"},"errorTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersBySharingState","method":"get","path":"/v6/stats/sharing-states","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"count Partners By Sharing State","description":{"type":"text/plain"},"url":{"path":["v6","stats","sharing-states"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## countPartnersBySharingState + + + +countPartnersBySharingState + +
                + +OK + +
                Schema
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx new file mode 100644 index 00000000000..56fa5ea4888 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage.api.mdx @@ -0,0 +1,34 @@ +--- +id: count-partners-per-stage +title: "countPartnersPerStage" +description: "countPartnersPerStage" +sidebar_label: "countPartnersPerStage" +hide_title: true +hide_table_of_contents: true +api: {"tags":["stats-controller"],"operationId":"countPartnersPerStage","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["inputTotal","outputTotal"],"type":"object","properties":{"inputTotal":{"type":"integer","format":"int32"},"outputTotal":{"type":"integer","format":"int32"}}}}}}},"description":"countPartnersPerStage","method":"get","path":"/v6/stats/stages","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"count Partners Per Stage","description":{"type":"text/plain"},"url":{"path":["v6","stats","stages"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## countPartnersPerStage + + + +countPartnersPerStage + +
                + +OK + +
                Schema
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx new file mode 100644 index 00000000000..bc4c9c18201 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input.api.mdx @@ -0,0 +1,82 @@ +--- +id: get-business-partners-input +title: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." +description: "Get page of business partners filtered by a collection of external IDs." +sidebar_label: "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners." +hide_title: true +hide_table_of_contents: true +api: {"tags":["business-partner-controller"],"description":"Get page of business partners filtered by a collection of external IDs.","operationId":"getBusinessPartnersInput","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"}}}}},"responses":{"200":{"description":"The requested page of busines partners","content":{"application/json":{"schema":{"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":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/input/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","description":{"content":"Get page of business partners filtered by a collection of external IDs.","type":"text/plain"},"url":{"path":["v6","input","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Search business partner by external ID. An empty external ID list returns a paginated list of all business partners. + + + +Get page of business partners filtered by a collection of external IDs. + +
                Query Parameters
                Request Body array
                • string
                + +The requested page of busines partners + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  identifiers object[]
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[]
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object
                  + +The legal entity, on which the business partner provides a view. + +
                  states object[]
                  site object
                  + +The site, on which the business partner provides a view. + +
                  states object[]
                  address object
                  + +The address, on which the business partner provides a view. + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  states object[]
                + +On malformed pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx new file mode 100644 index 00000000000..ba73f0baeb7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output.api.mdx @@ -0,0 +1,82 @@ +--- +id: get-business-partners-output +title: "Search business partners by an array of external IDs from the output stage" +description: "Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners." +sidebar_label: "Search business partners by an array of external IDs from the output stage" +hide_title: true +hide_table_of_contents: true +api: {"tags":["business-partner-controller"],"description":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","operationId":"getBusinessPartnersOutput","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"}}}}},"responses":{"200":{"description":"The requested page of business partners","content":{"application/json":{"schema":{"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":{"required":["address","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["bpnL","confidenceCriteria","legalEntityBpn","states"],"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."},"shortName":{"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Legal Entity properties of business partner output data"},"site":{"required":["confidenceCriteria","siteBpn","states"],"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Site properties of business partner output data"},"address":{"required":["addressBpn","bpnA","confidenceCriteria","physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"states":{"type":"array","items":{"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"]}}}}},"description":"Address properties of business partner output data"},"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"}},"description":"Generic business partner output with external id"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/output/business-partners/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":["string"],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Search business partners by an array of external IDs from the output stage","description":{"content":"Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners.","type":"text/plain"},"url":{"path":["v6","output","business-partners","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Search business partners by an array of external IDs from the output stage + + + +Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners. + +
                Query Parameters
                Request Body array
                • string
                + +The requested page of business partners + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  identifiers object[]
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[]
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object
                  + +Legal Entity properties of business partner output data + +
                  confidenceCriteria object
                  states object[]
                  site object
                  + +Site properties of business partner output data + +
                  confidenceCriteria object
                  states object[]
                  address object
                  + +Address properties of business partner output data + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object
                  states object[]
                + +On malformed pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx new file mode 100644 index 00000000000..3e18595d536 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats.api.mdx @@ -0,0 +1,34 @@ +--- +id: get-confidence-criteria-stats +title: "getConfidenceCriteriaStats" +description: "getConfidenceCriteriaStats" +sidebar_label: "getConfidenceCriteriaStats" +hide_title: true +hide_table_of_contents: true +api: {"tags":["stats-controller"],"operationId":"getConfidenceCriteriaStats","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"required":["checkedByExternalDataSourceTotal","confidenceLevelAverage","numberOfBusinessPartnersAverage","sharedByOwnerTotal","uniqueTotal"],"type":"object","properties":{"numberOfBusinessPartnersAverage":{"type":"number","format":"float"},"uniqueTotal":{"type":"integer","format":"int64"},"sharedByOwnerTotal":{"type":"integer","format":"int64"},"checkedByExternalDataSourceTotal":{"type":"integer","format":"int64"},"confidenceLevelAverage":{"type":"number","format":"float"}}}}}}},"description":"getConfidenceCriteriaStats","method":"get","path":"/v6/stats/confidence-criteria","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"get Confidence Criteria Stats","description":{"type":"text/plain"},"url":{"path":["v6","stats","confidence-criteria"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getConfidenceCriteriaStats + + + +getConfidenceCriteriaStats + +
                + +OK + +
                Schema
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx new file mode 100644 index 00000000000..4193b879ac6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog.api.mdx @@ -0,0 +1,46 @@ +--- +id: get-input-changelog +title: "Returns changelog entries for changes to the business partner input stage" +description: "Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type." +sidebar_label: "Returns changelog entries for changes to the business partner input stage" +hide_title: true +hide_table_of_contents: true +api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getInputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of external IDs. Ignored if empty.","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the changelog entry was created."},"timestamp":{"type":"string","description":"The date and time when the changelog entry was created.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/input/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Returns changelog entries for changes to the business partner input stage","description":{"content":"Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["v6","input","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns changelog entries for changes to the business partner input stage + + + +Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type. + +
                Query Parameters
                Request Body required
                + +The changelog entries for the specified parameters + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  errors object[]
                  + +Infos about the entries with errors + +
                + +On malformed pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx new file mode 100644 index 00000000000..4cbc702526e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog.api.mdx @@ -0,0 +1,46 @@ +--- +id: get-output-changelog +title: "Returns changelog entries for changes to the business partner output stage" +description: "Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type." +sidebar_label: "Returns changelog entries for changes to the business partner output stage" +hide_title: true +hide_table_of_contents: true +api: {"tags":["changelog-controller"],"description":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","operationId":"getOutputChangelog","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"externalIds":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of external IDs. Ignored if empty.","items":{"type":"string"}}}}}},"required":true},"responses":{"200":{"description":"The changelog entries for the specified parameters","content":{"application/json":{"schema":{"required":["content","contentSize","errors","invalidEntries","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":{"required":["changelogType","externalId","timestamp"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the changelog entry was created."},"timestamp":{"type":"string","description":"The date and time when the changelog entry was created.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}},"invalidEntries":{"type":"integer","description":"Number of entries in the page that have been omitted due to being invalid (error)","format":"int32"},"errors":{"type":"array","description":"Infos about the entries with errors","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"Error code identifying the error","enum":["ExternalIdNotFound"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key (externalId) of the entity that failed"}},"description":"Holds information about failures"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/output/changelog/search","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Returns changelog entries for changes to the business partner output stage","description":{"content":"Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type.","type":"text/plain"},"url":{"path":["v6","output","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns changelog entries for changes to the business partner output stage + + + +Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type. + +
                Query Parameters
                Request Body required
                + +The changelog entries for the specified parameters + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  errors object[]
                  + +Infos about the entries with errors + +
                + +On malformed pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-partner-csv-template.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-partner-csv-template.api.mdx new file mode 100644 index 00000000000..25e7b8c50a3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-partner-csv-template.api.mdx @@ -0,0 +1,34 @@ +--- +id: get-partner-csv-template +title: "Get CSV template with headers in file" +description: "Create empty CSV file template including headers.Generated CSV file can later be used for uploading business partner data." +sidebar_label: "Get CSV template with headers in file" +hide_title: true +hide_table_of_contents: true +api: {"tags":["partner-upload-controller"],"description":"Create empty CSV file template including headers.Generated CSV file can later be used for uploading business partner data.","operationId":"getPartnerCsvTemplate","responses":{"200":{"description":"CSV file template generated successfully","content":{"application/json":{"schema":{"type":"string","format":"binary"}},"multipart/form-data":{"schema":{"type":"string","format":"binary"}}}}},"method":"get","path":"/v6/input/partner-upload-template","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Get CSV template with headers in file","description":{"content":"Create empty CSV file template including headers.Generated CSV file can later be used for uploading business partner data.","type":"text/plain"},"url":{"path":["v6","input","partner-upload-template"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Get CSV template with headers in file + + + +Create empty CSV file template including headers.Generated CSV file can later be used for uploading business partner data. + +
                + +CSV file template generated successfully + +
                Schema
                • string binary
                Schema
                • string binary
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx new file mode 100644 index 00000000000..07f9fabee9e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-sharing-states +title: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" +description: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" +sidebar_label: "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs" +hide_title: true +hide_table_of_contents: true +api: {"tags":["sharing-state-controller"],"operationId":"getSharingStates","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"}},{"name":"externalIds","in":"query","description":"External IDs","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Page of sharing states","content":{"application/json":{"schema":{"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":{"required":["externalId","sharingStateType"],"type":"object","properties":{"externalId":{"type":"string","description":"The external identifier of the business partner for which the sharing state entry was created."},"sharingStateType":{"type":"string","description":"One of the sharing state types of the current sharing state.","enum":["Pending","Success","Error","Initial","Ready"]},"sharingErrorCode":{"type":"string","description":"One of the sharing error codes in case the current sharing state type is \"error\".","enum":["SharingProcessError","SharingTimeout","BpnNotInPool","MissingTaskID"]},"sharingErrorMessage":{"type":"string","description":"The error message in case the current sharing state type is \"error\"."},"sharingProcessStarted":{"type":"string","description":"The date and time when the sharing process was started.","format":"date-time"},"taskId":{"type":"string","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."}}},"description":"Paginated collection of results"}}}}},"description":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","method":"get","path":"/v6/sharing-state","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","description":{"type":"text/plain"},"url":{"path":["v6","sharing-state"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"External IDs","type":"text/plain"},"key":"externalIds","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs + + + +Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs + +
                Query Parameters
                + +Page of sharing states + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx new file mode 100644 index 00000000000..b3a5bad61ea --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready.api.mdx @@ -0,0 +1,38 @@ +--- +id: post-sharing-state-ready +title: "Sets the given business partners into ready to be shared state" +description: "The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach)." +sidebar_label: "Sets the given business partners into ready to be shared state" +hide_title: true +hide_table_of_contents: true +api: {"tags":["sharing-state-controller"],"description":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","operationId":"postSharingStateReady","requestBody":{"content":{"application/json":{"schema":{"required":["externalIds"],"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"description":"Request for setting business partners into ready to be shared to golden record state"}}},"required":true},"responses":{"204":{"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)"}},"method":"post","path":"/v6/sharing-state/ready","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":{"externalIds":["string"]},"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Sets the given business partners into ready to be shared state","description":{"content":"The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach).","type":"text/plain"},"url":{"path":["v6","sharing-state","ready"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Sets the given business partners into ready to be shared state + + + +The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach). + +
                Request Body required
                + +All business partners put in ready to be shared state + +
                + +Business partners can't be put into ready state (e.g. external-ID not found, wrong sharing state) + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js new file mode 100644 index 00000000000..2ec1b1bad95 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate"},{"type":"category","label":"business-partner-controller","link":{"type":"generated-index","title":"business-partner-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input","label":"Create or update business partner with given external ID","className":"api-method put"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output","label":"Search business partners by an array of external IDs from the output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input","label":"Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.","className":"api-method post"}]},{"type":"category","label":"sharing-state-controller","link":{"type":"generated-index","title":"sharing-state-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/sharing-state-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready","label":"Sets the given business partners into ready to be shared state","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states","label":"Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs","className":"api-method get"}]},{"type":"category","label":"changelog-controller","link":{"type":"generated-index","title":"changelog-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/changelog-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog","label":"Returns changelog entries for changes to the business partner output stage","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog","label":"Returns changelog entries for changes to the business partner input stage","className":"api-method post"}]},{"type":"category","label":"partner-upload-controller","link":{"type":"generated-index","title":"partner-upload-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/partner-upload-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/upload-partner-csv-file","label":"Create or update business partners from uploaded CSV file","className":"api-method post"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-partner-csv-template","label":"Get CSV template with headers in file","className":"api-method get"}]},{"type":"category","label":"stats-controller","link":{"type":"generated-index","title":"stats-controller","slug":"/category/kits/Business Partner Kit/Software Development View/Gate Api/stats-controller"},"items":[{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-address-types","label":"countAddressTypes","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage","label":"countPartnersPerStage","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state","label":"countPartnersBySharingState","className":"api-method get"},{"type":"doc","id":"kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats","label":"getConfidenceCriteriaStats","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upload-partner-csv-file.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upload-partner-csv-file.api.mdx new file mode 100644 index 00000000000..27c03eb5a0a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upload-partner-csv-file.api.mdx @@ -0,0 +1,118 @@ +--- +id: upload-partner-csv-file +title: "Create or update business partners from uploaded CSV file" +description: "Create or update generic business partners. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a requested file." +sidebar_label: "Create or update business partners from uploaded CSV file" +hide_title: true +hide_table_of_contents: true +api: {"tags":["partner-upload-controller"],"description":"Create or update generic business partners. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a requested file. ","operationId":"uploadPartnerCsvFile","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Business partners were successfully updated or created","content":{"application/json":{"schema":{"type":"array","items":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}},"multipart/form-data":{"schema":{"type":"array","items":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}}}},"400":{"description":"On malformed Business partner upload request","content":{"application/json":{"schema":{"required":["error","path","status","timestamp"],"type":"object","properties":{"timestamp":{"type":"string","description":"Timestamp of the error occurrence","format":"date-time"},"status":{"type":"string","description":"HTTP status of the error response","enum":["100 CONTINUE","101 SWITCHING_PROTOCOLS","102 PROCESSING","103 EARLY_HINTS","103 CHECKPOINT","200 OK","201 CREATED","202 ACCEPTED","203 NON_AUTHORITATIVE_INFORMATION","204 NO_CONTENT","205 RESET_CONTENT","206 PARTIAL_CONTENT","207 MULTI_STATUS","208 ALREADY_REPORTED","226 IM_USED","300 MULTIPLE_CHOICES","301 MOVED_PERMANENTLY","302 FOUND","302 MOVED_TEMPORARILY","303 SEE_OTHER","304 NOT_MODIFIED","305 USE_PROXY","307 TEMPORARY_REDIRECT","308 PERMANENT_REDIRECT","400 BAD_REQUEST","401 UNAUTHORIZED","402 PAYMENT_REQUIRED","403 FORBIDDEN","404 NOT_FOUND","405 METHOD_NOT_ALLOWED","406 NOT_ACCEPTABLE","407 PROXY_AUTHENTICATION_REQUIRED","408 REQUEST_TIMEOUT","409 CONFLICT","410 GONE","411 LENGTH_REQUIRED","412 PRECONDITION_FAILED","413 PAYLOAD_TOO_LARGE","413 REQUEST_ENTITY_TOO_LARGE","414 URI_TOO_LONG","414 REQUEST_URI_TOO_LONG","415 UNSUPPORTED_MEDIA_TYPE","416 REQUESTED_RANGE_NOT_SATISFIABLE","417 EXPECTATION_FAILED","418 I_AM_A_TEAPOT","419 INSUFFICIENT_SPACE_ON_RESOURCE","420 METHOD_FAILURE","421 DESTINATION_LOCKED","422 UNPROCESSABLE_ENTITY","423 LOCKED","424 FAILED_DEPENDENCY","425 TOO_EARLY","426 UPGRADE_REQUIRED","428 PRECONDITION_REQUIRED","429 TOO_MANY_REQUESTS","431 REQUEST_HEADER_FIELDS_TOO_LARGE","451 UNAVAILABLE_FOR_LEGAL_REASONS","500 INTERNAL_SERVER_ERROR","501 NOT_IMPLEMENTED","502 BAD_GATEWAY","503 SERVICE_UNAVAILABLE","504 GATEWAY_TIMEOUT","505 HTTP_VERSION_NOT_SUPPORTED","506 VARIANT_ALSO_NEGOTIATES","507 INSUFFICIENT_STORAGE","508 LOOP_DETECTED","509 BANDWIDTH_LIMIT_EXCEEDED","510 NOT_EXTENDED","511 NETWORK_AUTHENTICATION_REQUIRED"]},"error":{"type":"array","description":"List of error messages","items":{"type":"string","description":"List of error messages"}},"path":{"type":"string","description":"Request path where the error occurred"}},"description":"Error response for invalid partner upload"}}}}},"method":"post","path":"/v6/input/partner-upload-process","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Create or update business partners from uploaded CSV file","description":{"content":"Create or update generic business partners. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a requested file. ","type":"text/plain"},"url":{"path":["v6","input","partner-upload-process"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"formdata","formdata":[]}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Create or update business partners from uploaded CSV file + + + +Create or update generic business partners. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a requested file. + +
                Request Body
                + +Business partners were successfully updated or created + +
                Schema array
                  identifiers object[]
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[]
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object
                  + +The legal entity, on which the business partner provides a view. + +
                  states object[]
                  site object
                  + +The site, on which the business partner provides a view. + +
                  states object[]
                  address object
                  + +The address, on which the business partner provides a view. + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  states object[]
                Schema array
                  identifiers object[]
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[]
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object
                  + +The legal entity, on which the business partner provides a view. + +
                  states object[]
                  site object
                  + +The site, on which the business partner provides a view. + +
                  states object[]
                  address object
                  + +The address, on which the business partner provides a view. + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  states object[]
                + +On malformed Business partner upload request + +
                Schema
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx new file mode 100644 index 00000000000..d59fa5ccb3a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input.api.mdx @@ -0,0 +1,118 @@ +--- +id: upsert-business-partners-input +title: "Create or update business partner with given external ID" +description: "Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries." +sidebar_label: "Create or update business partner with given external ID" +hide_title: true +hide_table_of_contents: true +api: {"tags":["business-partner-controller"],"description":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"upsertBusinessPartnersInput","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["address","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","roles","site","states"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "}},"description":"Generic business partner with external id"}}}},"required":true},"responses":{"200":{"description":"Business partner were successfully updated or created","content":{"application/json":{"schema":{"type":"array","items":{"required":["address","bpnA","bpnL","createdAt","externalId","identifiers","isOwnCompanyData","legalEntity","nameParts","postalAddress","roles","site","states","updatedAt"],"type":"object","properties":{"externalId":{"type":"string","description":"The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner."},"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":{"type":"object","properties":{"type":{"type":"string","description":"The type of the identifier."},"value":{"type":"string","description":"The value of the identifier like “DE123465789."},"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 Registergericht and Registerart."}}}},"states":{"type":"array","description":"The list of (temporary) states of the business partner. Sorted and duplicates removed by the service.","items":{"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"]}}}},"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"]}},"isOwnCompanyData":{"type":"boolean","description":"Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member."},"legalEntity":{"required":["states"],"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."},"shortName":{"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The legal entity, on which the business partner provides a view."},"site":{"required":["states"],"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."},"states":{"type":"array","items":{"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"]}}}}},"description":"The site, on which the business partner provides a view."},"address":{"required":["physicalPostalAddress","states"],"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":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"type":"object","properties":{"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."},"name":{"type":"string","description":"The name of the street."},"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."},"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"states":{"type":"array","items":{"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"]}}}}},"description":"The address, on which the business partner provides a view. "},"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"}},"description":"Generic business partner with external id"}}}}},"400":{"description":"On malformed legal entity request"}},"method":"put","path":"/v6/input/business-partners","servers":[{"url":"http://localhost:8081","description":"Generated server url"}],"jsonRequestBodyExample":[{"externalId":"string","nameParts":["string"],"identifiers":[{"type":"string","value":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"roles":["SUPPLIER"],"isOwnCompanyData":true,"legalEntity":{"legalEntityBpn":"string","legalName":"string","shortName":"string","legalForm":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}]},"site":{"siteBpn":"string","name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}]},"address":{"addressBpn":"string","name":"string","addressType":"LegalAndSiteMainAddress","physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"namePrefix":"string","additionalNamePrefix":"string","name":"string","nameSuffix":"string","additionalNameSuffix":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}]}}],"info":{"title":"Business Partner Data Management Gate","description":"A gate for a member to share business partner data with CatenaX","version":"6.1.0"},"postman":{"name":"Create or update business partner with given external ID","description":{"content":"Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["v6","input","business-partners"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "put api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Create or update business partner with given external ID + + + +Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries. + +
                Request Body array required
                  identifiers object[] required
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[] required
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object required
                  + +The legal entity, on which the business partner provides a view. + +
                  states object[] required
                  site object required
                  + +The site, on which the business partner provides a view. + +
                  states object[] required
                  address object required
                  + +The address, on which the business partner provides a view. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  states object[] required
                + +Business partner were successfully updated or created + +
                Schema array
                  identifiers object[]
                  + +The list of identifiers of the business partner. Sorted and duplicates removed by the service. + +
                  states object[]
                  + +The list of (temporary) states of the business partner. Sorted and duplicates removed by the service. + +
                  legalEntity object
                  + +The legal entity, on which the business partner provides a view. + +
                  states object[]
                  site object
                  + +The site, on which the business partner provides a view. + +
                  states object[]
                  address object
                  + +The address, on which the business partner provides a view. + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  states object[]
                + +On malformed legal entity request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Local.postman_environment.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Local.postman_environment.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/Local.postman_environment.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Local.postman_environment.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx new file mode 100644 index 00000000000..ab1cb60c28a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator.info.mdx @@ -0,0 +1,25 @@ +--- +id: business-partner-data-management-orchestrator +title: "Business Partner Data Management Orchestrator" +description: "Orchestrator component acts as a passive component and offers for each processing steps individual endpoints" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 6.1.0 + +# Business Partner Data Management Orchestrator + + + +Orchestrator component acts as a passive component and offers for each processing steps individual endpoints + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx new file mode 100644 index 00000000000..590e98c7a14 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks.api.mdx @@ -0,0 +1,58 @@ +--- +id: create-tasks +title: "Create new golden record tasks for given business partner data" +description: "Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries." +sidebar_label: "Create new golden record tasks for given business partner data" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Task Client"],"description":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","operationId":"createTasks","requestBody":{"content":{"application/json":{"schema":{"required":["mode","requests"],"type":"object","properties":{"mode":{"type":"string","description":"The mode affecting which processing steps the business partner goes through","enum":["UpdateFromSharingMember","UpdateFromPool"]},"requests":{"type":"array","description":"The list of tasks to create","items":{"required":["businessPartner"],"type":"object","properties":{"recordId":{"type":"string","description":"The unique identifier for this record which was previously issued by the Orchestrator"},"businessPartner":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}},"description":"The business partner data to be processed"}}}}},"description":"Request object to specify for which business partner data tasks should be created and in which mode"}}},"required":true},"responses":{"200":{"description":"The states of successfully created tasks including the task identifier for tracking purposes.","content":{"application/json":{"schema":{"required":["createdTasks"],"type":"object","properties":{"createdTasks":{"type":"array","items":{"required":["businessPartnerResult","processingState","recordId","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"recordId":{"type":"string","description":"The identifier of the gate record for which this task has been created"},"businessPartnerResult":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}},"description":"The business partner data to be processed"},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of created tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/v6/golden-record-tasks","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"mode":"UpdateFromSharingMember","requests":[{"recordId":"string","businessPartner":{"nameParts":[{"name":"string","type":"LegalName"}],"owningCompany":"string","uncategorized":{"nameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"address":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"legalEntity":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"isCatenaXMemberData":true,"hasChanged":true,"legalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"site":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"siteName":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"hasChanged":true,"siteMainAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"siteMainIsLegalAddress":true},"additionalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"type":"LegalEntity"}}]},"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.1.0"},"postman":{"name":"Create new golden record tasks for given business partner data","description":{"content":"Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Create new golden record tasks for given business partner data + + + +Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries. + +
                Request Body required
                  requests object[] required
                  + +The list of tasks to create + +
                  businessPartner object required
                  + +The business partner data to be processed + +
                  nameParts object[] required
                  uncategorized object required
                  identifiers object[] required
                  states object[] required
                  address object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  legalEntity object required
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  legalAddress object required
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  site object
                  bpnReference object required
                  states object[] required
                  confidenceCriteria object required
                  siteMainAddress object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  additionalAddress object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                + +The states of successfully created tasks including the task identifier for tracking purposes. + +
                Schema
                  createdTasks object[]
                  businessPartnerResult object
                  + +The business partner data to be processed + +
                  nameParts object[]
                  uncategorized object
                  identifiers object[]
                  states object[]
                  address object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  legalEntity object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  legalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  site object
                  bpnReference object
                  states object[]
                  confidenceCriteria object
                  siteMainAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  additionalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  processingState object
                  + +Contains detailed information about the current processing state of a golden record task + +
                  errors object[]
                  + +The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. + +
                + +On malformed task create requests or reaching upsert limit + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx new file mode 100644 index 00000000000..b871323962e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step.api.mdx @@ -0,0 +1,46 @@ +--- +id: reserve-tasks-for-step +title: "Reserve the next golden record tasks waiting in the given step queue" +description: "Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100." +sidebar_label: "Reserve the next golden record tasks waiting in the given step queue" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Task Worker"],"description":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","operationId":"reserveTasksForStep","requestBody":{"content":{"application/json":{"schema":{"required":["amount","step"],"type":"object","properties":{"amount":{"type":"integer","description":"The maximum number of tasks to reserve. Can be fewer if queue is not full enough.","format":"int32"},"step":{"type":"string","description":"The step queue to reserve from","enum":["CleanAndSync","PoolSync","Clean"]}},"description":"Request object for reserving a number of tasks waiting in a step queue."}}},"required":true},"responses":{"200":{"description":"The reserved tasks with their business partner data to process.","content":{"application/json":{"schema":{"required":["reservedTasks","timeout"],"type":"object","properties":{"reservedTasks":{"type":"array","description":"The reserved tasks with their business partner data to process","items":{"required":["businessPartner","recordId","requestKey","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the reserved task"},"recordId":{"type":"string","description":"The identifier of the gate record for which this task has been created"},"businessPartner":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}},"description":"The business partner data to be processed"},"requestKey":{"type":"string"}},"description":"Task reservation entry"}},"timeout":{"type":"string","description":"The timestamp until the reservation is valid and results are accepted","format":"date-time","deprecated":true}},"description":"Response object for giving a list of reserved tasks"}}}},"400":{"description":"On malformed task create requests or reaching upsert limit"}},"method":"post","path":"/v6/golden-record-tasks/step-reservations","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"amount":0,"step":"CleanAndSync"},"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.1.0"},"postman":{"name":"Reserve the next golden record tasks waiting in the given step queue","description":{"content":"Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","step-reservations"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Reserve the next golden record tasks waiting in the given step queue + + + +Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100. + +
                Request Body required
                + +The reserved tasks with their business partner data to process. + +
                Schema
                  reservedTasks object[]
                  + +The reserved tasks with their business partner data to process + +
                  businessPartner object
                  + +The business partner data to be processed + +
                  nameParts object[]
                  uncategorized object
                  identifiers object[]
                  states object[]
                  address object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  legalEntity object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  legalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  site object
                  bpnReference object
                  states object[]
                  confidenceCriteria object
                  siteMainAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  additionalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                + +On malformed task create requests or reaching upsert limit + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx new file mode 100644 index 00000000000..4e7ba9fd149 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results.api.mdx @@ -0,0 +1,46 @@ +--- +id: resolve-step-results +title: "Post step results for reserved golden record tasks in the given step queue" +description: "Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100." +sidebar_label: "Post step results for reserved golden record tasks in the given step queue" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Task Worker"],"description":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","operationId":"resolveStepResults","requestBody":{"content":{"application/json":{"schema":{"required":["results","step"],"type":"object","properties":{"step":{"type":"string","description":"The step queue containing the tasks for which results are posted","enum":["CleanAndSync","PoolSync","Clean"]},"results":{"type":"array","items":{"required":["businessPartner","errors","taskId"],"type":"object","properties":{"taskId":{"type":"string","description":"The identifier of the task for which this is a result"},"businessPartner":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}},"description":"The business partner data to be processed"},"errors":{"type":"array","description":"Errors that occurred during processing of this task","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}}},"description":"A step result for a golden record task"}}},"description":"Request object for posting step results of previously reserved tasks"}}},"required":true},"responses":{"204":{"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"}},"method":"post","path":"/v6/golden-record-tasks/step-results","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"step":"CleanAndSync","results":[{"taskId":"string","businessPartner":{"nameParts":[{"name":"string","type":"LegalName"}],"owningCompany":"string","uncategorized":{"nameParts":["string"],"identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"address":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"legalEntity":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"isCatenaXMemberData":true,"hasChanged":true,"legalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true}},"site":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"siteName":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"hasChanged":true,"siteMainAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"siteMainIsLegalAddress":true},"additionalAddress":{"bpnReference":{"referenceValue":"string","desiredBpn":"string","referenceType":"Bpn"},"addressName":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"physicalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativeAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"string","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"hasChanged":true},"type":"LegalEntity"},"errors":[{"type":"Timeout","description":"string"}]}]},"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.1.0"},"postman":{"name":"Post step results for reserved golden record tasks in the given step queue","description":{"content":"Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","step-results"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Post step results for reserved golden record tasks in the given step queue + + + +Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100. + +
                Request Body required
                  results object[] required
                  businessPartner object required
                  + +The business partner data to be processed + +
                  nameParts object[] required
                  uncategorized object required
                  identifiers object[] required
                  states object[] required
                  address object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  legalEntity object required
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  legalAddress object required
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  site object
                  bpnReference object required
                  states object[] required
                  confidenceCriteria object required
                  siteMainAddress object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  additionalAddress object
                  bpnReference object required
                  identifiers object[] required
                  states object[] required
                  confidenceCriteria object required
                  physicalAddress object required
                  geographicCoordinates object required
                  street object required
                  alternativeAddress object
                  geographicCoordinates object required
                  errors object[] required
                  + +Errors that occurred during processing of this task + +
                + +If the results could be processed + +
                + +On malformed requests, reaching upsert limit or posting results for tasks which are missing or in the wrong step queue + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx new file mode 100644 index 00000000000..ce2af969cef --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states.api.mdx @@ -0,0 +1,50 @@ +--- +id: search-task-states +title: "Search for the state of golden record tasks by task identifiers" +description: "Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored." +sidebar_label: "Search for the state of golden record tasks by task identifiers" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Task Client"],"description":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","operationId":"searchTaskStates","requestBody":{"content":{"application/json":{"schema":{"required":["taskIds"],"type":"object","properties":{"taskIds":{"type":"array","items":{"type":"string"}}},"description":"Request object for giving a list of task identifiers to search for the state of tasks"}}},"required":true},"responses":{"200":{"description":"The state of the tasks for the provided task identifiers.","content":{"application/json":{"schema":{"required":["tasks"],"type":"object","properties":{"tasks":{"type":"array","items":{"required":["businessPartnerResult","processingState","recordId","taskId"],"type":"object","properties":{"taskId":{"type":"string"},"recordId":{"type":"string","description":"The identifier of the gate record for which this task has been created"},"businessPartnerResult":{"required":["legalEntity","nameParts","uncategorized"],"type":"object","properties":{"nameParts":{"type":"array","items":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LegalName","ShortName","LegalForm","SiteName","AddressName"]}}}},"owningCompany":{"type":"string"},"uncategorized":{"required":["identifiers","nameParts","states"],"type":"object","properties":{"nameParts":{"type":"array","items":{"type":"string"}},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"address":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"legalEntity":{"required":["bpnReference","confidenceCriteria","identifiers","legalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"legalName":{"type":"string"},"legalShortName":{"type":"string"},"legalForm":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean"},"hasChanged":{"type":"boolean"},"legalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}}}},"site":{"required":["bpnReference","confidenceCriteria","siteMainIsLegalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"siteName":{"type":"string"},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"hasChanged":{"type":"boolean"},"siteMainAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"siteMainIsLegalAddress":{"type":"boolean"}}},"additionalAddress":{"required":["bpnReference","confidenceCriteria","identifiers","physicalAddress","states"],"type":"object","properties":{"bpnReference":{"type":"object","properties":{"referenceValue":{"type":"string"},"desiredBpn":{"type":"string"},"referenceType":{"type":"string","enum":["Bpn","BpnRequestIdentifier"]}}},"addressName":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"type":{"type":"string"},"issuingBody":{"type":"string"}}}},"states":{"type":"array","items":{"type":"object","properties":{"validFrom":{"type":"string","format":"date-time"},"validTo":{"type":"string","format":"date-time"},"type":{"type":"string","enum":["ACTIVE","INACTIVE"]}}}},"confidenceCriteria":{"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"physicalAddress":{"required":["geographicCoordinates","street"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"administrativeAreaLevel2":{"type":"string"},"administrativeAreaLevel3":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"street":{"type":"object","properties":{"name":{"type":"string"},"houseNumber":{"type":"string"},"houseNumberSupplement":{"type":"string"},"milestone":{"type":"string"},"direction":{"type":"string"},"namePrefix":{"type":"string"},"additionalNamePrefix":{"type":"string"},"nameSuffix":{"type":"string"},"additionalNameSuffix":{"type":"string"}}},"companyPostalCode":{"type":"string"},"industrialZone":{"type":"string"},"building":{"type":"string"},"floor":{"type":"string"},"door":{"type":"string"},"taxJurisdictionCode":{"type":"string"}}},"alternativeAddress":{"required":["geographicCoordinates"],"type":"object","properties":{"geographicCoordinates":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"altitude":{"type":"number","format":"float"}}},"country":{"type":"string"},"administrativeAreaLevel1":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"deliveryServiceType":{"type":"string","enum":["PO_BOX","PRIVATE_BAG","BOITE_POSTALE"]},"deliveryServiceQualifier":{"type":"string"},"deliveryServiceNumber":{"type":"string"}}},"hasChanged":{"type":"boolean"}}},"type":{"type":"string","enum":["LegalEntity","Site","Address"]}},"description":"The business partner data to be processed"},"processingState":{"required":["createdAt","errors","modifiedAt","resultState","step","stepState","timeout"],"type":"object","properties":{"resultState":{"type":"string","description":"The processing result of the task, can also still be pending","enum":["Pending","Success","Error"]},"step":{"type":"string","description":"The last step this task has entered","enum":["CleanAndSync","PoolSync","Clean"]},"stepState":{"type":"string","description":"Whether the task is queued or already reserved for the latest step","enum":["Queued","Reserved","Success","Error"]},"errors":{"type":"array","description":"The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step.","items":{"required":["description","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of error that occurred","enum":["Timeout","Unspecified"]},"description":{"type":"string","description":"The free text, detailed description of the error"}},"description":"Describes an error that happened during processing of a task"}},"createdAt":{"type":"string","description":"When the task has been created","format":"date-time"},"modifiedAt":{"type":"string","description":"When the task has last been modified","format":"date-time"}},"description":"Contains detailed information about the current processing state of a golden record task"}},"description":"The golden record task's processing state together with optional business partner data in case processing is done"}}},"description":"Response object for giving a list of task states"}}}},"400":{"description":"On malformed task search requests"}},"method":"post","path":"/v6/golden-record-tasks/state/search","servers":[{"url":"http://localhost:8085","description":"Generated server url"}],"jsonRequestBodyExample":{"taskIds":["string"]},"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.1.0"},"postman":{"name":"Search for the state of golden record tasks by task identifiers","description":{"content":"Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored.","type":"text/plain"},"url":{"path":["v6","golden-record-tasks","state","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Search for the state of golden record tasks by task identifiers + + + +Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored. + +
                Request Body required
                + +The state of the tasks for the provided task identifiers. + +
                Schema
                  tasks object[]
                  businessPartnerResult object
                  + +The business partner data to be processed + +
                  nameParts object[]
                  uncategorized object
                  identifiers object[]
                  states object[]
                  address object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  legalEntity object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  legalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  site object
                  bpnReference object
                  states object[]
                  confidenceCriteria object
                  siteMainAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  additionalAddress object
                  bpnReference object
                  identifiers object[]
                  states object[]
                  confidenceCriteria object
                  physicalAddress object
                  geographicCoordinates object
                  street object
                  alternativeAddress object
                  geographicCoordinates object
                  processingState object
                  + +Contains detailed information about the current processing state of a golden record task + +
                  errors object[]
                  + +The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. + +
                + +On malformed task search requests + +
                + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js similarity index 100% rename from docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx new file mode 100644 index 00000000000..0e12042f96e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool.info.mdx @@ -0,0 +1,25 @@ +--- +id: business-partner-data-management-pool +title: "Business Partner Data Management Pool" +description: "Service that manages and shares business partner data with other CatenaX services" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 6.1.0 + +# Business Partner Data Management Pool + + + +Service that manages and shares business partner data with other CatenaX services + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx new file mode 100644 index 00000000000..349d5e78323 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-addresses.api.mdx @@ -0,0 +1,118 @@ +--- +id: create-addresses +title: "Creates a new address" +description: "Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." +sidebar_label: "Creates a new address" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Address Controller"],"description":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnParent","confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnParent":{"type":"string","description":"BPNL of the legal entity or BPNS of the site this address belongs to."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New business partner record successfully created, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","SiteMainAddress","AdditionalAddress"]},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressCreateError","enum":["BpnNotValid","SiteNotFound","LegalEntityNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"bpnParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Creates a new address","description":{"content":"Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Creates a new address + + + +Create new business partners of type address by specifying the BPN of the parent each address belongs to. A parent can be either a site or legal entity business partner. If the parent cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. + +
                Request Body array required
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                + +New business partner record successfully created, possible errors are returned + +
                Schema
                  entities object[]
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx new file mode 100644 index 00000000000..f33a5d79aa5 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners.api.mdx @@ -0,0 +1,162 @@ +--- +id: create-business-partners +title: "Creates a new legal entity" +description: "Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." +sidebar_label: "Creates a new legal entity" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Legal Entity Controller"],"description":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["confidenceCriteria","identifiers","isCatenaXMemberData","legalAddress","legalName","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean","description":"Indicates whether the legal entity is owned and thus provided by a Catena-X Member."},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityCreateError","enum":["LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier","LegalEntityErrorMapping"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"isCatenaXMemberData":true,"legalAddress":{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0}},"index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Creates a new legal entity","description":{"content":"Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Creates a new legal entity + + + +Create new business partners of type legal entity. The given additional identifiers of a record need to be unique, otherwise they are ignored. For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. + +
                Request Body array required
                  identifiers object[] required
                  + +The list of identifiers of the legal entity. + +
                  states object[] required
                  + +The list of (temporary) states of the legal entity. + +
                  confidenceCriteria object required
                  legalAddress object required
                  + +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. + +
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                + +New legal entities request was processed successfully, possible errors are returned + +
                Schema
                  entities object[]
                  legalForm object
                  + +A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. + +
                  identifiers object[]
                  + +The list of identifiers of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  states object[]
                  + +The list of (temporary) states of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  relations object[]
                  + +Relations to other business partners. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  legalAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx new file mode 100644 index 00000000000..c8e58147859 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type.api.mdx @@ -0,0 +1,50 @@ +--- +id: create-identifier-type +title: "Creates a new identifier type" +description: "Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." +sidebar_label: "Creates a new identifier type" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createIdentifierType","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"required":true},"responses":{"200":{"description":"New identifier type successfully created","content":{"application/json":{"schema":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Identifier type with specified technical key already exists"}},"method":"post","path":"/v6/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","businessPartnerType":"LEGAL_ENTITY","name":"string","details":[{"country":"UNDEFINED","mandatory":true}]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Creates a new identifier type","description":{"content":"Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["v6","identifier-types"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Creates a new identifier type + + + +Create a new identifier type (including validity details) which can be referenced by business partner records. Identifier types such as BPN or VAT determine with which kind of values a business partner can be identified with. The actual name of the identifier type is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. + +
                Request Body required
                  details object[] required
                  + +Validity details. + +
                + +New identifier type successfully created + +
                Schema
                  details object[]
                  + +Validity details. + +
                + +On malformed request parameters + +
                + +Identifier type with specified technical key already exists + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx new file mode 100644 index 00000000000..af8d3864e6d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form.api.mdx @@ -0,0 +1,42 @@ +--- +id: create-legal-form +title: "Creates a new legal form" +description: "Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems." +sidebar_label: "Creates a new legal form" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","operationId":"createLegalForm","requestBody":{"content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key to be used for reference"},"name":{"type":"string","description":"Full name of the legal form"},"abbreviation":{"type":"string","description":"Abbreviation of the legal form name"}},"description":"New legal form record to be referenced by business partners"}}},"required":true},"responses":{"200":{"description":"New legal form successfully created","content":{"application/json":{"schema":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}}},"400":{"description":"On malformed request parameters"},"409":{"description":"Legal form with specified technical key already exists"}},"method":"post","path":"/v6/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"technicalKey":"string","name":"string","abbreviation":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Creates a new legal form","description":{"content":"Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems.","type":"text/plain"},"url":{"path":["v6","legal-forms"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Creates a new legal form + + + +Create a new legal form which can be referenced by business partner records. The actual name of the legal form is free to choose and doesn't need to be unique. The technical key can be freely chosen but needs to be unique for the businessPartnerType as it is used as reference by the business partner records. A recommendation for technical keys: They should be short, descriptive and use a restricted common character set in order to ensure compatibility with older systems. + +
                Request Body required
                + +New legal form successfully created + +
                Schema
                + +On malformed request parameters + +
                + +Legal form with specified technical key already exists + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx new file mode 100644 index 00000000000..e7058fee799 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/create-site.api.mdx @@ -0,0 +1,138 @@ +--- +id: create-site +title: "Creates a new site" +description: "Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response." +sidebar_label: "Creates a new site" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Site Controller"],"description":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","operationId":"createSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnlParent","confidenceCriteria","mainAddress","name","states"],"type":"object","properties":{"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"bpnlParent":{"type":"string","description":"The BPNL of the legal entity owning the site."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."},"requestKey":{"type":"string"}},"description":"Request for creating new 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."}}}},"required":true},"responses":{"200":{"description":"New sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteCreateError","enum":["LegalEntityNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"post","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"bpnlParent":"string","index":"string","requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Creates a new site","description":{"content":"Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Creates a new site + + + +Create new business partners of type site by specifying the BPNL of the legal entity each site belongs to. If the legal entitiy cannot be found, the record is ignored.For matching purposes, on each record you can specify your own index value which will reappear in the corresponding record of the response. + +
                Request Body array required
                  states object[] required
                  + +The list of the (temporary) states of the site. + +
                  mainAddress object required
                  + +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. + +
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                  confidenceCriteria object required
                + +New sites request was processed successfully, possible errors are returned + +
                Schema
                  entities object[]
                  states object[]
                  + +The list of the (temporary) states of the site. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  mainAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx new file mode 100644 index 00000000000..1b12fabac13 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers.api.mdx @@ -0,0 +1,42 @@ +--- +id: find-bpns-by-identifiers +title: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" +description: "Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries." +sidebar_label: "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Bpn Controller"],"description":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","operationId":"findBpnsByIdentifiers","requestBody":{"content":{"application/json":{"schema":{"required":["businessPartnerType","idType","idValues"],"type":"object","properties":{"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"idType":{"type":"string","description":"Technical key of the type to which the identifiers belongs to"},"idValues":{"type":"array","description":"Values of the identifiers","items":{"type":"string","description":"Values of the identifiers"}}},"description":"Contains identifiers to search legal entities by"}}},"required":true},"responses":{"200":{"description":"Found bpn to identifier value mappings","content":{"application/json":{"schema":{"uniqueItems":true,"type":"array","items":{"required":["bpn","idValue"],"type":"object","properties":{"idValue":{"type":"string","description":"Value of the identifier"},"bpn":{"type":"string","description":"Business Partner Number"}},"description":"Mapping of Business Partner Number to identifier value"}}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"},"404":{"description":"Specified identifier type not found"}},"method":"post","path":"/v6/bpn/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"businessPartnerType":"LEGAL_ENTITY","idType":"string","idValues":["string"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values","description":{"content":"Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries.","type":"text/plain"},"url":{"path":["v6","bpn","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values + + + +Find business partner numbers by identifiers. The response can contain less results than the number of identifier values that were requested, if some of the identifiers did not exist. For a single request, the maximum number of identifier values to search for is limited to ${bpdm.bpn.search-request-limit} entries. + +
                Request Body required
                + +Found bpn to identifier value mappings + +
                Schema array
                + +On malformed request parameters or if number of requested bpns exceeds limit + +
                + +Specified identifier type not found + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx new file mode 100644 index 00000000000..bd46f376b69 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-address.api.mdx @@ -0,0 +1,94 @@ +--- +id: get-address +title: "Returns an address by its BPNA" +description: "Get business partners of type address by BPNA ignoring case." +sidebar_label: "Returns an address by its BPNA" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Address Controller"],"description":"Get business partners of type address by BPNA ignoring case.","operationId":"getAddress","parameters":[{"name":"bpna","in":"path","description":"BPNA value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found address with specified BPNA","content":{"application/json":{"schema":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No address found under specified BPNA"}},"method":"get","path":"/v6/addresses/{bpna}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns an address by its BPNA","description":{"content":"Get business partners of type address by BPNA ignoring case.","type":"text/plain"},"url":{"path":["v6","addresses",":bpna"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNA value","type":"text/plain"},"type":"any","value":"","key":"bpna"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns an address by its BPNA + + + +Get business partners of type address by BPNA ignoring case. + +
                Path Parameters
                + +Found address with specified BPNA + +
                Schema
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed request parameters + +
                + +No address found under specified BPNA + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx new file mode 100644 index 00000000000..6c431e2c015 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1.api.mdx @@ -0,0 +1,94 @@ +--- +id: get-addresses-1 +title: "Returns addresses by different search parameters" +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." +sidebar_label: "Returns addresses by different search parameters" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Address Controller"],"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","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of addresses matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns addresses by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"addressBpns","value":""},{"disabled":false,"key":"legalEntityBpns","value":""},{"disabled":false,"key":"siteBpns","value":""},{"disabled":false,"key":"name","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns addresses by different search parameters + + + +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. + +
                Query Parameters
                + +Page of addresses matching the search criteria, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed search or pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx new file mode 100644 index 00000000000..b0f982fe759 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-addresses.api.mdx @@ -0,0 +1,98 @@ +--- +id: get-addresses +title: "Returns all addresses of a legal entity with a specific BPNL" +description: "Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case." +sidebar_label: "Returns all addresses of a legal entity with a specific BPNL" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Legal Entity Controller"],"description":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","operationId":"getAddresses","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The addresses for the specified BPNL","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified BPNL"}},"method":"get","path":"/v6/legal-entities/{bpnl}/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns all addresses of a legal entity with a specific BPNL","description":{"content":"Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case.","type":"text/plain"},"url":{"path":["v6","legal-entities",":bpnl","addresses"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns all addresses of a legal entity with a specific BPNL + + + +Get business partners of type address belonging to a business partner of type legal entity, identified by the business partner's BPNL ignoring case. + +
                Path Parameters
                Query Parameters
                + +The addresses for the specified BPNL + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed pagination request + +
                + +No business partner found for specified BPNL + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx new file mode 100644 index 00000000000..82c84f087c6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1.api.mdx @@ -0,0 +1,42 @@ +--- +id: get-admin-areas-level-1 +title: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" +description: "Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result" +sidebar_label: "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","operationId":"getAdminAreasLevel1","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"}}],"responses":{"200":{"description":"Page of existing country subdivisions, may be empty","content":{"application/json":{"schema":{"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":{"required":["code","countryCode","name"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"code":{"type":"string","description":"The country subdivision code according to ISO 3166-2"},"name":{"type":"string","description":"The name of the country subdivision according to ISO 3166-2"}},"description":"Country subdivision"}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/administrative-areas-level1","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Get page of country subdivisions suitable for the administrativeAreaLevel1 address property","description":{"content":"Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result","type":"text/plain"},"url":{"path":["v6","administrative-areas-level1"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Get page of country subdivisions suitable for the administrativeAreaLevel1 address property + + + +Lists all currently known country subdivisions according to ISO 3166-2 in a paginated result + +
                Query Parameters
                + +Page of existing country subdivisions, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                + +On malformed request parameters + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx new file mode 100644 index 00000000000..18ced532f16 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries.api.mdx @@ -0,0 +1,46 @@ +--- +id: get-changelog-entries +title: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" +description: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" +sidebar_label: "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Changelog Controller"],"operationId":"getChangelogEntries","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"bpns":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of BPNL/S/A. 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"]}}},"description":"Request for searching and filtering the business partner changelog"}}},"required":true},"responses":{"200":{"description":"The specified changelog entries","content":{"application/json":{"schema":{"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":{"required":["bpn","businessPartnerType","changelogType","timestamp"],"type":"object","properties":{"bpn":{"type":"string","description":"The business partner number for which the changelog entry was created. Can be either a BPNL, BPNS or BPNA."},"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpn"}},"description":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","method":"post","path":"/v6/business-partners/changelog/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","bpns":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types","description":{"type":"text/plain"},"url":{"path":["v6","business-partners","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types + + + +Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types + +
                Query Parameters
                Request Body required
                + +The specified changelog entries + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                + +On malformed pagination request + +
                + +No business partner found for specified bpn + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx new file mode 100644 index 00000000000..ef68b6240fe --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules.api.mdx @@ -0,0 +1,38 @@ +--- +id: get-field-quality-rules +title: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" +description: "List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden." +sidebar_label: "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","operationId":"getFieldQualityRules","parameters":[{"name":"country","in":"query","description":"ISO 3166-1 alpha-2 country code","required":true,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"List of the existing rules for the given country","content":{"application/json":{"schema":{"type":"array","items":{"required":["country","fieldPath","qualityLevel"],"type":"object","properties":{"fieldPath":{"type":"string","description":"Path to the field"},"schemaName":{"type":"string","description":"Schema name of the entity the field belongs to"},"country":{"type":"string","description":"Country for wich the rule is valid","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"]},"qualityLevel":{"type":"string","description":"Defines the quality of an entity field.","enum":["MANDATORY","OPTIONAL","FORBIDDEN"]}},"description":"Rule for the quality level of an entity field "}}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/field-quality-rules/","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)","description":{"content":"List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden.","type":"text/plain"},"url":{"path":["v6","field-quality-rules",""],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"(Required) ISO 3166-1 alpha-2 country code","type":"text/plain"},"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code) + + + +List the country specific data rules for entity fields.All fields that are not in this list are considered to be forbidden. + +
                Query Parameters
                + +List of the existing rules for the given country + +
                Schema array
                + +On malformed request parameters + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx new file mode 100644 index 00000000000..4834a2a8d0f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types.api.mdx @@ -0,0 +1,46 @@ +--- +id: get-identifier-types +title: "Returns all identifier types filtered by business partner type and country." +description: "Lists all matching identifier types including validity details in a paginated result" +sidebar_label: "Returns all identifier types filtered by business partner type and country." +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"Lists all matching identifier types including validity details in a paginated result","operationId":"getIdentifierTypes","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"}},{"name":"businessPartnerType","in":"query","required":true,"schema":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]}},{"name":"country","in":"query","required":false,"schema":{"type":"string","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"]}}],"responses":{"200":{"description":"Page of existing identifier types, may be empty","content":{"application/json":{"schema":{"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":{"required":["businessPartnerType","details","name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier (unique in combination with businessPartnerType)."},"businessPartnerType":{"type":"string","description":"Specifies if an identifier type is valid for legal entities (L) or addresses (A). Sites (S) are not supported.","enum":["LEGAL_ENTITY","ADDRESS"]},"name":{"type":"string","description":"The name of the identifier type."},"details":{"type":"array","description":"Validity details.","items":{"required":["mandatory"],"type":"object","properties":{"country":{"type":"string","description":"2-digit country code for which this identifier is valid; null for universal identifiers.","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"]},"mandatory":{"type":"boolean","description":"True if identifier is mandatory in this country."}},"description":"Information for which countries an identifier type is valid and mandatory."}}},"description":"An identifier type defines the name or category of an identifier, such as the German Handelsregisternummer, VAT number, Global Location Number (GLN), etc. The identifier type is valid for a business partner type."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/identifier-types","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns all identifier types filtered by business partner type and country.","description":{"content":"Lists all matching identifier types including validity details in a paginated result","type":"text/plain"},"url":{"path":["v6","identifier-types"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"key":"businessPartnerType","value":""},{"disabled":false,"key":"country","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns all identifier types filtered by business partner type and country. + + + +Lists all matching identifier types including validity details in a paginated result + +
                Query Parameters
                + +Page of existing identifier types, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  details object[]
                  + +Validity details. + +
                + +On malformed request parameters + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx new file mode 100644 index 00000000000..63761a540c6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities.api.mdx @@ -0,0 +1,126 @@ +--- +id: get-legal-entities +title: "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." +sidebar_label: "Returns legal entities by different search parameters" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Legal Entity Controller"],"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","required":false,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed search or pagination request"}},"method":"get","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns legal entities by different search parameters","description":{"content":"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. ","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"bpnLs","value":""},{"disabled":false,"key":"legalName","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns legal entities by different search parameters + + + +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. + +
                Query Parameters
                + +Page of business partners matching the search criteria, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  legalForm object
                  + +A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. + +
                  identifiers object[]
                  + +The list of identifiers of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  states object[]
                  + +The list of (temporary) states of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  relations object[]
                  + +Relations to other business partners. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  legalAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed search or pagination request + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx new file mode 100644 index 00000000000..0a8f438d1e9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity.api.mdx @@ -0,0 +1,126 @@ +--- +id: get-legal-entity +title: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" +description: "This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type." +sidebar_label: "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Legal Entity Controller"],"description":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","operationId":"getLegalEntity","parameters":[{"name":"idValue","in":"path","description":"Identifier value","required":true,"schema":{"type":"string"}},{"name":"idType","in":"query","description":"Type of identifier to use, defaults to BPN when omitted","required":false,"schema":{"type":"string","default":"BPN"}}],"responses":{"200":{"description":"Found business partner with specified identifier","content":{"application/json":{"schema":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No business partner found under specified identifier or specified identifier type not found"}},"method":"get","path":"/v6/legal-entities/{idValue}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type","description":{"content":"This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type.","type":"text/plain"},"url":{"path":["v6","legal-entities",":idValue"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Type of identifier to use, defaults to BPN when omitted","type":"text/plain"},"key":"idType","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) Identifier value","type":"text/plain"},"type":"any","value":"","key":"idValue"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type + + + +This endpoint tries to find a business partner by the specified identifier. The identifier value is case insensitively compared but needs to be given exactly. By default the value given is interpreted as a BPN. By specifying the technical key of another identifier typethe value is matched against the identifiers of that given type. + +
                Path Parameters
                Query Parameters
                + +Found business partner with specified identifier + +
                Schema
                  legalForm object
                  + +A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. + +
                  identifiers object[]
                  + +The list of identifiers of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  states object[]
                  + +The list of (temporary) states of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  relations object[]
                  + +Relations to other business partners. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  legalAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed request parameters + +
                + +No business partner found under specified identifier or specified identifier type not found + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx new file mode 100644 index 00000000000..cf3813c8d0f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms.api.mdx @@ -0,0 +1,42 @@ +--- +id: get-legal-forms +title: "Returns all legal forms" +description: "Lists all currently known legal forms in a paginated result" +sidebar_label: "Returns all legal forms" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Metadata Controller"],"description":"Lists all currently known legal forms in a paginated result","operationId":"getLegalForms","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"}}],"responses":{"200":{"description":"Page of existing legal forms, may be empty","content":{"application/json":{"schema":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"get","path":"/v6/legal-forms","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns all legal forms","description":{"content":"Lists all currently known legal forms in a paginated result","type":"text/plain"},"url":{"path":["v6","legal-forms"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns all legal forms + + + +Lists all currently known legal forms in a paginated result + +
                Query Parameters
                + +Page of existing legal forms, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                + +On malformed request parameters + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx new file mode 100644 index 00000000000..2f40075e106 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-site.api.mdx @@ -0,0 +1,106 @@ +--- +id: get-site +title: "Returns a site by its BPNS" +description: "Get business partners of type site by BPNS ignoring case." +sidebar_label: "Returns a site by its BPNS" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Site Controller"],"description":"Get business partners of type site by BPNS ignoring case.","operationId":"getSite","parameters":[{"name":"bpns","in":"path","description":"BPNS value","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Found site with specified BPNS","content":{"application/json":{"schema":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}}},"400":{"description":"On malformed request parameters"},"404":{"description":"No site found under specified BPNS"}},"method":"get","path":"/v6/sites/{bpns}","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns a site by its BPNS","description":{"content":"Get business partners of type site by BPNS ignoring case.","type":"text/plain"},"url":{"path":["v6","sites",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) BPNS value","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Returns a site by its BPNS + + + +Get business partners of type site by BPNS ignoring case. + +
                Path Parameters
                + +Found site with specified BPNS + +
                Schema
                  states object[]
                  + +The list of the (temporary) states of the site. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  mainAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed request parameters + +
                + +No site found under specified BPNS + +
                + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx similarity index 97% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx index 2c3503dd991..2c22dd76eba 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1.api.mdx @@ -5,7 +5,7 @@ description: "Get business partners of type site belonging to a business partner sidebar_label: "Returns all sites of a legal entity with a specific BPNL" hide_title: true hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"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_1","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The sites for the specified bpnl","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpnl"}},"method":"get","path":"/v6/legal-entities/{bpnl}/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns all sites of a legal entity with a specific BPNL","description":{"content":"Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case.","type":"text/plain"},"url":{"path":["v6","legal-entities",":bpnl","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +api: {"tags":["Legal Entity Controller"],"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_1","parameters":[{"name":"bpnl","in":"path","description":"BPNL value","required":true,"schema":{"type":"string"}},{"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"}}],"responses":{"200":{"description":"The sites for the specified bpnl","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"},"404":{"description":"No business partner found for specified bpnl"}},"method":"get","path":"/v6/legal-entities/{bpnl}/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns all sites of a legal entity with a specific BPNL","description":{"content":"Get business partners of type site belonging to a business partner of type legal entity, identified by the business partner's bpnl ignoring case.","type":"text/plain"},"url":{"path":["v6","legal-entities",":bpnl","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) BPNL value","type":"text/plain"},"type":"any","value":"","key":"bpnl"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} sidebar_class_name: "get api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -42,7 +42,7 @@ The list of the (temporary) states of the site. Named type uniquely identified by its technical key -
                confidenceCriteria object
                +
                confidenceCriteria object
                On malformed pagination request diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx new file mode 100644 index 00000000000..c28ac9025b9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/get-sites.api.mdx @@ -0,0 +1,106 @@ +--- +id: get-sites +title: "Get page of sites matching the pagination search criteria" +description: "This endpoint retrieves all existing business partners of type sites." +sidebar_label: "Get page of sites matching the pagination search criteria" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Site Controller"],"description":"This endpoint retrieves all existing business partners of type sites.","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","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"}}],"responses":{"200":{"description":"Page of business partners matching the search criteria, may be empty","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"get","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Get page of sites matching the pagination search criteria","description":{"content":"This endpoint retrieves all existing business partners of type sites.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"key":"siteBpns","value":""},{"disabled":false,"key":"legalEntityBpns","value":""},{"disabled":false,"key":"name","value":""},{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Get page of sites matching the pagination search criteria + + + +This endpoint retrieves all existing business partners of type sites. + +
                Query Parameters
                + +Page of business partners matching the search criteria, may be empty + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  states object[]
                  + +The list of the (temporary) states of the site. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  mainAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + +On malformed pagination request + +
                + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx similarity index 84% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx index 41d1d2e6c60..58eae0e05bc 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search.api.mdx @@ -5,7 +5,7 @@ description: "Search legal entity partners by their BPNLs. The response can cont sidebar_label: "Returns legal entities by different search parameters" hide_title: true hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"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":"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":{"required":["bpnLs"],"type":"object","properties":{"bpnLs":{"type":"array","items":{"type":"string"}},"legalName":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found legal entites","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"}},"method":"post","path":"/v6/legal-entities/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"bpnLs":["string"],"legalName":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns legal entities by different search parameters","description":{"content":"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.","type":"text/plain"},"url":{"path":["v6","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Legal Entity Controller"],"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":"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":{"required":["bpnLs"],"type":"object","properties":{"bpnLs":{"type":"array","items":{"type":"string"}},"legalName":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found legal entites","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters or if number of requested bpns exceeds limit"}},"method":"post","path":"/v6/legal-entities/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"bpnLs":["string"],"legalName":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns legal entities by different search parameters","description":{"content":"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.","type":"text/plain"},"url":{"path":["v6","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -102,7 +102,7 @@ Region within a country The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway -
                alternativePostalAddress object
                +
                alternativePostalAddress object
                An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. @@ -118,7 +118,7 @@ Named type uniquely identified by its technical key Region within a country -
                confidenceCriteria object
                +
                confidenceCriteria object
                On malformed request parameters or if number of requested bpns exceeds limit diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx similarity index 83% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx index 01de7381490..284a299cdd4 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1.api.mdx @@ -5,7 +5,7 @@ description: "postSiteSearch_1" sidebar_label: "postSiteSearch_1" hide_title: true hide_table_of_contents: true -api: {"tags":["Site Controller"],"operationId":"postSiteSearch_1","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":{"required":["legalEntityBpns","siteBpns"],"type":"object","properties":{"siteBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}}},"description":"postSiteSearch_1","method":"post","path":"/v6/members/sites/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"siteBpns":["string"],"legalEntityBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"post Site Search 1","description":{"type":"text/plain"},"url":{"path":["v6","members","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Site Controller"],"operationId":"postSiteSearch_1","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":{"required":["legalEntityBpns","siteBpns"],"type":"object","properties":{"siteBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}}},"description":"postSiteSearch_1","method":"post","path":"/v6/members/sites/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"siteBpns":["string"],"legalEntityBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"post Site Search 1","description":{"type":"text/plain"},"url":{"path":["v6","members","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -82,7 +82,7 @@ Region within a country The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway -
                alternativePostalAddress object
                +
                alternativePostalAddress object
                An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. @@ -98,5 +98,5 @@ Named type uniquely identified by its technical key Region within a country -
                confidenceCriteria object
                +
                confidenceCriteria object
                \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx similarity index 82% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx index aabfe790b34..337b9d9171c 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/post-site-search.api.mdx @@ -5,7 +5,7 @@ description: "Search business partners of type site by their BPNSs or by the BPN sidebar_label: "Returns sites by an array of BPNS and/or an array of corresponding BPNL" hide_title: true hide_table_of_contents: true -api: {"tags":["Site Controller"],"description":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","operationId":"postSiteSearch","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":{"required":["legalEntityBpns","siteBpns"],"type":"object","properties":{"siteBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found sites that belong to specified legal entites","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"post","path":"/v6/sites/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"siteBpns":["string"],"legalEntityBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns sites by an array of BPNS and/or an array of corresponding BPNL","description":{"content":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","type":"text/plain"},"url":{"path":["v6","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Site Controller"],"description":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","operationId":"postSiteSearch","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":{"required":["legalEntityBpns","siteBpns"],"type":"object","properties":{"siteBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found sites that belong to specified legal entites","content":{"application/json":{"schema":{"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":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed request parameters"}},"method":"post","path":"/v6/sites/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"siteBpns":["string"],"legalEntityBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns sites by an array of BPNS and/or an array of corresponding BPNL","description":{"content":"Search business partners of type site by their BPNSs or by the BPNLs of their parent legal entities","type":"text/plain"},"url":{"path":["v6","sites","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -82,7 +82,7 @@ Region within a country The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway -
                alternativePostalAddress object
                +
                alternativePostalAddress object
                An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. @@ -98,7 +98,7 @@ Named type uniquely identified by its technical key Region within a country -
                confidenceCriteria object
                +
                confidenceCriteria object
                On malformed request parameters diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx similarity index 82% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx index 0120b89f14e..1e3d158e146 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1.api.mdx @@ -5,7 +5,7 @@ description: "Search business partners of type address by their BPNA or their pa sidebar_label: "Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL." hide_title: true hide_table_of_contents: true -api: {"tags":["Address Controller"],"description":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","operationId":"searchAddresses_1","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":{"required":["addressBpns","legalEntityBpns","siteBpns"],"type":"object","properties":{"addressBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"siteBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found sites for the specified sites and legal entities","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"addressBpns":["string"],"legalEntityBpns":["string"],"siteBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL.","description":{"content":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","type":"text/plain"},"url":{"path":["v6","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Address Controller"],"description":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","operationId":"searchAddresses_1","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":{"required":["addressBpns","legalEntityBpns","siteBpns"],"type":"object","properties":{"addressBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"siteBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Found sites for the specified sites and legal entities","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}},"400":{"description":"On malformed pagination request"}},"method":"post","path":"/v6/addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"addressBpns":["string"],"legalEntityBpns":["string"],"siteBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL.","description":{"content":"Search business partners of type address by their BPNA or their parents' BPNL or BPNS.","type":"text/plain"},"url":{"path":["v6","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -70,7 +70,7 @@ Region within a country The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway -
                alternativePostalAddress object
                +
                alternativePostalAddress object
                An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. @@ -86,7 +86,7 @@ Named type uniquely identified by its technical key Region within a country -
                confidenceCriteria object
                +
                confidenceCriteria object
                On malformed pagination request diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx new file mode 100644 index 00000000000..cdc37f2b8b8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-addresses.api.mdx @@ -0,0 +1,90 @@ +--- +id: search-addresses +title: "searchAddresses" +description: "searchAddresses" +sidebar_label: "searchAddresses" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Address Controller"],"operationId":"searchAddresses","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":{"required":["addressBpns","legalEntityBpns","siteBpns"],"type":"object","properties":{"addressBpns":{"type":"array","items":{"type":"string"}},"legalEntityBpns":{"type":"array","items":{"type":"string"}},"siteBpns":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}}},"description":"Paginated collection of results"}}}}},"description":"searchAddresses","method":"post","path":"/v6/members/addresses/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"addressBpns":["string"],"legalEntityBpns":["string"],"siteBpns":["string"],"name":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"search Addresses","description":{"type":"text/plain"},"url":{"path":["v6","members","addresses","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## searchAddresses + + + +searchAddresses + +
                Query Parameters
                Request Body required
                + +OK + +
                Schema
                  content object[]
                  + +Collection of results in the page + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx similarity index 98% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx index 5289106fcd9..bf14ee6481d 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries.api.mdx @@ -5,7 +5,7 @@ description: "searchChangelogEntries" sidebar_label: "searchChangelogEntries" hide_title: true hide_table_of_contents: true -api: {"tags":["Changelog Controller"],"operationId":"searchChangelogEntries","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"bpns":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of BPNL/S/A. 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"]}}},"description":"Request for searching and filtering the business partner changelog"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpn","businessPartnerType","changelogType","timestamp"],"type":"object","properties":{"bpn":{"type":"string","description":"The business partner number for which the changelog entry was created. Can be either a BPNL, BPNS or BPNA."},"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}}},"description":"Paginated collection of results"}}}}},"description":"searchChangelogEntries","method":"post","path":"/v6/members/changelog/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","bpns":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"search Changelog Entries","description":{"type":"text/plain"},"url":{"path":["v6","members","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Changelog Controller"],"operationId":"searchChangelogEntries","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":"object","properties":{"timestampAfter":{"type":"string","description":"Only changelog entries created after this time. Ignored if empty.","format":"date-time","example":"2023-03-20T10:23:28.194Z"},"bpns":{"uniqueItems":true,"type":"array","description":"Only for business partners with the given array of BPNL/S/A. 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"]}}},"description":"Request for searching and filtering the business partner changelog"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpn","businessPartnerType","changelogType","timestamp"],"type":"object","properties":{"bpn":{"type":"string","description":"The business partner number for which the changelog entry was created. Can be either a BPNL, BPNS or BPNA."},"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.","format":"date-time"},"changelogType":{"type":"string","description":"One of the actions for which the changelog entry was created: create, update.","enum":["CREATE","UPDATE"]}},"description":"An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included."}}},"description":"Paginated collection of results"}}}}},"description":"searchChangelogEntries","method":"post","path":"/v6/members/changelog/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"timestampAfter":"2023-03-20T10:23:28.194Z","bpns":["string"],"businessPartnerTypes":["LEGAL_ENTITY"]},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"search Changelog Entries","description":{"type":"text/plain"},"url":{"path":["v6","members","changelog","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -34,5 +34,5 @@ OK Collection of results in the page -
                + \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx similarity index 84% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx index b4ee34ff2ce..13c01b75143 100644 --- a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities.api.mdx @@ -5,7 +5,7 @@ description: "searchLegalEntities" sidebar_label: "searchLegalEntities" hide_title: true hide_table_of_contents: true -api: {"tags":["Legal Entity Controller"],"operationId":"searchLegalEntities","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":{"required":["bpnLs"],"type":"object","properties":{"bpnLs":{"type":"array","items":{"type":"string"}},"legalName":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}}},"description":"searchLegalEntities","method":"post","path":"/v6/members/legal-entities/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"bpnLs":["string"],"legalName":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.0.0"},"postman":{"name":"search Legal Entities","description":{"type":"text/plain"},"url":{"path":["v6","members","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +api: {"tags":["Legal Entity Controller"],"operationId":"searchLegalEntities","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":{"required":["bpnLs"],"type":"object","properties":{"bpnLs":{"type":"array","items":{"type":"string"}},"legalName":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"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":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"description":"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."}}},"description":"Paginated collection of results"}}}}},"description":"searchLegalEntities","method":"post","path":"/v6/members/legal-entities/search","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":{"bpnLs":["string"],"legalName":"string"},"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"search Legal Entities","description":{"type":"text/plain"},"url":{"path":["v6","members","legal-entities","search"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Number of page to get results from","type":"text/plain"},"key":"page","value":""},{"disabled":false,"description":{"content":"Size of each page","type":"text/plain"},"key":"size","value":""}],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "post api-method" info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool custom_edit_url: null @@ -102,7 +102,7 @@ Region within a country The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway -
                alternativePostalAddress object
                +
                alternativePostalAddress object
                An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. @@ -118,5 +118,5 @@ Named type uniquely identified by its technical key Region within a country -
                confidenceCriteria object
                +
                confidenceCriteria object
                \ No newline at end of file diff --git a/docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js similarity index 100% rename from docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx new file mode 100644 index 00000000000..0141107d180 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-addresses.api.mdx @@ -0,0 +1,118 @@ +--- +id: update-addresses +title: "Updates an existing address" +description: "Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change." +sidebar_label: "Updates an existing address" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Address Controller"],"description":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateAddresses","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpna","confidenceCriteria","identifiers","physicalPostalAddress","requestKey","states"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"The successfully updated records, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"AddressUpdateError","enum":["AddressNotFound","RegionNotFound","IdentifierNotFound","AddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/addresses","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpna":"string","name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Updates an existing address","description":{"content":"Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","addresses"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "put api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Updates an existing address + + + +Update existing business partner records of type address referenced via BPNA. The endpoint expects to receive the full updated record, including values that didn't change. + +
                Request Body array required
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                + +The successfully updated records, possible errors are returned + +
                Schema
                  entities object[]
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx new file mode 100644 index 00000000000..bfaafa9a24d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners.api.mdx @@ -0,0 +1,162 @@ +--- +id: update-business-partners +title: "Updates an existing legal entity" +description: "Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change." +sidebar_label: "Updates an existing legal entity" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Legal Entity Controller"],"description":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateBusinessPartners","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpnl","confidenceCriteria","identifiers","isCatenaXMemberData","legalAddress","legalName","requestKey","states"],"type":"object","properties":{"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":{"type":"string","description":"The legal form of the legal entity."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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"]}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"isCatenaXMemberData":{"type":"boolean","description":"Indicates whether the legal entity is owned and thus provided by a Catena-X Member."},"legalAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update legal entities request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnl","confidenceCriteria","createdAt","currentness","identifiers","isCatenaXMemberData","legalAddress","legalName","relations","states","updatedAt"],"type":"object","properties":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"The technical identifier of the legal form according to ISO 20275."},"name":{"type":"string","description":"The name of legal form according to ISO 20275."},"abbreviation":{"type":"string","description":"The abbreviated name of the legal form, such as AG for German Aktiengesellschaft."}},"description":"A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities."},"identifiers":{"type":"array","description":"The list of identifiers of the legal entity.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"DE123465789\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"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."}},"description":"A legal entity identifier (uniquely) identifies the legal entity, such as the German Handelsregisternummer, a VAT number, etc."}},"states":{"type":"array","description":"The list of (temporary) states of the legal entity.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A legal entity state indicates if the legal entity is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the legal entity is still operating."}},"relations":{"type":"array","description":"Relations to other business partners.","items":{"required":["endBpnl","startBpnl","type"],"type":"object","properties":{"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["CX_LEGAL_SUCCESSOR_OF","CX_LEGAL_PREDECESSOR_OF"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"startBpnl":{"type":"string","description":"BPN of partner which is the source of the relation"},"endBpnl":{"type":"string","description":"BPN of partner which is the target of the relation"},"validFrom":{"type":"string","description":"Time when the relation started","format":"date-time"},"validTo":{"type":"string","description":"Time when the relation ended","format":"date-time"}},"description":"Directed relation between two business partners"}},"currentness":{"type":"string","description":"The date the business partner data was last indicated to be still current.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"legalAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"LegalEntityUpdateError","enum":["LegalEntityNotFound","LegalEntityDuplicateIdentifier","LegalFormNotFound","LegalEntityIdentifierNotFound","LegalAddressRegionNotFound","LegalAddressIdentifierNotFound","LegalAddressDuplicateIdentifier","LegalEntityErrorMapping"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/legal-entities","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpnl":"string","legalName":"string","legalShortName":"string","legalForm":"string","identifiers":[{"value":"string","type":"string","issuingBody":"string"}],"states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"isCatenaXMemberData":true,"legalAddress":{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0}},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Updates an existing legal entity","description":{"content":"Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","legal-entities"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "put api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Updates an existing legal entity + + + +Update existing business partner records of type legal entity referenced via BPNL. The endpoint expects to receive the full updated record, including values that didn't change. + +
                Request Body array required
                  identifiers object[] required
                  + +The list of identifiers of the legal entity. + +
                  states object[] required
                  + +The list of (temporary) states of the legal entity. + +
                  confidenceCriteria object required
                  legalAddress object required
                  + +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. + +
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                + +Update legal entities request was processed successfully, possible errors are returned + +
                Schema
                  entities object[]
                  legalForm object
                  + +A legal form is a mandatory corporate legal framework by which companies can conduct business, charitable or other permissible activities. + +
                  identifiers object[]
                  + +The list of identifiers of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  states object[]
                  + +The list of (temporary) states of the legal entity. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  relations object[]
                  + +Relations to other business partners. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  legalAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx new file mode 100644 index 00000000000..63a74eb995c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/Pool Api/update-site.api.mdx @@ -0,0 +1,138 @@ +--- +id: update-site +title: "Updates an existing site" +description: "Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change." +sidebar_label: "Updates an existing site" +hide_title: true +hide_table_of_contents: true +api: {"tags":["Site Controller"],"description":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","operationId":"updateSite","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"required":["bpns","confidenceCriteria","mainAddress","name","requestKey","states"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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"]}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"mainAddress":{"required":["confidenceCriteria","identifiers","physicalPostalAddress","states"],"type":"object","properties":{"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":{"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"]}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"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."}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}}},"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."},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"requestKey":{"type":"string"}},"description":"Request for updating 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."}}}},"required":true},"responses":{"200":{"description":"Update sites request was processed successfully, possible errors are returned","content":{"application/json":{"schema":{"required":["entities","entityCount","errorCount","errors"],"type":"object","properties":{"entities":{"type":"array","items":{"required":["bpnLegalEntity","bpns","confidenceCriteria","createdAt","isCatenaXMemberData","mainAddress","name","states","updatedAt"],"type":"object","properties":{"bpns":{"type":"string","description":"A BPNS represents and uniquely identifies a site, which is where for example a production plant, a warehouse, or an office building is located."},"name":{"type":"string","description":"The name of the site. This is not according to official registers but according to the name the owner chooses."},"states":{"type":"array","description":"The list of the (temporary) states of the site.","items":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"A site state indicates if the site is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the site is still operating."}},"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."},"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"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"mainAddress":{"required":["bpna","confidenceCriteria","createdAt","identifiers","isCatenaXMemberData","physicalPostalAddress","states","updatedAt"],"type":"object","properties":{"bpna":{"type":"string","description":"A BPNA represents and uniquely identifies an address, which can be 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). It is important to note that only the BPNL must be used to uniquely identify a legal entity. Even in the case that the BPNA represents the legal address of the legal entity, it shall not be used to uniquely identify the legal entity."},"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":{"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":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","enum":["ACTIVE","INACTIVE"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address state indicates if the address is active or inactive. This does not describe the relation between a sharing member and a business partner and whether they have active business, but it describes whether the business partner is still operating at that address."}},"identifiers":{"type":"array","description":"The list of identifiers of the address.","items":{"required":["type","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the identifier like \"0847976000005\"."},"type":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference"},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"}},"description":"An address identifier (uniquely) identifies the address, such as the Global Location Number (GLN)."}},"physicalPostalAddress":{"required":["city","country"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":{"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."}},"description":"The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway"},"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."},"taxJurisdictionCode":{"type":"string","description":"Tax jurisdiction codes are used to identify the specific jurisdiction(s) that a company belong to, particularly in bureaucratic processes such as tax returns and IRS forms."}},"description":"A physical postal address describes the physical location of an office, warehouse, gate, etc."},"alternativePostalAddress":{"required":["city","country","deliveryServiceNumber","deliveryServiceType"],"type":"object","properties":{"geographicCoordinates":{"required":["latitude","longitude"],"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."},"country":{"required":["name","technicalKey"],"type":"object","properties":{"technicalKey":{"type":"string","description":"Unique key of this type for reference","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"]},"name":{"type":"string","description":"Name or denotation of this type"}},"description":"Named type uniquely identified by its technical key"},"administrativeAreaLevel1":{"required":["countryCode","regionCode","regionName"],"type":"object","properties":{"countryCode":{"type":"string","description":"Country code","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"]},"regionCode":{"type":"string","description":"Abbreviation or shorthand of the area"},"regionName":{"type":"string","description":"Describes the full name of the region within a country according to ISO 3166-214"}},"description":"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":"An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else."},"bpnLegalEntity":{"type":"string","description":"The BPNL of the legal entity owning the address."},"bpnSite":{"type":"string","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.","format":"date-time"},"updatedAt":{"type":"string","description":"The date when the data record has been last updated.","format":"date-time"},"confidenceCriteria":{"required":["checkedByExternalDataSource","confidenceLevel","lastConfidenceCheckAt","nextConfidenceCheckAt","numberOfSharingMembers","sharedByOwner"],"type":"object","properties":{"sharedByOwner":{"type":"boolean"},"checkedByExternalDataSource":{"type":"boolean"},"numberOfSharingMembers":{"type":"integer","format":"int32"},"lastConfidenceCheckAt":{"type":"string","format":"date-time"},"nextConfidenceCheckAt":{"type":"string","format":"date-time"},"confidenceLevel":{"type":"integer","format":"int32"}}},"addressType":{"type":"string","description":"Indicates the address type, the legal address to a legal entity or the main address to a site, an additional address, or both legal and site address.The site main address is where typically the main entrance or the reception is located, or where the mail is delivered to.","enum":["LegalAndSiteMainAddress","LegalAddress","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."},"index":{"type":"string","description":"User defined index to conveniently match this entry to the corresponding entry in the response."}},"description":"Created/updated business partner 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."}},"errors":{"type":"array","items":{"title":"ErrorInfo","required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string","description":"SiteUpdateError","enum":["SiteNotFound","MainAddressIdentifierNotFound","MainAddressRegionNotFound","MainAddressDuplicateIdentifier"]},"message":{"type":"string","description":"Error message that explains the error"},"entityKey":{"type":"string","description":"Key of the entity that failed from the request object: index or BPN"}},"description":"Holds information about failures when creating or updating an entity"}},"errorCount":{"type":"integer","format":"int32"},"entityCount":{"type":"integer","format":"int32"}},"description":"Holds information about successfully and failed entities after the creating/updating of several objects"}}}},"400":{"description":"On malformed requests"}},"method":"put","path":"/v6/sites","servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"jsonRequestBodyExample":[{"bpns":"string","name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"mainAddress":{"name":"string","states":[{"validFrom":"2024-07-15","validTo":"2024-07-15","type":"ACTIVE"}],"identifiers":[{"value":"string","type":"string"}],"physicalPostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","administrativeAreaLevel2":"string","administrativeAreaLevel3":"string","postalCode":"string","city":"string","district":"string","street":{"name":"string","houseNumber":"string","houseNumberSupplement":"string","milestone":"string","direction":"string","namePrefix":"string","additionalNamePrefix":"string","nameSuffix":"string","additionalNameSuffix":"string"},"companyPostalCode":"string","industrialZone":"string","building":"string","floor":"string","door":"string","taxJurisdictionCode":"string"},"alternativePostalAddress":{"geographicCoordinates":{"longitude":0,"latitude":0,"altitude":0},"country":"UNDEFINED","administrativeAreaLevel1":"string","postalCode":"string","city":"string","deliveryServiceType":"PO_BOX","deliveryServiceQualifier":"string","deliveryServiceNumber":"string"},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0}},"confidenceCriteria":{"sharedByOwner":true,"checkedByExternalDataSource":true,"numberOfSharingMembers":0,"lastConfidenceCheckAt":"2024-07-15","nextConfidenceCheckAt":"2024-07-15","confidenceLevel":0},"requestKey":"string"}],"info":{"title":"Business Partner Data Management Pool","description":"Service that manages and shares business partner data with other CatenaX services","version":"6.1.0"},"postman":{"name":"Updates an existing site","description":{"content":"Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change.","type":"text/plain"},"url":{"path":["v6","sites"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "put api-method" +info_path: docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Updates an existing site + + + +Update existing business partner records of type site referenced via BPNS. The endpoint expects to receive the full updated record, including values that didn't change. + +
                Request Body array required
                  states object[] required
                  + +The list of the (temporary) states of the site. + +
                  mainAddress object required
                  + +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. + +
                  states object[] required
                  + +The list of (temporary) states of the address. + +
                  identifiers object[] required
                  + +The list of identifiers of the address. + +
                  physicalPostalAddress object required
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  confidenceCriteria object required
                  confidenceCriteria object required
                + +Update sites request was processed successfully, possible errors are returned + +
                Schema
                  entities object[]
                  states object[]
                  + +The list of the (temporary) states of the site. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  confidenceCriteria object
                  mainAddress object
                  + +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. + +
                  states object[]
                  + +The list of (temporary) states of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  identifiers object[]
                  + +The list of identifiers of the address. + +
                  type object
                  + +Named type uniquely identified by its technical key + +
                  physicalPostalAddress object
                  + +A physical postal address describes the physical location of an office, warehouse, gate, etc. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  street object
                  + +The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway + +
                  alternativePostalAddress object
                  + +An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. + +
                  geographicCoordinates object
                  + +The exact location of the physical postal address in latitude, longitude, and altitude. + +
                  country object
                  + +Named type uniquely identified by its technical key + +
                  administrativeAreaLevel1 object
                  + +Region within a country + +
                  confidenceCriteria object
                  errors object[]
                + +On malformed requests + +
                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Behaviour Twin RuL Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..3d9356fe95e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,17 @@ +--- +id: Specification +title: Specification +description: '' +sidebar_position: 1 +--- + +![Business partner kit banner](/img/kit-icons/bp-kit-icon.svg) + +### Business Partner KIT + +## API Reference + +The BPDM is comprised of two primary services: BPDM Pool and BPDM Gate. The Swagger UI interface, which is an interactive tool for exploring and testing RESTful APIs. Swagger UI provides a user-friendly interface for interacting with APIs, allowing you to make requests, view responses, and explore different API endpoints and operations, allowing you to drill down into specific endpoints and view the associated request parameters, response schemas, and sample responses. + +The Business Partner Data Management includes the services that manages and shares business partner data with other Catena-X services. In the following sections, the available methods and different controllers of the API are explained. +More Information to the open-source repository can be found on [GitHub](https://github.com/eclipse-tractusx/bpdm) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/page_use-cases.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/page_use-cases.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/page_use-cases.md rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Software Development View/page_use-cases.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Success Stories/page_country-risk.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Success Stories/page_country-risk.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Success Stories/page_country-risk.md rename to docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/Success Stories/page_country-risk.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_adoption-view.md new file mode 100644 index 00000000000..3cf9877b04a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_adoption-view.md @@ -0,0 +1,96 @@ +--- +id: Adoption View +title: Adoption View +description: 'Business Partner Kit' +sidebar_position: 2 +--- + +![Business partner kit banner](/img/kit-icons/bp-kit-icon.svg) + +## Business Partner KIT + +**Unique business partner data sets for the whole data space.** + +## Vision & Mission + +**Basis for the integration of value-adding services in the area of business partner data management.** + +The BusinessPartner Kit provides high-quality data records of business partners called golden record including a unique identifier and the business partner number (BPN). The BPN provides a standardized and unique identifier on legal entity, site and address level. The connected backend service removes duplicate data, adds missing information, and improves data quality from different data sources so-called sharing member. + +- **Legal Entity Level (BPN L)**: Search for a legal entity and get the high-quality data set. +- **Site Level (BPN S)**: Get the site information of a legal entity. A legal entity can have one or more sites. +- **Address Level (BPN A)**: Each legal entity and site has an address to find the company. + +**The Kit provides a homogeneous semantic with an open data model, enables the access to high quality data and provides one access point to the business partner data sets.** +
                + +![BuildApps](@site/static/img/BPKITBuildApps.png) + +## Business Value + +**One open data model** +Application and service providers reduce investments to integrate due to one data model / API specification and open interface. The pool API enables the integration and offering of value-added services and innovation based on high-quality master data. + +**Access to new market potentials** +Potential to scale customer group and access new market potentials via Catena-X marketplace and shared service network. The BP Kit enables an interoperable foundation for value-added services. + +**The unique identifier** +BPN is the unique number to identify and find partners in the Catena-X network. It will also provide high quality data sets from business partners, their legal unit, sites and addresses. + +**The industry’s largest golden record collection** +as a shared and cost-optimized service (quality tested by the biggest players). + +--- +
                + +## Use Case + +**Status Quo** +**Todays challenge for automotive companies** + +Most of today’s automotive companies have to invest a significant amount of resources to keep their individual partner master data updated and correct, since outdated or incorrect data records result in federal fines and wrong claims / billing processes. The industry spends a vast amount into an area that is non differentiating, regulated and executed redundantly across the partners. + +For this, cutting individual company costs by offering the golden master data record as a shared service is the mission. And proactively reduce Business Partner risk via collaborative value-add services. +More insights to the business partner data management use case here: [Catena-X | Business Partner Use Case](https://catena-x.net/en/offers-standards/bpdm) + +This will become the industry’s largest golden record collection as a shared and cost-optimized service (quality tested by the biggest players). + +OEMs and small-medium enterprises: + +- Reduce today’s individual investments in master data management +- Re-allocate freed-up resources to differentiating / critical tasks +- Time to value within 6 months, due to standard interfaces and mapping tools (e.g. SAP) +- Increase data quality and use industry collective wisdom to act pro-actively (e.g. fraud alerts) + +Solution Provider: + +- Reduce investments to integrate due to one Data Model and open interface. +- The Kit enables the offering of value-add services and innovation based on golden record and collective wisdom. +- Potential to scale customer group and access new market potentials via marketplace and shared service network. + +## Standards + +The standards for release 3.2 will be published soon. +Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- Business Partner Number (Version 2.0.0) + +- Business Partner Pool API (Version 2.0.0) + +- Business Partner Gate API (Version 2.0.0) + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 Schaeffler AG +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/bpdm](https://github.com/eclipse-tractusx/bpdm) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_changelog.md new file mode 100644 index 00000000000..e719dc3086c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_changelog.md @@ -0,0 +1,114 @@ +--- +id: Changelog +title: Changelog +description: 'Business Partner Kit' +sidebar_position: 1 +--- + +![Business partner kit banner](/img/kit-icons/bp-kit-icon.svg) + +### Business Partner KIT + +All notable changes to this Kit will be documented in this file. + +## [6.0.0] - 2024-07-16 + +### Added + +- BPDM Gate api endpoint: Post endpoint to upload business partner input data using csv file. +- BPDM Gate api endpoint: GET endpoint to download the csv file template for business partner upload. +- BPDM Apps: New attribute Tax Jurisdiction Code to the physical address of a business partner +- BPDM Orchestrator: New attribute Record Id to tasks. Now tasks come with a gate record identifier. + +### Changed + +- Documentation of gate service with new endpoints +- Documentation of orchestrator service with updated endpoints +- Documentation of pool service with updated endpoints for newly added attributes. + +### Removed + +- Documentation of BPDM Bridge Dummy service. + +## [5.0.0] - 2024-05-15 + +### Added + +- ./. + +### Changed + +- Changed banner image file location and converted .png image to .svg +- Updated changes in Gate, Pool and Orchestrator Open API documents. +- Updated development view + +### Removed + +- ./. + +## [4.0.0] - 2024-02-22 + +### Added + +- documentation of bpdm architecture (arc42) +- documentation for sharing-state api endpoints on bpdm gate + +### Changed + +- documentation of gate service with new endpoints for creating and querying generic business partners +- documentation of pool service with updated endpoints for creating and querying business partners +- documentation of orchestrator service with updated endpoints +- documentation of new version for bridge service + +### Removed + +- documentation of old endpoints in software development view for gate and pool servicce + +## [3.0.0] -2023-11-02 + +### Added + +- documentation for orchestrator and cleaning dummy service in software development view +- documentation of new services with installation steps in operation view +- documentation of bpdm architecture (arc42) + +### Changed + +- documentation of gate service with new endpoints for creating and querying generic business partners +- documentation of operation view for local deployment + +### Removed + +- documentation of old endpoints in software development view for gate and pool servicce + +## [2.0.0] - 2023-08-25 + +### Added + +- documentation of the software development view including the business partner data management for Gate and Bridge-Dummy API +- documentation of bpdm architecture (arc42) +- documentation versions based on Catena-X release + +### Changed + +- documentation of the operations view with an installation guide for all services + +### Removed + +- documentation of api references, troubleshooting and best practices + +## [1.0.0] - 2023-03-01 + +### Added + +- documentation of the software development view including the business partner data management POOL API +- documentation of adoption view +- documentation of the operations view with an installation guide for the POOL API + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_software-operation-view.md new file mode 100644 index 00000000000..0b00e90a5a9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Business Partner Kit/page_software-operation-view.md @@ -0,0 +1,214 @@ +--- +id: Operation View +title: Operation View +description: 'Business Partner Kit' +sidebar_position: 3 +--- + +![Business partner kit banner](/img/kit-icons/bp-kit-icon.svg) + +### Business Partner KIT + +## Local Deployment + +BPDM is an acronym for business partner data management. This project provides core services for querying, adding and changing business partner base information in the Eclipse Tractus-X landscape. BPDM project is SpringBoot Kotlin software project managed by Maven and consists of three microservices. This section contains information on how to configure and run the BPDM application. + +This local deployment is an easy installation with helm charts. This setup is built to run on a kubernetes cluster. +Installation of BPDM applications with the Helm Charts has the most software requirements but is the qickest way to set up a running system. If you want to do local deployment without helm chart then you can refer [installation steps](https://github.com/eclipse-tractusx/bpdm/blob/main/INSTALL.md#local-installation) from [INSTALL.md](https://github.com/eclipse-tractusx/bpdm/blob/main/INSTALL.md) file on bpdm repository. Which will guide you about prerequisites, default installation steps and also guide you for quick installation steps in which security is not necessary by using the provided `no-auth` profile when running the BPDM applications. + +| Step | Action | Description | +|----------------------------------------------------------------------------------|-------------------------------------|-------------------------------------------------------------------------| +|![arrow down](@site/static/img/arrow_down.png)| **[Install the prerequisites](#step-1-prerequisites)**| Install all necessary tools for this setup | +|![vector](@site/static/img/vector.png) | **[Check out the Code](#step-2-check-out-the-code)** | Get all necessary code to deploy the service and dependencies to the kuberneetes cluster| +|![check](@site/static/img/check.png) | **[Installing the Service](#step-3-installing-the-services)**|Start cluster and interact with Services | + +### Step 1: Prerequisites + +1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of memory +2. [helm](https://helm.sh/docs/intro/install/) is installed +3. [Minikube](https://minikube.sigs.k8s.io/docs/start/) is installed and running. + You can also use any other local Kubernetes cluster, this guide is just using Minikube as a reference. + + ```bash + minikube start --memory 8192 --cpus 2 + ``` + + _Optional_: enable minikube metrics + + ```bash + minikube addons enable metrics-server + ``` + +4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed +5. [psql](https://www.compose.com/articles/postgresql-tips-installing-the-postgresql-client/) client is installed + +### Step 2: Check out the code + +Check out the project [BPDM](https://github.com/eclipse-tractusx/bpdm) or download a [released version](https://github.com/eclipse-tractusx/bpdm/releases) of the project. + +### Step 3: Installing the services + +#### 1.0 Start the cluster + +To deploy the services on kubernetes using helm charts, run + +```bash +cd local/bpdm +helm install your_namespace ./charts/bpdm/ +``` + +If postgresql is not available in your cluster then you might get following error. + +```bash +Error: INSTALLATION FAILED: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: opensearch, postgresql +``` + +You can resolve it by adding dependancy to the build + +```bash +helm dependency build ./charts/bpdm/ +``` + +This can take up to **5 minutes**. + +When the deployment is finished you can expect that 4 deployments can be seen in the minikube dashboard: + +* bpdm-gate +* bpdm-pool +* bpdm-cleaning-dummy +* bpdm-orchestrator +* bpdm-keycloak +* bpdm-postgres + +Also in total 6 Pods are up and running. + +#### 1.1 Get the status of the deployment + +The minikube dashboard will give you feedback on how the status of the deployment currently is: + +```bash + minikube dashboard +``` + +Make sure you select the namespace **your_namespace** + +#### 1.2 Forward ports + +When the deployment has been finished, you can for port forwarding using k9s. Also, if k9s tool is not installed the you can use [installer](https://k9scli.io/topics/install/) + +```bash + +``` + +or port forwarding can also be achived kubernetes command + +```bash +kubectl port-forward : +``` + +After that you can access the: + +* **bpdm-gate:** [http://localhost:8081](http://localhost:8081) +* **bpdm-pool:** [http://localhost:8080](http://localhost:8080) + +This will install the BPDM applications with its own Postgres and Keycloak in default values. +Please keep in mind that these steps will also install the applications with default passwords. + +### Step 4: Override Default Secrets + +It is good practice to overwrite the default secrets and passwords that are used in the BPDM Charts. +For this, you can first define a bunch of environment variables holding new secret values and use them later during deployment: + +```bash +helm install your_namespace \ + --set-value postgres.auth.password=$BPDM_POSTGRES \ + --set-value keycloak.auth.adminPassword=$BPDM_KEYCLOAK_ADMIN \ + --set-value keycloak.bpdm.realm.clientSecrets.cleaningDummyOrchestrator=$BPDM_DUMMY_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.poolOrchestrator=$BPDM_POOL_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.gateOrchestrator=$BPDM_GATE_ORCH_CLIENT_SECRET \ + --set-value keycloak.bpdm.realm.clientSecrets.gatePool=$BPDM_GATE_POOL_CLIENT_SECRET \ + --set-value bpdm-gate.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_GATE_ORCH_CLIENT_SECRET \ + --set-value bpdm-gate.applicationSecrets.bpdm.client.pool.registration=$BPDM_GATE_POOL_CLIENT_SECRET \ + --set-value bpdm-pool.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_POOL_ORCH_CLIENT_SECRET \ + --set-value bpdm-cleaning-service-dummy.applicationSecrets.bpdm.client.orchestrator.registration=$BPDM_DUMMY_ORCH_CLIENT_SECRET\ + ./charts/bpdm +``` + +### Step 5: Installation without authentication + +For non-production purposes you may want to install BPDM applications that are not authenticated. +All BPDM applications offer a Spring profile to quickly remove all authentication configuration for their APIs and client connections. +In this case you can also disable the Keycloak dependency from being deployed. + +```bash +helm install your_namespace \ + --set-value keycloak.enabled=false + --set-value bpdm-gate.profiles=["no-auth"] \ + --set-value bpdm-orchestrator.profiles=["no-auth"] \ + --set-value bpdm-pool.profiles=["no-auth"] \ + --set-value bpdm-cleaning-service-dummy.profiles=["no-auth"] + ./charts/bpdm +``` + +You can also more fine-granulary remove authentication on APIs and BPDM client connections. +You can refer to the no-auth profile configurations (for example that of the [BPDM Gate(without authentication)](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-gate/src/main/resources/application-no-auth.yml)) as a documentation. + +### Use External Dependencies + +The BPDM Charts deploy their own PostgreSQL and Keycloak dependencies. +However, for production it is recommended to host dedicated Postgres and Keycloak instances with which the BPDM applications should connect to. + +#### Additional Requirements + +* Postgres (15.4.0 supported) +* Keycloak (22.0.3 supported) + +#### Installation + +In this case, you can disable the dependencies and configure the connection to external systems in the application configuration. + +```bash +helm install your_namespace \ + --set-value keycloak.enabled=false + --set-value postgres.enabled=false + --set-value bpdm-gate.applicationConfig.bpdm.datasource.host=external-db \ + --set-value bpdm-gate.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-pool.applicationConfig.bpdm.datasource.host=external-db \ + --set-value bpdm-pool.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-orchestrator.applicationConfig.bpdm.security.auth-server-url=http://external-keycloak \ + --set-value bpdm-cleaning-service-dummy.applicationConfig.bpdm.client.orchestrator.provider.issuer-uri= http://external-keycloak/realms/CX-Central \ + ./charts/bpdm +``` + +### Fine-granular Configuration + +You can configure all BPDM applications over Helm values more fine-granulary via the `applicationConfig` and `applicationSecrets`. +Values under these groups are directly injected as application properties in the deployed containers. + +As a reference of what can be changed have a look at the respective application properties files of each application: + +1. [BPDM Gate](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-gate/src/main/resources/application.yml) +2. [BPDM Pool](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-pool/src/main/resources/application.yml) +3. [BPDM Orchestrator](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-orchestrator/src/main/resources/application.yml) +4. [BPDM Cleaning Service Dummy](https://github.com/eclipse-tractusx/bpdm/blob/main/bpdm-cleaning-service-dummy/src/main/resources/application.yml) + +## Stopping the cluster + +1. stop minikube + + ```bash + minikube stop + ``` + +2. stop the processes used for port forwarding and minikube dashboard +3. shut down the Docker daemon + +## How to debug an application in the cluster + +If you want to connect your IDE to one of the applications in the cluster, you need to enable debug mode for that application by overriding the entrypoint (using the `command` and `args` fields in the deployment resource). How to do this depends on the application. For the BPDM, as it is based on Spring Boot and Kotlin, you would need to add this flag to the start command: + +```bash +-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 +``` + +Then you can forward the port 8000 for the BPDM deployment to your host machine and connect your IDE to that port. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-adoption-view.md new file mode 100644 index 00000000000..763c4c0aac7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-adoption-view.md @@ -0,0 +1,581 @@ +--- +title: Adoption View +--- + +![Circulairty Kit banner](/img/kit-icons/circularity-kit-icon.svg) + +## Circularity KIT + +### Vision & Mission + +#### Introduction + +The Circularity KIT shall empower stakeholders to transition towards a circular economy by providing frameworks, guidelines and best practices to enhance sustainability credentials, enable data-driven decision-making and foster collaboration and innovation in the automotive industry. + +Secondary material content, **material** accounting, dismantling services, the CE-Assistant, and the secondary marketplace are the five focus topics that form the Circularity KIT as of now. The offered content and artifacts address important use cases such as sustainable materials management, waste minimization and resource efficiency, that contribute to more sustainable and circular automotive value loops. + +The overarching goals of the Circularity KIT, therefore, are to: + +- Establish an understanding of requirements along circular value chains and how businesses can profit by implementing sustainable solutions. +- Offer standards and guidelines for industry stakeholders. +- Explain different circularity topics and provide tools to implement them. + +#### Vision + +Vision Catch Phrase: "Closing the Loop, by harnessing the power of Circularity" + +Context: Our vision is to create a future where resources are intelligently and efficiently utilized, enabling industries and communities to minimize waste, embrace R-strategies, and foster a circular economy that leads to a sustainable and prosperous world. + +The Circularity KIT serves as a practical set of tools, guidelines, and best practices designed to help stakeholders in the automotive industry to transition towards this vision. + +#### Mission + +In a world facing increasing environmental pressures and resource scarcity, transitioning to a circular economy is crucial. This approach ensures responsible resource management through R-strategies, secondary material quotas, material accounting, and optimized end-of-life processes. By closing the loop on material flows, we can reduce our environmental impact, drive innovation, and create economic opportunities that secure a sustainable future. + +The KIT entails a description of the overall business value, use case context, an introduction to the subtopics secondary material content, material accounting, dismantling services, CE-Assistant as well as a circularity glossary and is complemented by user journeys, business processes, calculation frameworks, interoperable data models and standards needed to adopt the Catena-X circularity focus topics. + +All described specifications in the KIT are based on Catena-X standards like Asset Administration Shell, SSI and a decentral Digital Twin Registry. They refer to other Catena-X KITs like the Traceability KIT to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. + +### Business Context + +The Circularity KIT provides business opportunities for service providers in various ways: + +1. **Unified Circular Economy Framework:** Service providers can leverage a comprehensive and standardized framework for implementing circular economy principles in the automotive industry. This unified approach simplifies integration and collaboration with other stakeholders, reducing investment costs and accelerating the development and deployment of innovative solutions. +2. **Access to New Market Opportunities:** The KIT enables service providers to tap into emerging market opportunities driven by the increasing demand for sustainable solutions. By offering tailored services on the Catena-X marketplace, service providers can scale their customer base, expand their reach, and unlock new revenue streams. +3. **Enhanced Sustainability Credentials:** By aligning with the principles of the Circularity KIT, service providers can demonstrate their commitment to sustainability and strengthen their reputation in the market. This commitment can lead to increased customer trust, better brand positioning, and a competitive advantage in the Catena-X network. +4. **Data-Driven Decision Making:** The Circularity KIT promotes data-driven decision making by offering access to material accounting data and insights into end-of-life processes within the automotive industry. Service providers can use this data to develop targeted solutions, optimize their offerings, and drive continuous improvement in their services. +5. **Collaboration and Innovation:** By using the Circularity KIT, service providers can actively participate in a network of automotive industry stakeholders committed to fostering a circular economy. This collaborative environment enables the exchange of ideas, knowledge, and best practices, driving innovation and enhancing the overall value of solutions offered in the Catena-X marketplace. + +#### Circularity KIT Wheel + +In its first version the KIT covers 5 focus topics along an automotive value loop. + +1. **Secondary Material Content:** promotes the use of secondary materials in the automotive industry by providing a standardized data model for data exchange and a calculation framework. +2. **Material Accounting:** provides standardized scrap/waste and secondary material data exchange for the ecosystem partners to create transparency about recycling activities and verifiable closed loops. +3. **EoL / Dismantling Services:** offers essential support for the digitalization and automation of the EoL phase to consequently close value loops. +4. **CE-Assistant (Circular Strategy Assistant):** is a decision support system that facilitates the selection of the optimal R-Strategy for end-of-life vehicles, with a focus on Reuse, Remanufacturing, Recycling, and Recovery, guided by a comprehensive technical and environmental assessment process. +5. **Secondary Marketplace:** buying and selling used components and secondary raw materials in order to create and open new opportunities for collaborating across the value chain and closing the loop on component and material level. + +##### Figure 1 + +![Circularity KIT Wheel](resources/adoption-view/circularity_kit_wheel.svg) + +### Use Case / Domain Explanation + +Status Quo / Today's challenge: The automotive industry is one of the largest consumers of raw materials, including metals, plastics, and textiles. Managing these materials sustainably and efficiently is a significant challenge, with an increasing focus on reducing waste, improving recyclability, and ensuring responsible sourcing. Traditional linear models of material consumption led to resource depletion, environmental degradation, and missed economic opportunities. + +Values for taking the challenge: By adopting the Circularity KIT and embracing circular economy principles, automotive companies can transition to sustainable materials management, improve resource efficiency, and contribute to a greener, more resilient industry. + +Benefits for OEMs, SMEs, and Solution Providers: + +1. **OEMs and large suppliers:** + - Minimize raw material consumption and waste generation by integrating R-strategies and secondary material quotas in their production processes. + - Enhance their brand image and reputation by adopting eco-friendly practices and demonstrating commitment to sustainability. + - Achieve regulatory compliance and meet customer expectations for environmentally responsible products. +2. **SMEs can:** + - Access cost-effective, high-quality secondary materials for their production processes, reducing dependency on non-renewable resources. + - Improve competitiveness by adopting innovative circular economy technologies and practices. + - Collaborate with other industry stakeholders to develop and implement sustainable solutions. +3. **Solution Providers can:** + - Develop and market innovative technologies, products, and services that support circular economy principles in the automotive industry. + - Access new market opportunities and scale their customer base through a circularity network and shared services. + - Leverage the collective wisdom of industry stakeholders to drive continuous improvement and innovation. + +### Informational Requirements at End of Life + +The regulatory movement and the industry trend towards circularity demand concerted action of all the industry participants addressing the R-strategies. Within the CE community of the Catena-x federation, two working groups with broad industry representation have been addressing the particular data requirements of the three R- strategies: Reuse, Remanufacturing and Recycle. + +The following whitepaper addresses the data parameters required to enable dismantlers to effectively support form-preserving R-strategies at the end-of-life stage, with a special focus on reuse and remanufacturing. By identifying the critical data elements for informed decision-making in the management of end-of-life vehicles, this paper aims to promote a more sustainable and economically viable approach to component utilization in the automotive industry: [Informational Requirements at Dismantling to enable form preserving R-Strategies](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_Reuse_Reman_Use_Case_WP_v1.pdf) + +Addressing the challenging task of closing the loop for materials from an end-of-life vehicle to a new car component of a modern vehicle, has been attempted within the recycling working group, initially focusing on a few promising components and materials, but with the clear perspective to extend to more materials and their data requirements in further iterations and subsequent refinement of data models. Status of the whitepaper and its addressed examples can be found here: [Data requirements for recycling of ELVs](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_Material_Recycling_WP_v1.pdf). + +## Material Accounting + +### Introduction + +#### Material Accounting: Enabling Transparency in the Circular Economy to Validate Material Loops + +In the dynamic landscape of modern industry, the pursuit of a circular economy has become increasingly vital. This transformative approach seeks to minimize waste and enhance resource efficiency by promoting the reuse, recycling and repurposing of materials throughout their entire lifecycle. However, the realization of a truly circular economy faces significant challenges, primarily stemming from the absence of standardized data exchange and communication among the diverse network of stakeholders involved in the process. + +Currently, there is a notable absence of a uniform data format or exchange mechanism for recycled materials within industrial processes and value chains. This lack of transparency presents a barrier to comprehending the flow of materials and recycled materials circulating within this ecosystem. Without a standardized approach, tracking the contributions of recycled materials, assessing their successful reintegration into the circular loop, and quantifying output volumes remain challenging tasks. + +The circular economy involves a complex interplay of various stakeholders, ranging from tier-n companies to original equipment manufacturers (OEMs), each employing unique methods for measuring inputs and outputs. The overarching objective of the material accounting feature in the Circularity KIT, therefore, is to make the circular economy visible and digitally verifiable across the automotive value chain. + +To realize this ambition, a standardized framework is imperative, one that facilitates the exchange of material data for both primary and secondary raw materials, including corresponding quantities and qualities, illuminating material flows across the entire value chain. + +The image below shows the big picture of a circular economy when material is tracked over its complete life cycle excluding the usage phase. + +##### Figure 2 + +![Overview Material flow](resources/adoption-view/overview_material_flow.svg) + +### Business Value + +From a business perspective, the material accounting KIT is characterized by the following attributes: + +1. **Standardized Data Exchange:** Facilitation of standardized data exchange regarding scrap, waste, and secondary materials among ecosystem partners. +2. **Verifiable Closed Loops:** The KIT enables the establishment of verifiable closed loops for material tracking. +3. **Increased Material Recycling:** The KIT promotes the recycling of materials within the same industry, increasing sustainability. +4. **Transparency:** It provides higher transparency regarding the availability of secondary materials. + +### Use Case / Domain Explanation + +#### Material Accounting in Catena-X + +Catena-X offers a decentral, sovereign, cross-organizational data exchange. For Material Accounting the following scenario could be addressed: Registering secondary materials as decentral digital twins in the Catena-X network based on material batches. + +The goal of the Material Accounting Feature inside the Catena-X consortium and association is to collaborate on exchanging standardized secondary material information across the upstream & downstream value in order to develop a standardized data model. To do so, we identified potential data points along a closed loop with OEM, recycler and supplier as stakeholders as seen in the picture below. Further feature content will follow in upcoming versions of the Circularity KIT. + +##### Figure 3 + +![Data Points along the Value Chain](resources/adoption-view/datapoints_along_valuechain.svg) + +## Secondary Material Content + +### Introduction + +_Introducing the Secondary Material Framework within the Circularity KIT by Catena-X: Enhancing Sustainability and Communication in the Automotive Value Chain._ + +In the pursuit of sustainability and resource efficiency, the automotive industry is continuously exploring innovative ways to incorporate secondary materials into its value chain. At the forefront of this endeavor is the secondary material framework, a pivotal component of Catena-X's Circularity KIT. + +Designed with a clear mission, this framework seeks to revolutionize the utilization of secondary materials throughout the automotive value chain, extending its impact to tier-n companies and OEMs alike. Through a multi-faceted approach, the secondary material framework not only optimizes accessibility to secondary material information but also advances collaboration and communication among diverse stakeholders within the industry. + +By facilitating seamless data exchange and introducing standardized calculation methodologies, this framework establishes a transparent foundation that harmonizes communication among stakeholders by employing consistent metrics. The decentralized nature of this data ecosystem empowers each actor to manage their own data and determine what can be shared with whom. + +The secondary material content chapter of the Circularity KIT explores how the secondary material framework contributes to heightened transparency, empowered data management, and streamlined communication, ultimately fostering a more sustainable and interconnected automotive ecosystem. + +### Business Context + +#### Use Case / Domain Explanation + +This user journey illustrates the data exchange process through Catena-X in the context of secondary material content. The user journey outlines the various stakeholders along the value chain and within the individual tiers and their involvement. + +##### Figure 4 + +![User Journey - SMC](resources/adoption-view/userJourney_smc.svg) + +The user journey follows the same process during all four lifecycle stages and differ in data quality as stated below. Further information to the lifecycle stages can be found in the [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Business%20View%20Traceability%20Kit/). + +| Lifecycle Stage | Explanation | Example | +| --------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| As Designed | Development phase: **Initial estimation** of secondary material content | The company that wishes to procure a component requires an initial estimate from the supplier regarding the elements of the SMC. | +| As Planned | Planning phase: **Concretization** of the secondary material content | The company chooses a supplier based on the proposals received and obtains more detailed information about the SMC as the supplier can plan the component with greater precision. | +| As Ordered | Ordering phase: Calculation of secondary material content on the **basis of supplied components** | The ordering phase occurs before the start of production, allowing for the calculation of the SMC information based on the specific parts and materials that are being supplied. | +| As Built | Production phase: Ongoing calculation **after start of production** | During the production process SMC information are regularly exchanged between supplier and OEM. | + +### Semantic Models + +There are different scenarios in which SMC Data can be exchanged. According to the semantic model framework, this implies that there is a specific data model for each purpose (scenario). + +_To ensure efficiency by avoiding redundancy and maintaining multiple data models, the concept of a shared aspect model was used: This means that there is one Secondary Material “base model”, which is the SecondaryMaterialContent. This serves as an enabler for data modelling and not for data exchange itself, it is bad practice to use it for data exchange._ + +Instead, SecondaryMaterialContentCalculated or SecondaryMaterialContentVerifiable should be used when exchanging SMC data, depending on the actual scenario. + +The main difference between these data models, is whether the data is based on assumptions or a prognosis and is therefore not fixed, in which case SecondaryMaterialContentCalculated is to be used. On the other hand, once the data is actually measured and can therefore be verified, the SecondaryMaterialContentVerifiable should be used. It is important to note that the models now include the same properties and can only be differentiated by the name of the relevant data model. + +In the table below, different scenarios are described to clarify which data model is used in which case. + +| Scenario | Description | Example from Practice | Data Model | +| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Assumption-based SMC data exchange | The SMC data exchanged in this scenario is based on assumptions made by considering various factors | Tier-n requests an initial estimate of the SMC data for a new component from its supplier. | [SecondaryMaterialContentCalculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) | +| Prognosis-based SMC data exchange | In this scenario, SMC data is exchanged based on a prediction or forecast of future events in the automotive sector. | When the production of a previously produced car is continued, a prognosis of the SMC is made based on the previous production. | [SecondaryMaterialContentCalculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) | +| Measured-information-based SMC data exchange | In this scenario, the SMC data that is exchanged is based on actual measured information and data. The relevant data is therefore verifiable. | During the production of a component, the order information of the used material clearly indicates the SMC of the used materials. | [SecondaryMaterialContentVerifiable](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_verifiable) | + +#### Figure 5 + +![Depiction of SMC Data Models - SMC](resources/adoption-view/depiction_of_smc_data_models.svg) + +The next part provides an overview of the secondary material content (SMC) calculation framework, including relevant data points, the calculation of SMC, and links to the data model and GitHub. The goal is to create a common basis for the data relevant for the SMC. Based on this, steering for secondary material content (SMC) and secondary material quota (SMQ) is possible. + +#### A. Introduction to the Semantic Models + +The semantic model is based on data points regarding material and order data. + +There are different timestamps to which data for SMC is relevant. + +To ensure the accuracy of the data and account for varying availability and quality of the information, it is important to identify at which step of the process data is exchanged. The process is divided into four steps, which are explained below. + +| **Timestamp**
                Linked to [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Business%20View%20Traceability%20Kit/) | **Explanation** | Concept in Catena-X developed | Data Models that need to be filled | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------- | +| a. Supplier Inquiry/As Designed | This is the initial phase of the process where the supplier is inquired about the design of the product. The data exchanged in this phase is an initial estimation of secondary material content. | Concept currently not developed | N/A | +| b. Supplier Selection/ As Planend | In this phase, the supplier is selected, and the data exchanged is based on the planned production and concretized to the previous phase. | Concept developed | 1. Part as Planned (Component)
                2. SMC | +| c. SOP/ Industrialisation/ As Ordered | This phase involves the ordering and the start of the production process. The data exchanged is based on the actual production process. | Concept currently not developed | N/A | +| d. Post-SOP/ Serie/ As Built | This is the final phase of the process where the product is built, and the data exchanged is based on actual product specifications. The data exchange during this phase is regular and allows for the most precise calculation of SMC of all the stages. | Concept developed | 1a. Serial Part (Component)
                **or**
                1b. Batch
                **and**
                2. SMC | + +In addition to filling out the data model for Secondary Material Content, other data models must also be completed to ensure adequate information and compatibility within Catena-X. During the As-Planned phase, the Part as Planned (Component) data model must be filled in addition to the SMC data model. Once the as-built phase is reached, the serial part (Component) data model must be filled to provide information as manufacturer partID, and customer partID. As such, these values are not included in the SMC data model. + +#### 1. Material + +The Model is designed to address the material at the lowest level requiring descriptive information, such as the material name in accordance with a standardized format, as well as the name and code of the referenced standard _(materialNameStandardizedValue; referencedStandard; referencedStandardID)._ For example, a material name may be given based on the ISO 1043 standard, in which case ISO would be the referenced standard and ‘1043’ the referenced standard ID. The material class _(materialClass)_ must be provided in accordance with the VDA standard 231-106. To provide relevant data regarding the material mass per declared unit of the material, the unit of measure, such as gram or kilogram _(unitOfMeasureKey)_, must first be defined. Next, the gross material input weight _(grossMaterialInputMass)_ as well as the net mass of the material _(materialNetMass)_ shall be provided. + +Essential material characteristics that are mandatory within the data model include the use of bio-based materials and their material class _(bioBasedClass)_, as well as the percentage of material weight of each primary and secondary bio-based material _(primaryBioBased; secondaryBioBased)._ For secondary bio-based material it can be chosen whether a mass balancing approach was followed or not _(isMassBalanced)_. Further information on mass-balancing can be found under [_B. Accounting for chain of custody models_](#b-chain-of-custody-models). + +Further, information regarding inorganic/fossil-based materials is required. The percentage of primary inorganic/fossil-based material weight _(percentageOfMaterialWeight)_ shall be provided. When it comes to secondary material, the percentage of material weight of chemically and mechanically recycled pre-consumer and post-consumer material according to ISO 14021 should be included _(percentageOfMaterialWeight)_. Post-Consumer material is divided into two streams: Post consumer material from end-of-life vehicles as well as post consumer from other sources. When chemical or mechanical recycling has been applied, it is important to disclose information whether a mass balancing approach was followed _(isMassBalanced)._ + +_Definition of pre-consumer material:_ + +“Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre consumer material can be used in form of recovered or recycled material as a substitute for primary material.” + +_Definition of post-consumer material:_ + +“Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in form of recovered or recycled material as a substitute for primary material.” + +#### Optional Information, such as Reutilization + +Optional information can be included to enhance the quality of the provided data, such as the percentage of material weight of reutilization material content _(additionalInformation)_. + +_Definition of Reutilization:_ + +“Reutilization of materials such as rework, regrind or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in the cycle.” + +Even though Reutilization fosters the avoidance of waste, it does not count as recyclate according to ISO 14021 and is an optional attribute for this data model. + +If available, the name of a certificate verifying the recycling content and a link to its PDF validating the provided information can be included _(certificate)._ + +##### Figure 6 + +![Material Characteristics](resources/adoption-view/Relationship_between_Material_Characteristics.svg) + +The schematic depiction above provides a visual representation of the connection between various material characteristics, facilitating an understanding of how different data points relate to each other and contribute to the calculation of SMC. + +#### 2. Order Data + +To clearly identify the order and relevant material, the order number _(orderNumber)_ can be provided on an optional basis. + +#### B. Chain of Custody Models + +Disclaimer: For information regarding the calculation of a PCF on basis of the Chain of Custody Models please see the Catena-X [(PCF) Rulebook.](https://catena-x.net/de/standard-library) + +Chain of custody is an administrative process by which information about materials is transferred, monitored, and controlled as those materials move through supply chains [ISO 22095:2020]. There are in principle four chains of custody models possible, illustrated in the figure below. Their common objective is to guarantee correct bookkeeping and to corroborate a link between in-going content, e.g., ‘sustainable’, ‘recycled’ or ‘organic’ by harmonized definitions, and the finally out-going product. They differ regarding physical or administrative links. Furthermore, they differ on the set of rules for balancing, and the possibility to keep materials streams segregated or not. + +##### Figure 7 + +![figure custody models](resources/adoption-view/custody_models.svg)[^1] + +[^1]: Original image taken from [Mass Balance EMF White Paper](https://emf.thirdlight.com/link/f1phopemqs36-8xgjzx/@/preview/1?o), visually adapted for this purpose. + +The following table is adapted from the [Mass Balance EMF White Paper](https://emf.thirdlight.com/link/f1phopemqs36-8xgjzx/@/preview/1?o) and provides high-level explanations and differentiations for the four chain of custody models: + +| Model | Explanation | Example | +| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Identity Preservation | It is possible to physically track the product to its desired origin, ensuring unique traceability and physical separation of products from other sources along the supply chain. | Buying food from a single certified producer. | +| Segregation | Consists in the aggregation of volumes of products of identical origin or produced according to the same standards in one stock item. | Buying food from a trader that exclusively handles identically certified supplies. | +| Mass Balance | Considering the output, no physical or chemical difference exists between in-scope and out-of-scope. It involves balancing volume reconciliation to ensure the exact account of volumes of in- and out-of-scope source is maintained along the supply chain, provided that the volume or the ratio of sustainable material integrated is reflected in the product produced and sold to customers. This model requires that a reconciliation period is defined (e.g. a month, a year). | Buying a certain percentage of a supply from certified origin. Applies to, e.g., sustainable forestry for wooden materials, recycled, bio-based or renewable materials, organic cotton | +| Book and Claim – Restricted Certificate Trading | The certified product / component is disconnected from the certification data but belongs to the same production system or value chain. The certified product evolves in separate flows from the certified supply. Certificates are issued at the beginning of the supply chain by an independent body reflecting the sustainable content of supplies. The intended outcome is that outputs from one supply chain are associated with total claims corresponding to the certified input. | Buying material with renewable/recycled/ biobased content. Certificates with guarantee of origin or comparable certifications declaring e.g. recycled, renewable, biobased content. | + +Explanation chain of custody models [adapted from the above cited EMF Whitepaper] + +The mass balance approach helps enabling fossil raw materials to be replaced by more sustainable alternative materials (e.g. with recycled content, bio-content). In contrast to a segregated use of alternative raw materials, mass balance enables to use existing production networks with minimized or no investments into new process technologies and production facilities. A book and claim model can be applied when there is no direct connection between the final product and the certified supply. An example for a book and claim model is applied in green electricity markets and receives more attention in other sectors as a way to support circular transformation of the industry, therefore it is accepted as a solution. There will be a regular review by Catena-X to decide about the further necessity. + +#### Guiding Principles + +In implementing chain-of-custody methods, including the mass balance one, the following set of guiding principles shall be fulfilled: + +1. The use of chain-of-custody approaches shall achieve significant changes and an effective transition towards a more circular, more bio-based and lower GHG emissions production in complex value chains. +2. The choice and implementation of chain-of-custody approaches and models shall be transparent, clear, and credible – abiding by relevant standards such as ISO and CEN. Such credibility can also be achieved but is not limited to accepted third-party certification schemes, e.g. ISCC PLUS, REDCert2 and RSB. + + Note: Certification Schemes are not yet available in all sectors. + +3. Labels and claims referring to chain-of-custody controlled specified characteristics and used on products shall fulfill the following requirements: + + - description of the chain-of-custody approaches and models + - accurate and appropriate implementation of the chain-of-custody model + - compliant with existing standards and regulations + - non-misleading + + In case the “specified characteristic” content in products cannot be measured and verified, labels and claims products may reflect this in ways that clearly differentiate and specify the actual content. + +4. No double counting: A reliable bookkeeping system shall be installed at each operating site to avoid the sales of a greater amount of alternative attributed products than physically available in the company. + + Additional requirements for mass balance chain of custody approach: + +5. The operating sites in the spatial boundaries for mass balancing are under the operational control of the same company/corporate group/joint venture. + +6. It shall be technically possible according to standard industry practice to produce a mass balanced product from an alternative feedstock. The share of mass-balanced material can be technically lower than the attributed share. + +7. Applied emissions factors for the mass balance system boundaries shall be material and process specific. + +For the SMC data model, information whether a mass-balanced approach has been applied or not can be provided in the data model. + +#### C. Calculation Logic for SMC + +The secondary material quota (SMQ) is a KPI measuring the usage of secondary materials within a vehicle. A vehicle can be defined as the sum of its individual components. Therefore, the secondary material content (SMC) is defined as the ratio between secondary material used and total material used on component level. To enable steering for secondary material content on the component level, it is important to establish a common understanding of the SMC of a single material. Based on the data model and information provided earlier, the SMC of a material can be calculated. The SMC can be divided into different pillars: Pre-consumer material and Post-consumer material and, optional: Reutilization material content + +All secondary material usage types are being expressed as percentages of the relationship between secondary materials and total materials used. + +##### 1. Pre-consumer material content + +![pre consumer material content equation](resources/adoption-view/eq_pre_consumer_material_content.svg) + +_Definition of pre-consumer material:_ + +“Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre consumer material can be used in form of recovered or recycled material as a substitute for primary material.” + +##### 2. Post-consumer material content + +![post consumer material content equation](resources/adoption-view/eq_post_consumer_material_content.svg) + +_Definition of post-consumer material:_ + +“Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in form of recovered or recycled material as a substitute for primary material.” + +##### 3. Optional: Reutilization content + +![Reutilization content Equation](resources/adoption-view/equation_Reutilization_content.svg) + +###### Definition of reutilization + +“Reutilization of materials such as rework, regrind, or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in cycle.” + +#### SMC and SMQ Calculation + +The SMC calculates as the sum of the above defined secondary material usage types: + +![SMC Equation](resources/adoption-view/equation_SMC.svg) + +In the above-described manner, the secondary material content is to be calculated for every component of the vehicle. + +The SMQ as a KPI defined on vehicle level which is calculated based on the individual SMC’s of the respective components: + +![SMQ Equation](resources/adoption-view/equation_SMQ.svg) + +It is important to note that data quality may vary during different stages of the process, and this should be taken into consideration to ensure the highest level of data accuracy. + +To calculate the average portion of, for instance, the amount of mechanical recycling of post-consumer material content in the whole material, the values along the data model must be multiplied. For example, the content of inorganic or fossil-based material, content of secondary inorganic or fossil-based material, post-consumer material content, and mechanical recycling would be multiplied as can be seen in the schematic depiction below. + +##### Figure 8 + +![material_characteristics](resources/adoption-view/material_charactersitics.svg) + +#### D. Data Models and Github + +The relevant data models can be found on GitHub: + +- [Secondary Material Content](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.secondary_material_content) +- [Secondary Material Content Calculated](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_calculated) +- [Secondary Material Content Verifiable](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.secondary_material_content_verifiable) + +The open availability on GitHub allows companies to combine their own internal target guidance programs with the data models from Catena-X to SMC. + +## End of Life / Dismantling Services + +### Introduction + +#### Closing Loops, Preserving Resources: Creating tomorrow's EoL landscape and empower the circularity + +As part of the Circularity KIT, we are committed to developing services for the future of the circular economy in the end-of-life (EoL) sector of vehicles. This phase represents an important stage where decisions are made regarding the fate of vehicles and their components after their initial use. Recognizing the immense value of the world's limited resources, we are dedicated to minimizing waste and maximizing resource efficiency. + +One of our key strategies involves creating a framework for an improved communication among all stakeholders involved in the EoL phase. This collaborative approach allows us to consider the needs and requirements of all participants, facilitating the collection and exchange of essential information. Importantly, we view the end of a vehicle's life as the beginning of a new one in the context of resource conservation. + +Our overarching vision is to create a landscape that closes loops and preserves resources, ultimately empowering circularity in the industry. We aspire to provide digitized and scalable EoL services that align with circular economy principles and prioritize the preservation of components and materials. Simultaneously, we are committed to follow present and future changes in laws and regulations, which emphasizes environmentally friendly vehicle disposal and the recovery of critical raw materials (CRMs), aligning with the growing demand for closing component and material loops. + +Our mission centres on empowering EoL and maintenance stakeholders by fostering continuous collaboration within the Catena-X Network and beyond. Through the Circularity KIT working group, we aim to develop and align various means, including data, business, and network models, to empower all stakeholders involved in the EoL phase. This mission is closely tied to our vision of promoting digitized and scalable end-of-life services across the industry while upholding the principles of circular economy. + +Our strategy for achieving these goals involves several key steps. Firstly, we aim to enable EoL service models through data sharing based on digital twins (DT). This approach allows for efficient information sharing in an interoperable, standardized manner, which, in turn, supports dismantling and recycling operations. Furthermore, we are actively engaging with all relevant stakeholders, including policymakers, product designers (for circularity), and EoL service providers, to promote new "R-approaches" and facilitate their implementation. + +Ultimately, our efforts provide essential support for the digitalization and automation of the EoL phase, with the ultimate goal of closing loops in the automotive sector. Through these digitized and scalable EoL services, we aim to contribute significantly to sustainable development and resource conservation, aligning with the principles of the circular economy. + +### Business Context + +#### Data Journey "End-of-Life" + +The "Data Journey" represents the entire process of dismantling an End-of-Life (EoL) vehicle. Each process step is accompanied by CX data models that would be necessary for digitally representing the individual process steps. This enables us to elevate the data journey for the dismantling process to a digital level and to gain an understanding of which data attributes and aspect models are required for each process step. It forms the foundation for the creation of digital EoL-solutions and the use of robotics. + +##### Figure 9 + +![Data Journey - End of LIfe](resources/adoption-view/figure_dataJourney_EOF.svg) + +Future additions include data models for the following topics: + +- Decommissioning Certificate +- Material for Recycling +- Adress Aspects +- ID Conversion +- Certificate of Dismantler +- Diagnostic Data +- Physical dimensions +- Mandatory dismantling +- Demand request +- Compatibility of components/ Design changes history +- Quality issue history +- Technical drawings & specifications +- PCF Information + +#### User Journey "Certificate of Decomissioning" + +The user journey "Certificate of Decommissioning" (CoDM) describes the moment at which a vehicle is transferred into the End-of-Life (EoL) phase from the perspective of an authorized collection point for EoL-vehicles, such as an authorized dismantling facility. The CoDM resembles the official Certificate of Destruction (CoD) but marks the starting point of the upcoming CX concept of a digital CoD. + +##### Figure 10 + +![User Journey CODM](resources/adoption-view/figure_user_journey_codm.svg) + +##### Data Model and GitHub + +The relevant data model can be found on the following link on GitHub: [https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.decomissioning_certificate/1.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.decomissioning_certificate/1.0.0) + +The open availability on GitHub allows companies to combine their own internal target guidance programs with the data models from Catena-X to the EoL-Services. + +## CE-Assistant + +### Introduction + +#### Empowering Circular Economy Decisions: Introducing the Circular Strategy Assistant + +In the dynamic landscape of sustainability and resource conservation, the Circular Strategy Assistant (CE-Assistant) emerges as a pioneering solution, providing decision support for the selection of optimal strategies concerning end-of-life vehicles. At its core, the CE-Assistant tackles the task of evaluating and choosing from a spectrum of R-Strategies—namely Reuse, Remanufacturing, Recycling, and Recovery. + +Rooted within the principles of Catena-X, the CE-Assistant is deeply aligned with a comprehensive assessment process that guides its functionality. This process is chiefly anchored in the Catena-X Digital Twin Framework, which encapsulates the essence of virtual representation and real-world insights. + +Central to this endeavor is the CE-Assistant—a set of standards, aspect models, APIs, system architectures, and decision logics—all designed to foster the development of data-centric, Catena-X compliant decision support systems for Circular Economy Strategies. The core circularity lies in the orchestrated flow of engineering information—a collaborative effort involving entities across the automotive value chain. + +The concept of Digital Twin (DT) serves as the backbone, offering a holistic virtual counterpart of assets. Defined with precision, the DT embodies a set of unique identifiers, an evolving spectrum of aspects, connectivity to diverse data sources, and the capacity to traverse the entire lifecycle of assets, encapsulating both individual and fleet-level knowledge. + +In accordance with IDSA and Gaia-X principles, interconnectivity and data sovereignty, the CE-Assistant thrives on the principles of interoperability, substantiated by the Connector KIT (EDC) and Data Chain KIT (Item Relationship Service - IRS). + +Undeniably, the selection of Circular Economy Strategies necessitates a comprehensive evaluation of emissions, natural resource preservation, energy management, and waste reduction. However, the effectiveness of such evaluation’s hinges on access to granular data encompassing the vehicle’s history, components, materials, and condition. + +This is precisely where the CE-Assistant can help by supporting a user-centered approach that bridges the gap between data availability and informed decision-making. By offering transparency into the environmental implications of diverse circular economy strategies, the CE-Assistant facilitates swifter, well-informed, and efficient decisions rooted in the digital twin's insights. + +### Business Context + +The CE-Assistant provides decision support and circular strategies, enabling several key features for businesses: + +1. **Component-Level Decision Support:** The KIT provides decision support for selecting circular strategies at the component level. +2. **Efficient Data-Driven Decisions:** Users can make faster and more efficient decisions based on data analysis. +3. **Enhanced Circularity:** The KIT contributes to increasing the circularity of products and meeting reuse quotas. +4. **Sustainability Milestones:** It helps achieve sustainability indicators and goals. +5. **Transparency on Secondary Materials:** The KIT offers transparency regarding the availability of secondary materials. +6. **Streamlined Vehicle Dismantling:** It optimizes the process of vehicle dismantling for improved resource recovery. + +#### Use Case / Domain Explanation + +The User Journey describes the system interaction of the CE Assistant with the user, the Dismantling Lead, with the aim of providing a recommendation for a component-level circular strategy for end-of-life vehicles. This involves breaking down the process of holistic decision-making into individual process steps and identifying the interaction with the user/system at each process step. + +##### Figure 11 + +![Figure UserJourney CE Assistant](resources/adoption-view/figure_userstory_ce_assistant.svg) + +#### Whitepaper + +If you are eager to dive deeper into the world of the CE-Strategy Assistant, including its data provision via the Digital Twin and expert insights on technically feasible circular strategies and environmentally friendly choices, we invite you to explore our informative publications. + +##### End-of-life decision support to enable circular economy in the automotive industry based on digital twin data + +- **Abstract**: With the EU Green Deal and the UN Sustainable Developments Goals, the vision of a greenhouse gas-neutral and resource-efficient economy is already firmly anchored in world politics. In this context, the automotive industry faces many challenges including the increasing scarcity of natural resources, a rising demand in terms of sustainable vehicle design, production and materials sourcing. Due to all this, end-of-life decisions regarding dismantling have become increasingly important. A high proportion of secondary materials will be required in the vehicles of the future. To response to these challenges, companies have turned their focus towards the circular economy as a central approach to close material loops. In the German research project “Catena-X” a new data ecosystem with digital twins is one enabler that is being developed. The digital twins represent a promising approach to the circular economy by ensuring transparent, product-specific and end-to-end data exchange throughout the entire product lifecycle, from the material sourcing to the eventual dismantling and recycling. As one particular and unique solution, a decision framework that facilitates the best circular strategy at the end of a vehicle's life is developed and presented in this paper. The underlying data-driven decision support framework is based on circular economy KPIs. This includes material, components and specific vehicle KPIs to best identify the most suitable circular strategy. The framework was methodologically developed by an interdisciplinary team of partners, who are stakeholders throughout the value chain and participants in the Catena-X project. An integrated approach of user-centered design, an adapted version of the V-model and the Scaled Agile Framework were used for the methodology in the development of the solution. The paper presents the concept of a digital twin for a decision support system, that includes a central decision logic that also includes the relevant KPIs and a survey for evaluating the decision logic utilized with a chosen dismantling company. +- **Link**: [End-of-life decision support to enable circular economy in the automotive industry based on digital twin data - ScienceDirect](https://www.sciencedirect.com/science/article/pii/S2212827123006091) + +##### Empowering End-of-Life Vehicle Decision Making with Cross-Company Data Exchange and Data Sovereignty via Catena-X + +- **Abstract:** The mobility sector is the world’s second-largest producer of energy-related CO2 emissions, and it is facing a global resource shortage. The demand for circular products, the use of secondary materials in future vehicles, and the need for sustainable business models in the mobility sector is increasing. However, a transparent and end-to-end data exchange throughout the entire value network is missing, which is hindering an efficient circular economy. Relevant information on the vehicle, its components and materials at the end of the product life cycle are often missing. In this context, this paper presents a decision support system based on Digital Twin data for a circular economy solution as a software application. It was developed within the German research project Catena-X following an integrated approach of user-centered design, the V-model, and within the Scaled Agile Framework. By combining these methodological approaches, customer-oriented solutions were developed and continuously improved at each stage of development to shorten the time-to-market. Catena-X is based on Gaia-X principles. In Gaia-X, necessary core services are developed, and contraction negotiation for data exchange and usage policies is enabled and implemented. The decision support system provides important information about the exact composition and condition of the vehicle, its components, and its materials. Thus, it helps to improve efficiency, sustainability, and the implementation of the circular economy. The decision support system was tested and validated with a use case that provided Digital Twin data on the end-of-life vehicle. +- **Link**: [Sustainability | Free Full-Text | Empowering End-of-Life Vehicle Decision Making with Cross-Company Data Exchange and Data Sovereignty via Catena-X (mdpi.com)](https://www.mdpi.com/2071-1050/15/9/7187) + +##### Digital Twins for Circular Economy - Enabling Decision Support for R-Strategies + +- **Abstract:** Digital twins (DT) for circular economy (CE) offer a promising approach as part of digital data ecosystems for more sustainable value creation. By mapping and analyzing product, component and material specific data along the lifecycle, it is possible to address current challenges such as climate change and resource scarcity. Within Catena-X, specific solutions based on this cross-company exchanged data and information are developed. Here, the “CE-Assistant” is presented. It is an application, which identifies the best CE-Strategy based on DT data at the end of a vehicle's life. +- **Link:** [OA_Mügge_6-2022 | INDUSTRIE-MANAGEMENT](https://www.industrie-management.de/node/556) + +#### Logic / Schema + +In order to evaluate which R-Strategy can be applied to individual components, instance-specific data must be available. This is ensured using DT data throughout the product lifecycle. Such an DT enables the collection of instance-specific data on the product, and thus provides the missing EoL data for vehicle disassembly. + +Depending on the decision-making step, instance specific data for the vehicle disassembly is partly necessary or product specific data is sufficient. Decision support regarding the best R-Strategy is preceded by the logic for the technical feasibility. Thus, only when the R-Strategy is technically feasible, it must be checked for other indicators. + +The outcome of the technical feasibility is to analyze if an R-Strategy has to be excluded at the beginning based on regulatory requirements regarding an R-Strategy or a defect in functionality of specific components. + +The process is started by entering the vehicle identification number (VIN) into the system, thereby requesting the corresponding Catena-X data. The registered companies in the Catena-X network act as data providers for this vehicle-specific data, as they register respective assets and sub-models. Catena-X Shared Services handle existing data models, contract, usage and access control policies, and ultimately the final data exchange. + +The system shows the first information, such as corresponding vehicle, component and material based on data from the DT. This data is provided for the first overall manual inspection and evaluation. After that, the user selects the most relevant components for the R-Strategy decision. The decision logic is applied for this component and the possible R-Strategies are identified. + +The core process means in a chronological order: The basic reuse-potential, material composition and remaining lifetime in comparison with the specific thresholds and the disassembly capability. + +If one or more of these criteria are not fulfilled, the component will only be assigned to recovery or recycling. If the component qualifies for disassembly, a manual visual inspection and a functional check are conducted. For components, where the visual condition is relevant, such as body parts and interior components, the visual inspection is conducted first. In contrast, components, for which the technical condition is of significant relevance, such as engines and gearboxes, are first subjected to a functional test. Here, the data can also be provided in the Catena-X network as an update of the DT. Thereafter, a quality comparison of the component condition with threshold values takes place. When the quality is insufficient for reuse, the technical check for remanufacturing is carried out chronologically: Assimilability, cleanability and restorability/upgradability. Finally, a possible strategy is given to the user as a result. + +##### Figure 12 + +![user story flowchart](resources/adoption-view/figure11.svg) + +## Secondary Marketplace + +### Introduction + +A secondary marketplace is fundamental to establish a circular economy where components and materials are available and offered to the interested users creating new value chains and extending the life of the parts and the materials before becoming waste. Digital platforms offering marketplace services are essential to enable trading of secondary materials and components, provide transparency into supply and demand that potential buyers and sellers can expect. + +The main goals of the Marketplace are: (1) to match the demand and the supply of available components and secondary raw materials and (2) to provide transparency on sales opportunities for used components which can be, for example, reused or re-manufactured. + +If offered, additional services such as grading, certifications for the offered listings (components or secondary materials) and transport handling and logistics could support trading processes. + +### Business Context + +A secondary marketplace enables closing the loop on economical and physical layers. Following the logic described in the previous chapter, there could be multiple scenarios related to R-strategies on how secondary marketplaces enable a circular economy. + +Potential sales scenarios: + +- Dismantling companies selling old components and material/scrap; +- Automotive manufacturers selling old unused components; +- Automotive manufacturers selling production waste and scrap; +- and others. + +Potential purchase scenarios: + +- Automotive companies buying components for re-manufacturing; +- Workshops buying components for re-use; +- Recyclers buying production waste and scrap; +- and others. + +In all of those cases, having additional information (e.g. product carbon footprint or digital product passport details) on the products offered on the marketplace is beneficial. + +### User Journey and Architecture Overview + +In general, there are several goals that buyers and sellers pursue on a secondary marketplace: + +- As a (Core) Purchaser, I want to search and filter for market supply on OE number level to match the market offers towards my demand. +- As a (Core) Purchaser, I want to reach as many possible sellers as possible to purchase parts that I cannot procure today. This includes brokers I don't buy from today. +- As a (Core) Seller, I want to place offers on the marketplace with standard upload tools and manually. +- As a (Core) Seller, I want to reach as many possible customers as possible to maximize my turnover. This includes customers I don't sell to today. + +The key user journey relevant in Catena-X circular economy area relates to the need of a buyer to have full reliable information on a product that he is intending to purchase. This is especially important given that many buyers are looking for parts for re-manufacturing or re-use, where product quality plays a vital role. Furthermore, in case of recycling, recyclers are interested to know material composition and additional information that would influence their purchasing decision. + +Some information could be provided by a variety of data models, but the highest value lies within the generic digital product passport (and by extension, battery passport, sealant passport, transmission passport). When a seller is publishing a listing with a product that he is willing to sell, there is only a limited amount of information he can provide with it, mostly the one available from the visual inspection or on-board data (such as mileage, OE-number, brand) as well as logistical/ sales information (such as location or price). When a potential buyer views the listing, he should have a possibility to request additional details from a data provider of the generic digital product passport (if available) for that product (see diagram below). More information on the digital product passport can be found in the [Ecopass KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Eco_Pass_KIT/page-adoption-view/). + +#### Figure 13 + +![User Journey - Secondary Marketplace](resources/adoption-view/user_journey_secondary_marketplace.svg) + +This process is reflected in the architecture for communicating with the Catena-X network and data providers of the battery passport data model, as presented below. + +#### Figure 14 + +![Communication Architecture](resources/adoption-view/communication_architecture.svg) + +When it comes to the data exchange schema and other details, see the [Triangle for Secondary Marketplace](https://catena-x.net/de/standard-library) document for more information on how such a request could be realized within Catena-X environment and according to applicable guidelines (e.g. on interoperability and data sovereignty). In a decentral environment, such attributes as manufacturer part ID and OE number play a vital role in order to get access to the right component and the right data model at data provider’s side. + +### Semantic Models + +In the following, relevant semantic models for the secondary marketplace are listed. For further information about the listed data models please refer to the Catena-X standards library for the respective data model, marked as “CX-“, which contains the standardized data models with further descriptions and explanations. The standards library can be founded here: [Catena-X Standard-Library](https://catena-x.net/de/standard-library) + +The Marketplace Offer is an aspect model that is complementary to the concept of a secondary marketplace. It described a product (e.g. a used, dismantled component) that is placed for sale onto the marketplace, with key supporting information such as quantity, quality, or price. It provides essential information for potential buyers and could be used in the future to exchange product information between multiple marketplaces. This model can therefore be used to exchange offers between multiple marketplaces. As there is no exchange scenario defined yet, the Marketplace Offer is a recommendation and non-normative, since it is so far concerning the business application-internal data structure only. More information on this aspect model can be found under CX-0035 in the standards library or under the following link: [Marketplace Offer](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.market_place_offer) + +Additionally, two other aspect models could play a supporting role for secondary marketplaces. + +The Return Request aspect model could be used to flag a vehicle or product to indicate that there is a demand or a request for return. It specifies the aspect of the recall of a vehicle part and thus provides the information whether and why a return request exists for a product. More information on this aspect model can be found under CX-0033 in the standards library or under the following link: [Return Request](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.return_request) + +The Product Passport aspect model could provide reliable details on the product characteristics or lifecycle information, therefore complementing the basic Marketplace Offer information. More information on this aspect model can be found under CX-0103 in the standards library or under the following link: [Digital Product Passport](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.generic.digital_product_passport) + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- Copyright (c) 2023,2024 BMW AG +- Copyright (c) 2023,2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IPK) +- Copyright (c) 2023,2024 BASF SE +- Copyright (c) 2023,2024 SAP Deutschland SE & Co.KG +- Copyright (c) 2023,2024 T-Systems International GmbH +- Copyright (c) 2023,2024 LRP Auto-Recycling Leipzig GmbH +- Copyright (c) 2023,2024 Robert Bosch GmbH +- Copyright (c) 2023,2024 tec4U-Ingenieurgesellschaft mbH +- Copyright (c) 2023,2024 TÜV Süd AG +- Copyright (c) 2023,2024 Valeo SA +- Copyright (c) 2023,2024 Volvo Group Aktiebolag +- Copyright (c) 2023,2024 Volvo Car Aktiebolag +- Copyright (c) 2023,2024 Brain of Materials AG +- Copyright (c) 2023,2024 thyssenkrupp Material Services GmbH +- Copyright (c) 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-documentation.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-documentation.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-documentation.md rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-documentation.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-glossary.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-glossary.md new file mode 100644 index 00000000000..a56b7fb6b53 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-glossary.md @@ -0,0 +1,289 @@ +--- +title: Glossary +--- + + +| Term | Definition | Source | +| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Allocation | Partitioning the input or output flows of a process or a product system between the product system under study and one or more other product systems | DIN EN ISO 14040 | +| Attributable process | Those processes that consists of all service, material and energy flows that become, make and carry a product throughout its life cycle. | WBCSD Pathfinder | +| Bio-based Materials | Material of biological origin (biomass excluding material embededded in geological formations and / or fossilised) | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172132, P. 9 | +| Bio-based products | wholly or partly derived from materials of biological origin, excluding materials embedded in geological formations and/or fossilised. | | +| Biomass | Material of biological origin, excluding material embedded in geological formations or transformed material of biological origin, excluding material embedded in geological formations or transformed to fossilized material and excluding peat | DIN ISO 14021 | +| By-Product | Substance or object, resulting from a production process, the primary aim of which is not the production of that item, and does not constitute waste (as defined in Directive 2008/98/E on waste) | Art. 5 No. 1 WFD (Waste framework directive 2008/98/EC) | +| Biodiversity | Biological diversity means the variability among living organisms from all sources including, inter alia, terrestrial, marine and other aquatic ecosystems and the ecological complexes of which they are part: diversity in species, between species and of ecosystems. | Art. 2 UN Convention on biological diversity; ESRS E4 (COM(2023) 5303 final | +| Carbon offsetting | Mechanism for compensatingfor a full PCF or a partial PCF through the prevention of the release of,reduction in, or removal of an amount of GHG emissions in a process outside the product system under study | DIN EN ISO 14067 | +| CAS Number | a unique numerical identifier assigned by the Chemical Abstracts Service (CAS) to every chemical substance described in the open scientific literature. / Except for a small selection of most common substances released under CCBY-NC license the CAS numbers are a proprietary identification scheme to be licensed from CAS (USA) | [CAS REGISTRY / CAS](https://www.cas.org/cas-data/cas-registry) | +| Certificate of Decstruction | An official document issued in accordance with the minimum requirements set out by the European Commission's Decision of February 19, 2002. It confirms the proper disposal of an end-of-life vehicle and is required for vehicle deregistration. | 2000/53/EC | +| Chain-of-Custody approach | A process by which inputs and outputs and associated information are transferred, monitored and controlled as they move through each step in the relevant supply chain. See Mass Balance for details | ISO 22095 | +| Chemical Recycling | Chemical or feedstock recycling refers to the conversion of plastic polymers into their monomers or chemical building blocks or basic chemicals, i. e. depolymerisation by means of thermochemical or chemical processes, although there is currently no uniform, legally binding definition. | Background Paper pn Chemical Recycling - German Environmental Agency, Dec 2020 | +| Circular Econamy | See chapter 3.1; but also “An ec economic system that uses a systemic approach to maintain a circular flow of resources, by recovering, retaining or adding to their value, while contributing to sustainable development | ISO/DIS 59004:2023(E) | +| Circular Economy Principles | The Circular Economy is based on three principles, driven by design: (i) eliminate waste and pollution; (ii) circulate products and materials at their highest value; and (iii) regenerate nature. | EFRAG-Draft ESRS (11/2022) | +| Carbon offsetting | Mechanism for compensatingfor a full PCF or a partial PCF through the prevention of the release of,reduction in, or removal of an amount of GHG emissions in a process outside the product system under study | DIN EN ISO 14067, Feb. 2019, p. 18 | +| Closed-loop recycling | In a closed loop, the secondary material from one product system is either reused in the same product system (real closed-loop) or used in another product system without changing the inherent technical properties of the material (quasi closed-loop). | | +| CO2e (carbon dioxide equivalent) | Unit for comparing the radiative forcing of a greenhouse gas to that of carbon dioxide | DIN EN ISO 14067, Feb. 2019, p.20 | +| component | part or small assembly of parts used as part of a larger assembly | Artikel 2 Begriffsbestimmungen 200053EG | +| Compostable | characteristic of a product, packaging or associated component that allows it to biodegrade, generating a relatively homogeneous and stable humus-like substance. | DIN ISO 14021 | +| Consumer | Any natural person who, in contracts covered by this Directive, is acting for purposes which are outside his trade, business, craft or profession | 2011/83/EU on conusmer rights | +| Co-product | Any of two or more products comning from the same unit process or product system | DIN EN ISO 14067, Feb. 2019, p.22 | +| Cradle-to-gate PCF | Part of a product’s full lifecycle, covering all emissions allocated to a product upstream of a company plus all emissions resulting from processes within the company until the product leaves the suppliers' gate | WBCSD Pathfinder | +| Cut-off criteria | Specification of the amount of material or energy flow or the level of significance of GHG emissions associated with unit processor the product system, to be excluded from a PCF study | DIN EN ISO 14067, Feb. 2019 p.24 | +| Declared unit | Quantity of a product for use as a reference unit in the quantification of a Cradle-to-Gate PCF | adapted from DIN EN iso 14067 | +| Degradable | A characteristic of a product or packaging that, with respect to specific conditions, allows it to break down to a specific extent within a given time. | DIN ISO 14021 | +| Digital Twin | The Digital Twin is a virtual representation of assets and adheres to the following characteristics: The DT has at least one Catena-X-wide unique ID. Digital Twins are organized by a set of Aspects. The set can be extended over lifetime. An Aspect of a DT includes both structural as well as behavioral data and models (including operations and simulation models). The semantics of an Aspect can be described via semantic models A single Aspect can be connected to different heterogenous data sources (including behavioural models) The DT can represent asset types (e.g. virtual prototype of a car) and asset instances (e.g. real car) A DT can cover the whole asset lifecycle including (e.g. planning phase, production, sales, use and decommissioning phase). However, in practice there may be more than one twin with different IDs representing different lifecycle phases (e.g. a twin for types and multiple twins for instances). An asset can have more than one DT The DT represents current available information about an asset (synchronized at a specified frequency and fidelity) which can be leveraged for simulation and business process integration By using aspects the DT can reference other DT to express "part of" or "consists of" relations | Catena-X definition | +| Direct emissions | GHG emissions from the processes that are owned or controlled by the reporting company | WBCSD Pathfinder | +| Downstream emissions | Indirect GHG emissions that occur in the value chain following the processes owned or controlled by the reporting company | WBCSD PAthfinder | +| Durability | The ability of a product, component or material to remain functional and relevant when used as intended. | EFRAG - Draft ESRS (11/2022) | +| ecological assessment | compilation and evoluation of the inputs, outputs, and potential environmental impacts of a product system throughout its life cycle | Artikel 2 Begriffsbestimmungen 200053EG | +| end-of-life | the point at which a product or component is taken out of use | Artikel 2 Begriffsbestimmungen 200053EG | +| end-of-life vehicle | vehicles that are considered waste under Article 1 letter a) of Directive 75/442/EC | Artikel 2 Begriffsbestimmungen 200053EG | +| End-of-waste | The end-of-waste state for waste in Europe is reached when the material is no longer considered waste under the national implementation of the Waste Framework Directive. | EN 15804 | +| Functional unit | Quantified benefit of a product system for use as a comparison unit | | +| Fossile Materials | Fossil raw materials are all raw materials derived from organic material. They incldude coal, crude oil and natural gas. | Bundesverband Geothermie | +| Global warming potential (GWP) | Index, based on radiative properties of GHGs, measuring the radiative forcing following a pulse emission of a unit mass of a given GHG in the present-day atmosphere integrated over a chosen time horizon, relative to that of carbon dioxide (CO2) | DIN EN ISO 14067, Feb. 2019, p. 21 | +| Greenhouse gases (GHGs) | Gaseous constitient of the atmosphere, both natural and anthropogenic, that absorbs and emits radiation at specific wavelengths within the spectrum of infrared radiation emitted by the Earth´s surface, the atmosphere, and clouds | DIN ISO 14067, Feb. 2019, p. 19 | +| ILCD Format | International Life Cycle Data Format | | +| intermediate product | output from a unit process that is input to other unit processes that require further transformation within the system | | +| input | product, material, or energy flow that enters a unit process. Products and materials include raw materials, intermediate products, and coproducts. | WBCSD Pathfinder | +| Land use | Human use or management of land within the relevant boundary | DIN EN ISO 14067, Feb. 2019 p. 30 | +| life cycle | consecutive and interlinked stages to a product, from raw material acquisition or generation from natural resources to final disposal. | DIN EN ISO 14067, Feb. 2019 p. 25 | +| Life cycle assesment (LCA) | Compilation and evaluation of the inputs, outputs and potential environmental impacts of a product system throughout its life cycle | DIN EN ISO 14067, Feb. 2019, p. 25 | +| Life cycle emissions | The sum of GHG emissions resulting from all stages of the life cycle of a product and within the specified boundaries of the product | WBCSD Pathfinder | +| Life cycle inventory (LCI) | The phase of life cycle assessment involving the compilation and quantification of inputs and outputs for a product throughout its life cycle (such as a product´s GHG emissions and sources) | DIN EN ISO 14067, Feb. 2019, p. 25 | +| Life cycle inventory results | GHG impact of the studied product per unit of analysis | WBCSD Pathfinder | +| Mass | In physics, mass is not the same as weight. Mass is both a property of a physical body and a measure of its resistance to acceleration. For disambiguation see definition of "Weight" below | | +| Mass Balance | Mass balance is one of several well-known chain of custody approaches that can be used to track the flow of materials through the value chain. The total quantity of the content in question is tracked through the production system and the allocation of this content is made to the end products based on verifiable accounting. The goal of this method is to ensure proper accounting and to confirm a link between the incoming content (e.g., "sustainable," "recycled," or "organic" according to some definition) and the eventual outgoing product. | [https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf](https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf) | +| Material | Physical good used as input for production processes of goods or services, or physical good suppliedto a customer as output | adapted from WBCSD Pathfinder | +| Material / Raw Material | Materials are composed of basic substances, (1) either one or more chemical element(s) (like iron, copper) (2) or one or more chemical compound(s) (like acrylic resin, zinc oxide) (3) or one or more materials (like polyamide and glas fibre). Therefore, a material definition is only valid if a definition of (see chemical composition) is given alongside it. | Catena-X Definition, IMDS | +| Material Composition | see chemical composition | Own Catena-X definition | +| Material Declaration | Material declaration (MD) is the process mandated to meet the obligations placed on (automobile) manufacturers, and thus on their suppliers, by national and international standards, laws and regulations. | IMDS Information Pages - Home - IMDS Public Pages (mdsystem.com) | +| Material Details | Collection of material information defined by given context in an information model | Catena-X Definition | +| Material Identifier | Material Identifier is a alphanumerical identifier that serves programmatic functions (e.g., as data ID) but also satisfies chemical regulation (see material declaration) under national and international law. | Catena-X definition | +| Material Name | Trivial name (often name of a chemical group) used to denote some material in everyday speech or jargon. Entirely dependent on specific context. | Catena-X definition | +| Material Type | Groups of materials defined by convention (e.g., IMDS) or ISO Standard (e.g., ISO 62474) in order to simplify communication of relevance of material information (in search or filtering) | [https://std.iec.ch/iec62474/iec62474.nsf/Index?open&q=180013](https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020) | +| Mechanical Recycling | End-of-life materials can be processed via collecting, sorting, shredding, melting and transforming it into secondary raw materials for a new application. This form of recycling involves processes in which e.g. the polymer structure is not significantly changed and the plastic is preserved as a material. Thus, in terms of its complexity, mechanical recycling takes place at a lower technical level than chemical recycling. | [Mechanical recycling (basf.com)](https://www.basf.com/global/en/who-we-are/sustainability/we-drive-sustainable-solutions/circular-economy/mechanical-recycling.html) [Glossar und Methoden / Statistikportal.de](https://www.statistikportal.de/de/ugrdl/glossar-und-methoden#P) | +| Multi-input-output unit process | Operation or process with multiple inputs, such as materials and energy, and multiple outputs, such as co-products and waste | WBCSD Pathfinder | +| Negative emissions | Removal of greenhouse gases (GHGs) from the atmosphere by deliberate human activities, i.e., in addition to the removal that would occur via natural carbon cycle processes | IPCC glossary | +| Net negative emissions | A situation of net negative emissions is achieved when,as the result of human activities, more greenhouse gases are removed from the atmosphere than are emitted into it. Where multiple greenhouse gases are involved, the quantification of negative emissions depends on the climate metric chosen to compare emissions of different gases (such as global warming potential, global temperature change potential, and others, as well as the chosen time horizon). | IPCC glossary | +| Net zero CO2 emissions | Net zero carbon dioxide (CO2) emissions are achieved when anthropogenic CO2 emissions are balanced globally by anthropogenic CO2 removals over a specified period. Net zero CO2 emissions are also referred to as carbon neutrality. | IPCC glossary | +| Net zero emissions | Net zero emissions are achieved when anthropogenic emissions of greenhouse gases into the atmosphere are balanced by anthropogenic removals over a specified period. Where multiple greenhouse gases are involved, the quantification of net zero emissions depends on the climate metric chosen to compare emissions of different gases (such as global warming potential, global temperature change potential, and others, as well as the chosen time horizon). | IPCC glossary | +| Open-loop recycling | In open-loop recycling, the material is reused in other productsystems and its inherent properties are changed (e.g., recycled material may have a different chemical composition, a different structure or a higher concentration of dissolved impurities compared to primary material). | | +| output | product, material, or energy flow that leaves a unit process. Products and material include raw materials, intermediate products, co-products, and releases. | WBCSD Pathfinder | +| Partial PCF | Sum of GHG emissions and GHG removals of one or more selected process(es) in a product system, expressed as carbon dioxide equivalents and based on the selected stages or processes within the life cycle. | DIN EN ISO 14067, Feb. 2019, p. 16 | +| Post-consumer Recyclate | Post-Consumer (PCR) recycled content represents the total proportion, by mass, of post-consumer input materials incorporated in the process. | SP-Recycled-Content-Definition-Final-09102021-1.pdf | +| Post-consumer material | Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | +| Pre-consumer Material | Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | +| Primary data | Data pertaining to a specific product or activity within a company’s value chain. Such data may take the form of activity data, emissions, or emission factors. Primary data is site-specific, company-specific (if there are multiple sites for the same product) or supply chain–specific. | WBCSD Pathfinder | +| Primary Material | Raw material coming from the environment, as well as materials of differing stages of processing (Raw materials, semi- and finished goods), which are used in the production process for the first time. | | +| Process | Set of interrelated or interacting activities that transforms inputs into outputs. | DIN EN ISO 14067, feb. 2019, p. 23 | +| prevention | measures to reduce the quantity and environmental harm of end-of-life vehicles, their materials, and substances. | | +| producer / Manufacturer | the vehicle manufacturer or the commercial importer of a vehicle into a EU Member State | | +| product | a product refers to any goods or service, which can be categorized as services (e.g. transport), software (e.g. computer program, dictionary), hardware (e.g. engine mechanical part), and processed materials (e.g. lubricant). Services have both tangible and intangible elements. The provision of a service can involve activities such as repairing a customer-supplied tangible product (e.g. an automobile) or working on a customer-supplied intangible product (e.g. preparing a tax return using an income statement). | | +| Product carbon footprint (PCF) | Total GHG emissions generated during the life cycle of a product, measured in CO2e. Within the boundary of the CX-PCF Rulebook, emissions related to the product use and end-of-life stages are excluded from the PCF. | WBCSD Pathfinder | +| Product category | Group of products that can fulfill equivalent functions. | WBCSD Pathfinder | +| Product category rules (PCR) | A set of specific rules, requirements, and guidelines for calculating PCFs (among other things) and developing environmental declarations for one or more product categories according to EN ISO 14040:2006. | WBCSD Pathfinder | +| Production | Process of combining various inputs, both material (such as metal, wood, glass, or plastics) and immaterial (such as plans, or knowledge) in order to create output. | | +| product system | collection of unit processes with elementary and product flows, performing one or more defined functions, and which models the life cycle of a product | DIN EN ISO 14067, Feb. 2019, p. 22 | +| Production waste | Waste generated in different industries in connection with production and the opposite to consumption waste, which primarily comprise municipal waste and waste comparable to it. | [Production waste/Concepts/Statistics Finland](https://www.stat.fi/meta/kas/tuotantojate_en.html) | +| R-Strategies | Various approaches to implement circular economy, known as R-strategies, have been developed to achieve less resource and material consumption in product chains and make the economy more circular. | Potting, J., et al. "Circular economy: measuring innovation in the product chain." Planbureau voor de Leefomgeving 2544 (2017). | +| raw materials | primary or secondary material that is used to produce a product. Secondary material includes recycled material. | | +| Recovery | Any operation the principal result of which is waste serving a useful purpose by replacing other materials which would otherwise have been used to fulfill a particular function, or waste being prepared to fulfill that function, in the plant or in the wider economy. | Art. 3 (15) of directive 2008/98 EC | +| Recovered Material | Material that would have otherwise been disposed of as waste or used for energy recovery, but has instead been collected and recovered [reclaimed] as a material input, in lieu of new primary material, for a recycling or a manufacturing process. | DIN ISO 14021 | +| Recyclate | Secondary raw materials that have been generated by means of the recovery of waste or are generated in the disposal of waste and are suitable for the production of products. | | +| Recycled Content | Proportion, by mass, of recycled material in a product or packaging. The recycled content is the sum of pre-consumer material and post-consumer material. | DIN ISO 14021 | +| Recycled Material | Material, that has been reprocessed from (reclaimed) material by means of a manufacturing process and made into a final product or into a component for incorporation into a product. | DIN ISO 1402 | +| Recycling | Any recovery operation by which waste materials are reprocessed into products, materials or substances whether for the original or other purposes. It includes the reprocessing of organic material but does not include energy recovery and the reprocessing into materials that are to be used as fuels or for backfilling operations. ‘recycling’ means the reprocessing in a production process of the waste materials for the original purpose or for other purposes but excluding energy recovery. Energy recovery means the use of combustible waste as a means to generate energy through direct incineration with or without other waste but with recovery of the heat; | EFRAG – Draft ESRS (11/2022) | +| Reduce | Increase efficiency in product manufacture or use by consuming fewer natural resources and materials | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Reference flow | Measure of the inputs to or outputs from processes in a given product system required to fulfil the function expressed by the functional unit. | DIN EN ISO 14067, Feb. 2019, p. 24 | +| Refurbish | Restore an old product and bring it up to date (to specified quality level) | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Refuse | Make product redundant by abandoning its function or by offering the same function by a radically different (e.g. digital) product or service | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Releases | tbd. | | +| Remanufacture | Remanufacturing is a standardized industrial process by which a used product or part are returned to same-as-new, or better, condition and performance. The process is in line with specific technical specifications, including engineering, quality and testing standards. The process yields fully warranted products. Collecting discarded products or materials that can be refinished and sanitised to serve their original functions | CLEPA, European Environmental Agency - Eionet report ETC/WMGE 2021/10, P. 3 | +| Renewable Energy | Energy from renewable sources’ or ‘renewable energy’ means energy from renewable non-fossil sources, namely wind, solar (solar thermal and solar photovoltaic) and geothermal energy, ambient energy, tide, wave and other ocean energy, hydropower, biomass, landfill gas, sewage treatment plant gas, and biogas. | Renewable Energy Directive (2018/2001) | +| Renewable materials | Material that is derived from resources that are quickly replenished by ecological cycles or agricultural processes, so that the services provided by these and other linked resources are not endangered and remain available for the next generation. | EFRAG – Draft ESRS (11/2022) | +| Repair | Repair and maintenance of defective product so it can be used with its original function | [Link, ESPR Draft](https://op.europa.eu/en/publication-detail/-/publication/ca9846a8-6289-11ea-b735-01aa75ed71a1/language-en/format-PDF/source-120460723) | +| Repurpose | Use a redundant product or its parts in a new product with different function | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Rethink | Make product use more intensive (e.g. through product-as-a-service, reuse and sharing models or by putting multi-functional products on the market) | European Commission, Categorisation System for the Circular Economy Circular Economy, doi: 10.2777 / 172131, p. 7 | +| Reuse | Reuse of a product which is still in good condition and fulfils its original function (and is not waste) for the same purpose for which it was conceived | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Reutilization | Reutilization of materials such as rework, regrind, or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in cycle. | Adapted from ISO 14021 | +| Representative product | The representative product can be a real or an averaged (non-existing) product. The averaged product should be calculated based on sales-weighted characteristics of all technologies/materials used in the company’s production system. | | +| Resource inflow | Resource that enters the organisation's infrastructure. | EFRAG – Draft ESRS (11/2022) | +| Resource outflow | Resource that leaves the organisation's infrastructure. | EFRAG – Draft ESRS (11/2022) | +| Reuse | Any operation by which products and components that are not waste are used again for the same purpose for which they were conceived. This may involve cleaning or small adjustments so it is ready for the next use without significant definition. | Art. 3 (13) of the Directive 2008/98/EC & EFRAG-Draft ESRS (11/2022) | +| Risk management | Plans, actions, strategies, or policies to reduce the likelihood and/or consequences of risks or to respond to consequences. | IPCC Glossary, p. 45 | +| Secondary data | Secondary data can include data from databases and published literature, default emission factors from national inventories, calculated data estimates or other representative data, validated by competent authorities. | DIN EN ISO 14067, Feb. 2019, p. 28 | +| Secondary Material | Secondary materials are any materials that are not the primary products from manufacturing and other industrial sectors. These materials can include scrap and residuals from production processes and products that have been recovered at the end of their useful life. | [United States Environmental Protection Agency](https://www.epa.gov/smm/sustainable-management-industrial-non-hazardous-secondary-materials) | +| Secondary Material Framework | Secondary Material Quota = on vehicle level, Secondary Material Content = on component level | | +| Secondary Material Quota (on vehicle level) | not found | | +| Secondary Raw Material | Material that serves as a substitute for primary material and is kept in cycle. | | +| Secondary Raw Material Content | The content of materials that serve as substitutes for primary materials and are kept in cycle. The secondary raw material content is calculated in proportion of secondary material and product weight. | | +| Supplier gate | Supplier's production site or supplier's distribution site. | | +| Supply chain | Those involved, through upstream and downstream linkages, in process and activities relating to the provision of products to the user. | DIN EN ISO 14067, Feb. 2019, p. 28 | +| Sustainability | A dynamic process that guarantees the persistence of natural and human systems in an equitable manner. | IPCC Glossary, p. 49 | +| System boundary | Boundary based on a set of criteria representing which unit processes are a part of the system under study. | DIN EN ISO 14040, Feb. 2021, p. 13 | +| Treatment | Activities carried out after the end-of-life vehicle is handed over to a facility for the elimination of pollutants, dismantling, coarse crushing, shredding, recycling or preparation for disposal of shredder waste, as well as other activities related to the recycling and/or disposal of end-of-life vehicles and end-of-life vehicle components. | | +| Unit process | Smallest element considered in the life cycle inventory analysis for which input and output data are quantified. | DIN EN ISO 14067, Feb. 2019, p. 23 | +| Upstream emissions | Indirect GHG emissions that occur in the value chain prior to the processes owned or controlled by the reporting company. All upstream transportation emissions are also included as part of upstream emissions. | WBCSD Pathfinder | +| Use stage | That part of the life cycle of a product that occurs between the transfer of the product to the consumer and the end-of-life of the product. | Adapted from WBCSD Pathfinder | +| Value chain | All the upstream and downstream activities associated with the operations of a company. | WBCSD Pathfinder | +| Vehicle | Vehicles of classes M1 or N1 according to Annex II Section A of Directive 70/156/EC and three-wheeled vehicles according to Directive 92/61/EC, however excluding three-wheeled motorcycles. | | +| VIN | vehicle identification number | ISO 3779:2009-10 | +| Waste | Materials, co-products, products, or emissions without economic value that the holder intends or is required to dispose of. | DIN EN ISO 14067, Feb. 2019, p. 26; WBCSD Pathfinder | +| Waste | Any substance or object which the holder discards or intends or is required to discard. | Art. 3(1) of the Directive 2008/98/EC | +| Waste hierarchy | The waste hierarchy is the following priority order in waste prevention and management: (a) prevention; (b) preparing for re-use; (c) recycling; (d) other recovery, e.g., energy recovery; and (e) disposal. | Art. 4 (1) of the Directive 2008/98/EC | +| Waste Prevention | Waste prevention is any measure taken to ensure that a substance, material or article does not become a waste. It is used to reduce the amount of waste, the harmful effects of the waste on people and the environment, or the content of harmful substances in materials and articles. | Kreislaufwirtschaftsgesetz | +| Term | Definition | Source | +| - | - | - | +| Allocation | Partitioning the input or output flows of a process or a product system between the product system under study and one or more other product systems | DIN EN ISO 14040 | +| Attributable process | Those processes that consists of all service, material and energy flows that become, make and carry a product throughout its life cycle. | WBCSD Pathfinder | +| Bio-based Materials | Material of biological origin (biomass excluding material embededded in geological formations and / or fossilised) | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172132, P. 9 | +| Bio-based products | wholly or partly derived from materials of biological origin, excluding materials embedded in geological formations and/or fossilised. | | +| Biomass | Material of biological origin, excluding material embedded in geological formations or transformed material of biological origin, excluding material embedded in geological formations or transformed to fossilized material and excluding peat | DIN ISO 14021 | +| By-Product | Substance or object, resulting from a production process, the primary aim of which is not the production of that item, and does not constitute waste (as defined in Directive 2008/98/E on waste) | Art. 5 No. 1 WFD (Waste framework directive 2008/98/EC) | +| Biodiversity | Biological diversity means the variability among living organisms from all sources including, inter alia, terrestrial, marine and other aquatic ecosystems and the ecological complexes of which they are part: diversity in species, between species and of ecosystems. | Art. 2 UN Convention on biological diversity; ESRS E4 (COM(2023) 5303 final | +| Carbon offsetting | Mechanism for compensatingfor a full PCF or a partial PCF through the prevention of the release of,reduction in, or removal of an amount of GHG emissions in a process outside the product system under study | DIN EN ISO 14067 | +| CAS Number | a unique numerical identifier assigned by the Chemical Abstracts Service (CAS) to every chemical substance described in the open scientific literature. / Except for a small selection of most common substances released under CCBY-NC license the CAS numbers are a proprietary identification scheme to be licensed from CAS (USA) | [CAS REGISTRY / CAS](https://www.cas.org/cas-data/cas-registry) | +| Certificate of Decstruction | An official document issued in accordance with the minimum requirements set out by the European Commission's Decision of February 19, 2002. It confirms the proper disposal of an end-of-life vehicle and is required for vehicle deregistration. | 2000/53/EC | +| Chain-of-Custody approach | A process by which inputs and outputs and associated information are transferred, monitored and controlled as they move through each step in the relevant supply chain. See Mass Balance for details | ISO 22095 | +| Chemical Recycling | Chemical or feedstock recycling refers to the conversion of plastic polymers into their monomers or chemical building blocks or basic chemicals, i. e. depolymerisation by means of thermochemical or chemical processes, although there is currently no uniform, legally binding definition. | Background Paper pn Chemical Recycling - German Environmental Agency, Dec 2020 | +| Circular Econamy | See chapter 3.1; but also “An ec economic system that uses a systemic approach to maintain a circular flow of resources, by recovering, retaining or adding to their value, while contributing to sustainable development | ISO/DIS 59004:2023(E) | +| Circular Economy Principles | The Circular Economy is based on three principles, driven by design: (i) eliminate waste and pollution; (ii) circulate products and materials at their highest value; and (iii) regenerate nature. | EFRAG-Draft ESRS (11/2022) | +| Carbon offsetting | Mechanism for compensatingfor a full PCF or a partial PCF through the prevention of the release of,reduction in, or removal of an amount of GHG emissions in a process outside the product system under study | DIN EN ISO 14067, Feb. 2019, p. 18 | +| Closed-loop recycling | In a closed loop, the secondary material from one product system is either reused in the same product system (real closed-loop) or used in another product system without changing the inherent technical properties of the material (quasi closed-loop). | | +| CO2e (carbon dioxide equivalent) | Unit for comparing the radiative forcing of a greenhouse gas to that of carbon dioxide | DIN EN ISO 14067, Feb. 2019, p.20 | +| component | part or small assembly of parts used as part of a larger assembly | Artikel 2 Begriffsbestimmungen 200053EG | +| Compostable | characteristic of a product, packaging or associated component that allows it to biodegrade, generating a relatively homogeneous and stable humus-like substance. | DIN ISO 14021 | +| Consumer | Any natural person who, in contracts covered by this Directive, is acting for purposes which are outside his trade, business, craft or profession | 2011/83/EU on conusmer rights | +| Co-product | Any of two or more products comning from the same unit process or product system | DIN EN ISO 14067, Feb. 2019, p.22 | +| Cradle-to-gate PCF | Part of a product’s full lifecycle, covering all emissions allocated to a product upstream of a company plus all emissions resulting from processes within the company until the product leaves the suppliers' gate | WBCSD Pathfinder | +| Cut-off criteria | Specification of the amount of material or energy flow or the level of significance of GHG emissions associated with unit processor the product system, to be excluded from a PCF study | DIN EN ISO 14067, Feb. 2019 p.24 | +| Declared unit | Quantity of a product for use as a reference unit in the quantification of a Cradle-to-Gate PCF | adapted from DIN EN iso 14067 | +| Degradable | A characteristic of a product or packaging that, with respect to specific conditions, allows it to break down to a specific extent within a given time. | DIN ISO 14021 | +| Digital Twin | The Digital Twin is a virtual representation of assets and adheres to the following characteristics: The DT has at least one Catena-X-wide unique ID. Digital Twins are organized by a set of Aspects. The set can be extended over lifetime. An Aspect of a DT includes both structural as well as behavioral data and models (including operations and simulation models). The semantics of an Aspect can be described via semantic models A single Aspect can be connected to different heterogenous data sources (including behavioural models) The DT can represent asset types (e.g. virtual prototype of a car) and asset instances (e.g. real car) A DT can cover the whole asset lifecycle including (e.g. planning phase, production, sales, use and decommissioning phase). However, in practice there may be more than one twin with different IDs representing different lifecycle phases (e.g. a twin for types and multiple twins for instances). An asset can have more than one DT The DT represents current available information about an asset (synchronized at a specified frequency and fidelity) which can be leveraged for simulation and business process integration By using aspects the DT can reference other DT to express "part of" or "consists of" relations | Catena-X definition | +| Direct emissions | GHG emissions from the processes that are owned or controlled by the reporting company | WBCSD Pathfinder | +| Downstream emissions | Indirect GHG emissions that occur in the value chain following the processes owned or controlled by the reporting company | WBCSD PAthfinder | +| Durability | The ability of a product, component or material to remain functional and relevant when used as intended. | EFRAG - Draft ESRS (11/2022) | +| ecological assessment | compilation and evoluation of the inputs, outputs, and potential environmental impacts of a product system throughout its life cycle | Artikel 2 Begriffsbestimmungen 200053EG | +| end-of-life | the point at which a product or component is taken out of use | Artikel 2 Begriffsbestimmungen 200053EG | +| end-of-life vehicle | vehicles that are considered waste under Article 1 letter a) of Directive 75/442/EC | Artikel 2 Begriffsbestimmungen 200053EG | +| End-of-waste | The end-of-waste state for waste in Europe is reached when the material is no longer considered waste under the national implementation of the Waste Framework Directive. | EN 15804 | +| Functional unit | Quantified benefit of a product system for use as a comparison unit | | +| Fossile Materials | Fossil raw materials are all raw materials derived from organic material. They incldude coal, crude oil and natural gas. | Bundesverband Geothermie | +| Global warming potential (GWP) | Index, based on radiative properties of GHGs, measuring the radiative forcing following a pulse emission of a unit mass of a given GHG in the present-day atmosphere integrated over a chosen time horizon, relative to that of carbon dioxide (CO2) | DIN EN ISO 14067, Feb. 2019, p. 21 | +| Greenhouse gases (GHGs) | Gaseous constitient of the atmosphere, both natural and anthropogenic, that absorbs and emits radiation at specific wavelengths within the spectrum of infrared radiation emitted by the Earth´s surface, the atmosphere, and clouds | DIN ISO 14067, Feb. 2019, p. 19 | +| ILCD Format | International Life Cycle Data Format | | +| intermediate product | output from a unit process that is input to other unit processes that require further transformation within the system | | +| input | product, material, or energy flow that enters a unit process. Products and materials include raw materials, intermediate products, and coproducts. | WBCSD Pathfinder | +| Land use | Human use or management of land within the relevant boundary | DIN EN ISO 14067, Feb. 2019 p. 30 | +| life cycle | consecutive and interlinked stages to a product, from raw material acquisition or generation from natural resources to final disposal. | DIN EN ISO 14067, Feb. 2019 p. 25 | +| Life cycle assesment (LCA) | Compilation and evaluation of the inputs, outputs and potential environmental impacts of a product system throughout its life cycle | DIN EN ISO 14067, Feb. 2019, p. 25 | +| Life cycle emissions | The sum of GHG emissions resulting from all stages of the life cycle of a product and within the specified boundaries of the product | WBCSD Pathfinder | +| Life cycle inventory (LCI) | The phase of life cycle assessment involving the compilation and quantification of inputs and outputs for a product throughout its life cycle (such as a product´s GHG emissions and sources) | DIN EN ISO 14067, Feb. 2019, p. 25 | +| Life cycle inventory results | GHG impact of the studied product per unit of analysis | WBCSD Pathfinder | +| Mass | In physics, mass is not the same as weight. Mass is both a property of a physical body and a measure of its resistance to acceleration. For disambiguation see definition of "Weight" below | | +| Mass Balance | Mass balance is one of several well-known chain of custody approaches that can be used to track the flow of materials through the value chain. The total quantity of the content in question is tracked through the production system and the allocation of this content is made to the end products based on verifiable accounting. The goal of this method is to ensure proper accounting and to confirm a link between the incoming content (e.g., "sustainable," "recycled," or "organic" according to some definition) and the eventual outgoing product. | [https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf](https://www.basf.com/global/documents/de/sustainability/we-source-responsibly/Mass-Balance-White-Paper-2020.pdf) | +| Material | Physical good used as input for production processes of goods or services, or physical good suppliedto a customer as output | adapted from WBCSD Pathfinder | +| Material / Raw Material | Materials are composed of basic substances, (1) either one or more chemical element(s) (like iron, copper) (2) or one or more chemical compound(s) (like acrylic resin, zinc oxide) (3) or one or more materials (like polyamide and glas fibre). Therefore, a material definition is only valid if a definition of (see chemical composition) is given alongside it. | Catena-X Definition, IMDS | +| Material Composition | see chemical composition | Own Catena-X definition | +| Material Declaration | Material declaration (MD) is the process mandated to meet the obligations placed on (automobile) manufacturers, and thus on their suppliers, by national and international standards, laws and regulations. | IMDS Information Pages - Home - IMDS Public Pages (mdsystem.com) | +| Material Details | Collection of material information defined by given context in an information model | Catena-X Definition | +| Material Identifier | Material Identifier is a alphanumerical identifier that serves programmatic functions (e.g., as data ID) but also satisfies chemical regulation (see material declaration) under national and international law. | Catena-X definition | +| Material Name | Trivial name (often name of a chemical group) used to denote some material in everyday speech or jargon. Entirely dependent on specific context. | Catena-X definition | +| Material Type | Groups of materials defined by convention (e.g., IMDS) or ISO Standard (e.g., ISO 62474) in order to simplify communication of relevance of material information (in search or filtering) | [https://std.iec.ch/iec62474/iec62474.nsf/Index?open&q=180013](https://std.iec.ch/iec62474/iec62474.nsf/Index?open&q=180013) | +| Mechanical Recycling | End-of-life materials can be processed via collecting, sorting, shredding, melting and transforming it into secondary raw materials for a new application. This form of recycling involves processes in which e.g. the polymer structure is not significantly changed and the plastic is preserved as a material. Thus, in terms of its complexity, mechanical recycling takes place at a lower technical level than chemical recycling. | [Mechanical recycling (basf.com)](https://www.basf.com/global/en/who-we-are/sustainability/we-drive-sustainable-solutions/circular-economy/mechanical-recycling.html) [Glossar und Methoden/Statistikportal.de](https://www.statistikportal.de/de/ugrdl/glossar-und-methoden#P) | +| Multi-input-output unit process | Operation or process with multiple inputs, such as materials and energy, and multiple outputs, such as co-products and waste | WBCSD Pathfinder | +| Negative emissions | Removal of greenhouse gases (GHGs) from the atmosphere by deliberate human activities, i.e., in addition to the removal that would occur via natural carbon cycle processes | IPCC glossary | +| Net negative emissions | A situation of net negative emissions is achieved when,as the result of human activities, more greenhouse gases are removed from the atmosphere than are emitted into it. Where multiple greenhouse gases are involved, the quantification of negative emissions depends on the climate metric chosen to compare emissions of different gases (such as global warming potential, global temperature change potential, and others, as well as the chosen time horizon). | IPCC glossary | +| Net zero CO2 emissions | Net zero carbon dioxide (CO2) emissions are achieved when anthropogenic CO2 emissions are balanced globally by anthropogenic CO2 removals over a specified period. Net zero CO2 emissions are also referred to as carbon neutrality. | IPCC glossary | +| Net zero emissions | Net zero emissions are achieved when anthropogenic emissions of greenhouse gases into the atmosphere are balanced by anthropogenic removals over a specified period. Where multiple greenhouse gases are involved, the quantification of net zero emissions depends on the climate metric chosen to compare emissions of different gases (such as global warming potential, global temperature change potential, and others, as well as the chosen time horizon). | IPCC glossary | +| Open-loop recycling | In open-loop recycling, the material is reused in other productsystems and its inherent properties are changed (e.g., recycled material may have a different chemical composition, a different structure or a higher concentration of dissolved impurities compared to primary material). | | +| output | product, material, or energy flow that leaves a unit process. Products and material include raw materials, intermediate products, co-products, and releases. | WBCSD Pathfinder | +| Partial PCF | Sum of GHG emissions and GHG removals of one or more selected process(es) in a product system, expressed as carbon dioxide equivalents and based on the selected stages or processes within the life cycle. | DIN EN ISO 14067, Feb. 2019, p. 16 | +| Post-consumer Recyclate | Post-Consumer (PCR) recycled content represents the total proportion, by mass, of post-consumer input materials incorporated in the process. | SP-Recycled-Content-Definition-Final-09102021-1.pdf | +| Post-consumer material | Material generated by households or by commercial, industrial and institutional facilities in their role as end-users of the product which can no longer be used for its intended purpose. This includes returns of material from the distribution chain. Post-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | +| Pre-consumer Material | Material diverted from the waste stream during a manufacturing process. Excluded is reutilization of materials such as rework, regrind or scrap generated in a process and capable of being reclaimed within the same process that generated it. Pre-consumer material can be used in the form of recovered or recycled material as a substitute for primary material. | DIN ISO 14021 | +| Primary data | Data pertaining to a specific product or activity within a company’s value chain. Such data may take the form of activity data, emissions, or emission factors. Primary data is site-specific, company-specific (if there are multiple sites for the same product) or supply chain–specific. | WBCSD Pathfinder | +| Primary Material | Raw material coming from the environment, as well as materials of differing stages of processing (Raw materials, semi- and finished goods), which are used in the production process for the first time. | | +| Process | Set of interrelated or interacting activities that transforms inputs into outputs. | DIN EN ISO 14067, feb. 2019, p. 23 | +| prevention | measures to reduce the quantity and environmental harm of end-of-life vehicles, their materials, and substances. | | +| producer / Manufacturer | the vehicle manufacturer or the commercial importer of a vehicle into a EU Member State | | +| product | a product refers to any goods or service, which can be categorized as services (e.g. transport), software (e.g. computer program, dictionary), hardware (e.g. engine mechanical part), and processed materials (e.g. lubricant). Services have both tangible and intangible elements. The provision of a service can involve activities such as repairing a customer-supplied tangible product (e.g. an automobile) or working on a customer-supplied intangible product (e.g. preparing a tax return using an income statement). | | +| Product carbon footprint (PCF) | Total GHG emissions generated during the life cycle of a product, measured in CO2e. Within the boundary of the CX-PCF Rulebook, emissions related to the product use and end-of-life stages are excluded from the PCF. | WBCSD Pathfinder | +| Product category | Group of products that can fulfill equivalent functions. | WBCSD Pathfinder | +| Product category rules (PCR) | A set of specific rules, requirements, and guidelines for calculating PCFs (among other things) and developing environmental declarations for one or more product categories according to EN ISO 14040:2006. | WBCSD Pathfinder | +| Production | Process of combining various inputs, both material (such as metal, wood, glass, or plastics) and immaterial (such as plans, or knowledge) in order to create output. | | +| product system | collection of unit processes with elementary and product flows, performing one or more defined functions, and which models the life cycle of a product | DIN EN ISO 14067, Feb. 2019, p. 22 | +| Production waste | Waste generated in different industries in connection with production and the opposite to consumption waste, which primarily comprise municipal waste and waste comparable to it. | [Production waste / Concepts / Statistics Finland](https://www.stat.fi/meta/kas/tuotantojate_en.html) | +| R-Strategies | Various approaches to implement circular economy, known as R-strategies, have been developed to achieve less resource and material consumption in product chains and make the economy more circular. | Potting, J., et al. "Circular economy: measuring innovation in the product chain." Planbureau voor de Leefomgeving 2544 (2017). | +| raw materials | primary or secondary material that is used to produce a product. Secondary material includes recycled material. | | +| Recovery | Any operation the principal result of which is waste serving a useful purpose by replacing other materials which would otherwise have been used to fulfill a particular function, or waste being prepared to fulfill that function, in the plant or in the wider economy. | Art. 3 (15) of directive 2008/98 EC | +| Recovered Material | Material that would have otherwise been disposed of as waste or used for energy recovery, but has instead been collected and recovered [reclaimed] as a material input, in lieu of new primary material, for a recycling or a manufacturing process. | DIN ISO 14021 | +| Recyclate | Secondary raw materials that have been generated by means of the recovery of waste or are generated in the disposal of waste and are suitable for the production of products. | | +| Recycled Content | Proportion, by mass, of recycled material in a product or packaging. The recycled content is the sum of pre-consumer material and post-consumer material. | DIN ISO 14021 | +| Recycled Material | Material, that has been reprocessed from (reclaimed) material by means of a manufacturing process and made into a final product or into a component for incorporation into a product. | DIN ISO 1402 | +| Recycling | Any recovery operation by which waste materials are reprocessed into products, materials or substances whether for the original or other purposes. It includes the reprocessing of organic material but does not include energy recovery and the reprocessing into materials that are to be used as fuels or for backfilling operations. ‘recycling’ means the reprocessing in a production process of the waste materials for the original purpose or for other purposes but excluding energy recovery. Energy recovery means the use of combustible waste as a means to generate energy through direct incineration with or without other waste but with recovery of the heat; | EFRAG – Draft ESRS (11/2022) | +| Reduce | Increase efficiency in product manufacture or use by consuming fewer natural resources and materials | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Reference flow | Measure of the inputs to or outputs from processes in a given product system required to fulfil the function expressed by the functional unit. | DIN EN ISO 14067, Feb. 2019, p. 24 | +| Refurbish | Restore an old product and bring it up to date (to specified quality level) | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Refuse | Make product redundant by abandoning its function or by offering the same function by a radically different (e.g. digital) product or service | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Releases | tbd. | | +| Remanufacture | Remanufacturing is a standardized industrial process by which a used product or part are returned to same-as-new, or better, condition and performance. The process is in line with specific technical specifications, including engineering, quality and testing standards. The process yields fully warranted products. Collecting discarded products or materials that can be refinished and sanitised to serve their original functions | CLEPA, European Environmental Agency - Eionet report ETC/WMGE 2021/10, P. 3 | +| Renewable Energy | Energy from renewable sources’ or ‘renewable energy’ means energy from renewable non-fossil sources, namely wind, solar (solar thermal and solar photovoltaic) and geothermal energy, ambient energy, tide, wave and other ocean energy, hydropower, biomass, landfill gas, sewage treatment plant gas, and biogas. | Renewable Energy Directive (2018/2001) | +| Renewable materials | Material that is derived from resources that are quickly replenished by ecological cycles or agricultural processes, so that the services provided by these and other linked resources are not endangered and remain available for the next generation. | EFRAG – Draft ESRS (11/2022) | +| Repair | Repair and maintenance of defective product so it can be used with its original function | [Link, ESPR Draft](https://op.europa.eu/en/publication-detail/-/publication/ca9846a8-6289-11ea-b735-01aa75ed71a1/language-en/format-PDF/source-120460723) | +| Repurpose | Use a redundant product or its parts in a new product with different function | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Rethink | Make product use more intensive (e.g. through product-as-a-service, reuse and sharing models or by putting multi-functional products on the market) | European Commission, Categorisation System for the Circular Economy Circular Economy, doi: 10.2777 / 172131, p. 7 | +| Reuse | Reuse of a product which is still in good condition and fulfils its original function (and is not waste) for the same purpose for which it was conceived | European Commission, Categorisation System for the Circular Economy, doi:10.2777/172131, p. 7 | +| Reutilization | Reutilization of materials such as rework, regrind, or scrap materials generated within the process and capable of being reused within the same process that generated it. Any operation by which products or components that are not waste are used again for the same purpose for which they were originally intended. Reutilization allows waste to be reduced and materials can be kept in cycle. | Adapted from ISO 14021 | +| Representative product | The representative product can be a real or an averaged (non-existing) product. The averaged product should be calculated based on sales-weighted characteristics of all technologies/materials used in the company’s production system. | | +| Resource inflow | Resource that enters the organisation's infrastructure. | EFRAG – Draft ESRS (11/2022) | +| Resource outflow | Resource that leaves the organisation's infrastructure. | EFRAG – Draft ESRS (11/2022) | +| Reuse | Any operation by which products and components that are not waste are used again for the same purpose for which they were conceived. This may involve cleaning or small adjustments so it is ready for the next use without significant definition. | Art. 3 (13) of the Directive 2008/98/EC & EFRAG-Draft ESRS (11/2022) | +| Risk management | Plans, actions, strategies, or policies to reduce the likelihood and/or consequences of risks or to respond to consequences. | IPCC Glossary, p. 45 | +| Secondary data | Secondary data can include data from databases and published literature, default emission factors from national inventories, calculated data estimates or other representative data, validated by competent authorities. | DIN EN ISO 14067, Feb. 2019, p. 28 | +| Secondary Material | Secondary materials are any materials that are not the primary products from manufacturing and other industrial sectors. These materials can include scrap and residuals from production processes and products that have been recovered at the end of their useful life. | [United States Environmental Protection Agency](https://www.epa.gov/smm/sustainable-management-industrial-non-hazardous-secondary-materials) | +| Secondary Material Framework | Secondary Material Quota = on vehicle level, Secondary Material Content = on component level | | +| Secondary Material Quota (on vehicle level) | not found | | +| Secondary Raw Material | Material that serves as a substitute for primary material and is kept in cycle. | | +| Secondary Raw Material Content | The content of materials that serve as substitutes for primary materials and are kept in cycle. The secondary raw material content is calculated in proportion of secondary material and product weight. | | +| Supplier gate | Supplier's production site or supplier's distribution site. | | +| Supply chain | Those involved, through upstream and downstream linkages, in process and activities relating to the provision of products to the user. | DIN EN ISO 14067, Feb. 2019, p. 28 | +| Sustainability | A dynamic process that guarantees the persistence of natural and human systems in an equitable manner. | IPCC Glossary, p. 49 | +| System boundary | Boundary based on a set of criteria representing which unit processes are a part of the system under study. | DIN EN ISO 14040, Feb. 2021, p. 13 | +| Treatment | Activities carried out after the end-of-life vehicle is handed over to a facility for the elimination of pollutants, dismantling, coarse crushing, shredding, recycling or preparation for disposal of shredder waste, as well as other activities related to the recycling and/or disposal of end-of-life vehicles and end-of-life vehicle components. | | +| Unit process | Smallest element considered in the life cycle inventory analysis for which input and output data are quantified. | DIN EN ISO 14067, Feb. 2019, p. 23 | +| Upstream emissions | Indirect GHG emissions that occur in the value chain prior to the processes owned or controlled by the reporting company. All upstream transportation emissions are also included as part of upstream emissions. | WBCSD Pathfinder | +| Use stage | That part of the life cycle of a product that occurs between the transfer of the product to the consumer and the end-of-life of the product. | Adapted from WBCSD Pathfinder | +| Value chain | All the upstream and downstream activities associated with the operations of a company. | WBCSD Pathfinder | +| Vehicle | Vehicles of classes M1 or N1 according to Annex II Section A of Directive 70/156/EC and three-wheeled vehicles according to Directive 92/61/EC, however excluding three-wheeled motorcycles. | | +| VIN | vehicle identification number | ISO 3779:2009-10 | +| Waste | Materials, co-products, products, or emissions without economic value that the holder intends or is required to dispose of. | DIN EN ISO 14067, Feb. 2019, p. 26; WBCSD Pathfinder | +| Waste | Any substance or object which the holder discards or intends or is required to discard. | Art. 3(1) of the Directive 2008/98/EC | +| Waste hierarchy | The waste hierarchy is the following priority order in waste prevention and management: (a) prevention; (b) preparing for re-use; (c) recycling; (d) other recovery, e.g., energy recovery; and (e) disposal. | Art. 4 (1) of the Directive 2008/98/EC | +| Waste Prevention | Waste prevention is any measure taken to ensure that a substance, material or article does not become a waste. It is used to reduce the amount of waste, the harmful effects of the waste on people and the environment, or the content of harmful substances in materials and articles. | Kreislaufwirtschaftsgesetz | + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- Copyright (c) 2023,2024 BMW AG +- Copyright (c) 2023,2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IPK) +- Copyright (c) 2023,2024 BASF SE +- Copyright (c) 2023,2024 SAP Deutschland SE & Co.KG +- Copyright (c) 2023,2024 T-Systems International GmbH +- Copyright (c) 2023,2024 LRP Auto-Recycling Leipzig GmbH +- Copyright (c) 2023,2024 Robert Bosch GmbH +- Copyright (c) 2023,2024 tec4U-Ingenieurgesellschaft mbH +- Copyright (c) 2023,2024 Contributors to the Eclipse Foundation# NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- Copyright (c) 2023,2024 BMW AG +- Copyright (c) 2023,2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IPK) +- Copyright (c) 2023,2024 BASF SE +- Copyright (c) 2023,2024 SAP Deutschland SE & Co.KG +- Copyright (c) 2023,2024 T-Systems International GmbH +- Copyright (c) 2023,2024 LRP Auto-Recycling Leipzig GmbH +- Copyright (c) 2023,2024 Robert Bosch GmbH +- Copyright (c) 2023,2024 tec4U-Ingenieurgesellschaft mbH +- Copyright (c) 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-software-development-view.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-software-development-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-software-development-view.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-software-operation-view.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/page-software-operation-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page-software-operation-view.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page_changelog.md new file mode 100644 index 00000000000..eba03a28e75 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/page_changelog.md @@ -0,0 +1,59 @@ +--- +id: Changelog Circularity KIT +title: Changelog +description: "Circularity KIT" +sidebar_position: 1 +--- + +![Circulairty kit banner](/img/kit-icons/circularity-kit-icon.svg) +All notable changes to this Kit will be documented in this file. + +## [1.2.0] - 23.07.2024 + +### Added + +- add Informational Requirements at End of Life + +## [1.1.0] - 15.05.2024 + +### Added + +- add references to PCF Content + +### Changed + +- change glossary to unified version + +### Removed + +- remove duplicate content from PCF KIT + +## [1.0.0] - unreleased + +### Added + +- ./. + +### Changed + +- Changed banner image file location and converted .png image to .svg + +### Removed + +- ./. + +## [0.2.0] - 2024-03-08 + +- added: Secondary Material Chapter +- changed: integrated SMC Chapter into other KIT content +- removed: typos + +## [0.1.0] - 2023-12-08 + +### Added + +- add Circularity KIT to Tractus-X Repository + +### Changed + +### Removed diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/Relationship_between_Material_Characteristics.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/circularity_kit_wheel.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/communication_architecture.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/custody_models.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/custody_models.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/custody_models.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/custody_models.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/custody_models.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/custody_models.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/custody_models.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/custody_models.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/datapoints_along_valuechain.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/depiction_of_smc_data_models.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/eq_post_consumer_material_content.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/eq_post_consumer_material_content.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/eq_post_consumer_material_content.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/eq_post_consumer_material_content.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/eq_pre_consumer_material_content.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/eq_pre_consumer_material_content.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/eq_pre_consumer_material_content.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/eq_pre_consumer_material_content.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_Reutilization_content.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_Reutilization_content.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_Reutilization_content.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_Reutilization_content.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_SMC.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_SMC.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_SMC.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_SMC.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_SMQ.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_SMQ.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/equation_SMQ.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/equation_SMQ.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure11.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure11.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure11.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure11.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure11.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure11.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure11.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure11.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure7.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure7.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure7.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure7.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure7.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure7.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure7.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure7.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_dataJourney_EOF.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_user_journey_codm.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/figure_userstory_ce_assistant.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/material_charactersitics.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/overview_material_flow.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/userJourney_smc.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Circularity_KIT/resources/adoption-view/user_journey_secondary_marketplace.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Adoption View/adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/adoption-view.md similarity index 96% rename from docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Adoption View/adoption-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/adoption-view.md index 474ef7c682f..9ea0a0d2c3c 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Adoption View/adoption-view.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/adoption-view.md @@ -5,7 +5,7 @@ description: Adoption View id: connector_kit_adoption_view --- -![Connector kit banner](@site/static/img/ConnectorKitIcon.png) +![Connector kit banner](/img/kit-icons/connector-kit-icon.svg) ## Connector KIT @@ -56,7 +56,7 @@ principles: ## Use Case The EDC is the enabling component for all use cases within Catena-X and the only component to execute the exchange of -operational data to Data Space participants. The base use case is therefore the exchange of data between to partners. +operational data to Data Space participants. The base use case is therefore the exchange of data between two partners. Value creation along the automotive value chain is tied to processing data in specific contexts. Within Catena-X exist 10 use cases companies can participate in. Active participation in given use cases always requires the use of a connector compliant to the [DSP][dsp-url] such as the [EDC][edc-url]. Depending on the use case a participant chooses to @@ -199,11 +199,9 @@ inherently asynchronous, so the `TransferProcess` objects are stored in a backin This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 sovity GmbH -- SPDX-FileCopyrightText: 2023 msg systems AG -- SPDX-FileCopyrightText: 2023 Mercedes-Benz Group AG -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) [edc-url]: https://github.com/eclipse-edc/Connector @@ -221,7 +219,7 @@ This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses [BPDM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Business%20Partner%20Kit/Adoption%20View -[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/DCM-Kit/adoption-view +[DCM-url]: https://eclipse-tractusx.github.io/docs-kits/next/kits/Demand%20and%20Capacity%20Management%20Kit/adoption-view/overview [PURIS-url]: https://github.com/eclipse-tractusx/puris diff --git a/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/policies-in-catena.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/policies-in-catena.md new file mode 100644 index 00000000000..603fcfe3a37 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/policies-in-catena.md @@ -0,0 +1,250 @@ +--- +sidebar_position: 3 +description: 'Conventions and behavior specific to Catena-X' +title: Policies in Catena-X +id: connector_kit_adoption_view_policies_cx +--- + +## Data Sovereignty in Catena-X + +This page extends on the previous section's fundamentals and introduces conventions specific to the Catena-X Dataspace. +It assumes basic knowledge on `Policies` and their processing. Please go back to [the fundamentals](working-with-policies.md) +if that's unfamiliar. + +Catena-X recommends to focus on `permission` property to further specify the contracts' details. In general, +every data provider can decide on his or her own under which conditions their data datasets (assets) are shared in the +network. In practice, this works as long as both parties, Provider and Consumer, have the same understanding of its +legal meaning. Therefore, standardized such `Constraint`s with their `leftOperand`s and `rightOperand`s are key for +automation. Still, individual freedom of contract is a very high good and is still possible. + +This guidance is however also relevant for Enablement Service Providers building components enabling connectivity to the +Dataspace (as specified in CX-0018). The authoritative resource for schemas is +the [Catena-X ODRL Profile](https://github.com/catenax-eV/cx-odrl-profile). It is also available via the [Policy Hub](https://github.com/eclipse-tractusx/policy-hub/blob/main/docs/technical-documentation/requests/example-requests.md) +that is operated centrally. The API is documented in this Repository and can be accessed with an access token to the +Portal. It's a convenience feature for the negotiating parties to check if a given offer matches the policy constraints +agreed by the Catena-X association - for instance by keeping a definite list of valid `rightOperands` to a particular +`leftOperand` in a `Constraint`. + +As mentioned in the primer on policies, Providers and Consumers must have a common +understanding of the meaning and consequences of `odrl:Offers` and, on a more granular level, their `odrl:Constraints`. +That's why there is a set of predefined `odrl:Constraints` - all of which have to +be [accepted explicitly](working-with-policies.md#consumer-side-odrloffer-in-a-contractrequestmessage) and +some [checked against a Consumer's VP](working-with-policies.md#provider-side-checking-a-consumers-verifiable-presentation) +additionally. They are formalized in the [Catena-X ODRL profile](https://github.com/catenax-eV/cx-odrl-profile) +which extends the regular [ODRL vocabulary](https://www.w3.org/TR/odrl-vocab/). Since usage or contract policies are +highly dependent on the use case, +they are described by them in their associated KITs and only general elements are explained in the following. + +Here's a non-normative overview of these extensions: + +### Data Exchange Governance + +The FrameworkAgreement references the legally binding Data Exchange Governance document set up by the Catena-X association. It +governs the _"who, with whom, what, where from and where to, why, how, and when"_ of Data Sharing in Catena-X +([Source](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations)). +It is roughly structured along the lines of business scenarios under which a set of business partners +want to exchange data. + +Each Participant commits to the Data Exchange Governance during Onboarding. They are granted a set of VCs as proof of +that commitment. Consequently, the FrameworkAgreement Constraint belongs to the kind of `odrl:Constraint`s that have to be +[checked against a VP](working-with-policies.md#provider-side-checking-a-consumers-verifiable-presentation). The +details are listed in the most current version of standard +[CX-0050 Framework Credential](https://catena-x.net/de/standard-library). +The Governance Framwork is referred to in a machine-readable way in a Provider's Offers. When a Consumer starts the +negotiation for said offer, not only will the Policy in the `ContractRequestMessage` be checked but also their +Credentials. Here's an example of an `odrl:Constraint` referencing the Data Exchange Governance and invoking the VC-check: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "odrl:leftOperand": "https://w3id.org/catenax/policy/FrameworkAgreement", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "DataExchangeGovernance:1.0" +} +``` + +### Usage Purposes + +Purposes are published in [CX ODRL Profile](https://github.com/catenax-eV/cx-odrl-profile) and restrict the purpose the Consumer is privileged to use the +obtained data for. Unlike a Use Case Framework Constraint, the purposes are NOT checked against VCs, thus necessary +for a successful negotiation mechanism is +only [the Consumer's consent to the Offer](working-with-policies.md#consumer-side-odrloffer-in-a-contractrequestmessage). +Versions for UsagePurpose `rightOperand`s are typically 1-digit. + +Here's an example from the Use Case Framework Traceability: + +| Predefined Policy | Typically used where? | Predefined Purpose | +|----------------------------------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| +| `cx.core.qualityNotifications:1` | Notification API | The data can be used for quality analysis to identify and select affected components and to send quality notifications to affected customers or suppliers | + +A `odrl:Constraint` referencing this purpose looks like this: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "odrl:leftOperand": "https://w3id.org/catenax/policy/UsagePurpose", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "cx.core.qualityNotifications:1" +} +``` + +### Contract References + +Contract References by default aren't checked against credentials either. They are a vehicle to refer to contracts that +are not governed by the Catena-X association - for instance bilaterally. Referencing such a contract's identifier can +be achieved via an `odrl:Constraint` like this: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "odrl:leftOperand": "https://w3id.org/catenax/policy/ContractReference", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "contract-123456789" +} +``` + +### Chaining Constraints + +If a Policy is supposed to hold multiple constraints, Data Providers may chain them via a logical AND. This can be +achieved via an `odrl:and` object encapsulating multiple other `odrl:Constraint`s or entering a list of them +into the `odrl:constraint` property. The example below contains both versions. + +Constraints that are supposed to be checked with a logical OR should be published as separate Data Offers. + +## Example + +This specific Catalog contains one single `dcat:Dataset`, called "json-1-paper". It is the only entry in the top-level +`dcat:dataset` property. To access this Dataset, the Consumer can choose between two Offers (see the `odrl:hasPolicy` +property): + +- `"Y29udHJhY3QtYmlsYXRlcmFsLXBhcGVyLWV4YW1wbGUtMg==:anNvbi0xLXBhcGVy:ZDA4ZDM5OTgtOGY5ZS00MzBmLThjZDEtZmYwOWQxMmQxYzk5"` +- `"Y29udHJhY3QtYmlsYXRlcmFsLXBhcGVyLWV4YW1wbGUtMQ==:anNvbi0xLXBhcGVy:ODFkMDI2MWYtNDNlNi00ZTIxLWJkMWYtZmFmZTI3MWQwYzhj"` + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "dcat": "http://www.w3.org/ns/dcat#", + "dct": "https://purl.org/dc/terms/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + }, + "@id": "693e9b66-04f2-4bfb-b3cd-daf5857b47c9", + "@type": "dcat:Catalog", + "dcat:dataset": [ + { + "@id": "json-1-paper", + "@type": "dcat:Dataset", + "odrl:hasPolicy": [ + { + "@id": "Y29udHJhY3QtYmlsYXRlcmFsLXBhcGVyLWV4YW1wbGUtMg==:anNvbi0xLXBhcGVy:ZDA4ZDM5OTgtOGY5ZS00MzBmLThjZDEtZmYwOWQxMmQxYzk5", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:action": { + "@id": "http://www.w3.org/ns/odrl/2/use" + }, + "odrl:constraint": { + "odrl:and": [ + { + "odrl:leftOperand": "https://w3id.org/catenax/policy/FrameworkAgreement", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "DataExchangeGovernance:1.0" + }, + { + "odrl:leftOperand": "https://w3id.org/catenax/policy/UsagePurpose", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "cx.core.industrycore:1" + } + ] + } + }, + "odrl:prohibition": [], + "odrl:obligation": [] + }, + { + "@id": "Y29udHJhY3QtYmlsYXRlcmFsLXBhcGVyLWV4YW1wbGUtMQ==:anNvbi0xLXBhcGVy:ODFkMDI2MWYtNDNlNi00ZTIxLWJkMWYtZmFmZTI3MWQwYzhj", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:action": { + "@id": "http://www.w3.org/ns/odrl/2/use" + }, + "odrl:constraint": [ + { + "odrl:leftOperand": "https://w3id.org/catenax/policy/FrameworkAgreement", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "DataExchangeGovernance:1.0" + }, + { + "odrl:leftOperand": "https://w3id.org/catenax/policy/ContractReference", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "contract-123456789" + }, + { + "odrl:leftOperand": "https://w3id.org/catenax/policy/UsagePurpose", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "cx.core.industrycore:1" + } + ] + }, + "odrl:prohibition": [], + "odrl:obligation": [] + } + ], + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpData-PULL" + }, + "dcat:accessService": "911f5da0-c9ee-4259-9a95-39428d08f777" + } + ], + "version": 1.0, + "content-type": "application/json", + "name": "json-1-paper", + "description": "Asset json-1-paper for test purposes", + "id": "json-1-paper" + } + ], + "dcat:service": { + "@id": "911f5da0-c9ee-4259-9a95-39428d08f777", + "@type": "dcat:DataService", + "dct:terms": "connector", + "dct:endpointUrl": "https://provider-dsp-end.point/api/v1/dsp" + }, + "participantId": "PROVIDER-BPNL" +} +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/working-with-policies.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/working-with-policies.md new file mode 100644 index 00000000000..65bad9916bc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Adoption View/working-with-policies.md @@ -0,0 +1,127 @@ +--- +sidebar_position: 2 +description: 'General Information on EDC Policies' +title: Working with Policies +id: connector_kit_adoption_view_policies +--- + +## Working with Policies + +This section includes some general remarks on the concept of `Policies` and how they are treated in the EDC. The entire +page is independent of the conventions in the Catena-X Dataspace. For that, please check [Policies in Catena-X](policies-in-catena.md). + +Policies are a formalization of the terms under which a Provider extends an offer to the Dataspace. The [Dataspace +Protocol Specification](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol) +has selected the [Open Digital Rights Language (ODRL)](https://www.w3.org/TR/odrl-model/) as a formalism and vocabulary to describe such offers. +This site (and its [specialization for Catena-X](policies-in-catena.md)) exclusively cover the topic of Policies in the +sense of the Dataspace Protocol. The EDC also uses ODRL-Policies to restrict visibility on Catalog-Entries - calling +them [Access Policies](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md#access--usage-policies). Selecting the right Access Policies is a matter of the individual Data Provider and not +regulated by the Dataspace. Doing it properly however is essential to comply with fundamental anti-trust and information +security requirements. + +Like all payloads that get passed between connectors, ODRL is an RDF-based description language that is on the wire +serialized as JSON-LD. JSON-LD is namespace-aware JSON with a couple of twists that one should be aware of when working +with it (like "Structures may be semantically equivalent even though, schematically, they are clearly not"). ODRL +enables a Provider to be very specific when it comes to the usage of data: What may a consumer do with it? What +obligations does a consumer incur when accepting the offer? + +The first time the Consumer encounters a Policy is when evaluating a Provider's [Catalog](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/catalog/catalog.protocol). It contains Offers +of `@type` `odrl:Set` which is a [subclass](https://www.w3.org/TR/odrl-model/#policy-set) of `odrl:Policy`. +All terms can be used interchangeably, Offer is most common. Their content is contained in the +`odrl:permission`, `odrl:prohibition` and `odrl:obligation` properties. They hold `odrl:Rules` that have to be +satisfied by the Consumer. There's two ways that can happen. + +### Consumer-side: `odrl:Offer` in a `ContractRequestMessage` + +Firstly, when transmitting a [`ContractRequestMessage`](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/contract-negotiation/contract.negotiation.protocol#id-2.1-contract-request-message) +(for example triggered via the EDC's [contract-negotiations API](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/05_contractnegotiations.md)), the +Consumer must signify consent to the Offer by including it in the Request and adding the `odrl:target` property on the +level of an `odrl:Offer`. It is a very, very bad idea to simply copy the next-best Offer from the Catalog and replay it +to the Provider. Instead, Consumers must perform internal checks which (if any) Offer proposes terms that they want to +agree to. It is possible (though not usual) to encode obligations in the in an `odrl:Offer` that a Consumer must +satisfy. Returning a `ContractRequestMessage` to the Provider, echoing the pricing information, would represent a +legally binding agreement in accordance to the conditions proposed by the Provider's Offer. Thus, selecting an offer +extended by a Provider company should thus be handled with appropriate care. + +The Provider will usually accept the ContractRequest only if the extended Offer is semantically equivalent to his own +as distributed via the Catalog. + +### Provider-side: Checking a Consumer's Verifiable Presentation + +In addition to checking the Offer's structure (as above), Providers' Connectors have the chance to query the Consumer's +Verifiable Presentation (VP). A VP is a set of Verifiable Credentials (VCs) that a Consumer may have been issued by a +trusted third party. In this VC, a Provider may find additional information if a Consumer is eligible to pass a certain +`odrl:Constraint`. Transfer of VPs is handled automatically between the Participants' Identity Wallets by means of the +[IATP VPP](https://github.com/eclipse-tractusx/identity-trust/blob/main/specifications/verifiable.presentation.protocol.md). + +If, for example, the Consumer tries to negotiate for an Offer that is extended only to interested +parties from civil society (like an NGO), simply pretending to be an NGO shouldn't be enough. It has to be verified and +can be verified with help of the VP. For that, a "NonGovernmentalOrganizationCredential" could be issued during the +onboarding process according to the role a Participant assumes in the Dataspace. For more on the interrelation between +Credentials and Constraints, refer to standards CX-0018 and CX-0149. + +A offer containing a `odrl:Use` permission with a `odrl:Constraint` could (in a hypothetical scenario) look like this: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@id": "Y29udHJhY3QtYmlsYXRlcmFsLXBhcGVyLWV4YW1wbGUtNA==:anNvbi0xLXBhcGVy:Y2JhMGFmM2QtZTIwYi00ZjExLThlZmQtM2FhMzcyZmI1Nzhh", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:action": { + "odrl:type": { + "@id": "http://www.w3.org/ns/odrl/2/use" + } + }, + "odrl:constraint": { + "odrl:and": [ + { + "odrl:leftOperand": "https://w3id.org/some-dataspace/role", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "NGO" + } + ] + } + }, + "odrl:prohibition": [], + "odrl:obligation": [] +} +``` + +The Constraint would in that case be checked against the `"type"` property, attesting the information that the presented +VC does in fact attest that the holder is a Non-Governmental Organization. A Provider Connector would have to have +appropriate logic implemented to extract relevant information from the VP to satisfy the `odrl:Constraint`. + +```json +{ + "@context": [ + "https://www.w3.org/2018/credentials/v1", + "https://w3id.org/mydataspace/credentials/v1.0.0" + ], + "id": "1f36af58-0fc0-4b24-9b1c-e37d59668089", + "type": [ + "VerifiableCredential", + "NonGovernmentalOrganizationCredential" + ], + "issuer": "did:web:com.example.issuer", + "issuanceDate": "2021-06-16T18:56:59Z", + "expirationDate": "2022-06-16T18:56:59Z", + "credentialSubject": { + "id": "did:web:com.example.participant", + "holderIdentifier": "BPNL000000001" + } +} +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/architecture.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/architecture.md new file mode 100644 index 00000000000..9c5a06e2ba1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/architecture.md @@ -0,0 +1,71 @@ +--- +sidebar_position: 2 +title: Architecture +description: Architecture +id: connector_kit_development_view_architecture +--- + + +## Overview + +The following diagram shows an example architecture including the Connector Kit. In this case the EDC is used as a sample implementation of the Connector Kit. + +![IMG: Connector Kit Architecture](https://raw.githubusercontent.com/eclipse-tractusx/eclipse-tractusx.github.io/main/static/img/architecture.drawio.svg) + +## Interactions + +The Connector interacts with the following other components: + +### Database + +The Connector requires a database for persistence. In the reference implementation, a database instance for each Connector is required. +This database does not store any of the actual asset data, but rather the metadata consisting of Contracts, Negotiations or Policies. +In the reference implementation, this metadata is generated by the management plane. + +### Secret Vault + +A Connector is a security-critical component. It handles credentials, secrets and short-lived that must be shielded from +unauthorized access and potential leaks. A ordinary database is unfit for this task, thus the setup requires a Secret Vault. +This is usually accomplished via a implementations such as Hashicorp Vault or Azure Vault. + +### Business Applications + +The reason to use a Connector in the first place is to make data available to or obtain it from other participants. +This data comes from or is used in your other Business Applications. +These interact with the Connector by providing addresses where said data can be found that are then wrapped in Assets by the Connector. +For the reference implementation, the interaction will usually pass through the Management API that is [documented in detail](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/docs) +in the tractusx-edc repository. + +### Other Connectors + +The interactions between different Connectors are specified by the DSP. + +### Catena X Portal + +Contact with the Catena X Portal is necessary to register as a participant and obtain a Business Partner Number. This ID is used in exchanges with other participants. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/specifications.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/specifications.md similarity index 85% rename from docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/specifications.md rename to docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/specifications.md index 6cb5ea80191..32b468e39e4 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/Development View/specifications.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Development View/specifications.md @@ -27,12 +27,13 @@ its way into the IDSA and international standardization bodies. ## Catena X Standard Library The other guiding documentation is the [Catena X Standard Library](https://catena-x.net/en/standard-library). -In particular, Framework Agreement CX-0018 describes the Eclipse Dataspace Connector, the reference implementation of the Connector Kit. +In particular, Dataspace Connectivity CX-0018 describes a Dataspace Connector. ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Operation View/operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Operation View/operation-view.md new file mode 100644 index 00000000000..9e33dc84c55 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/Operation View/operation-view.md @@ -0,0 +1,52 @@ +--- +sidebar_position: 1 +title: Operation View +description: Operation View +id: connector_kit_operation_view +--- + +![Connector kit banner](/img/kit-icons/connector-kit-icon.svg) + +## Reference Implementation + +The reference implementation for the Connector kit is the [Eclipse Dataspace Connector](https://github.com/eclipse-edc/Connector). +Furthermore, it assumes the usage of a deployable EDC as provided by [Tractus-X EDC](https://github.com/eclipse-tractusx/tractusx-edc). + +## Configuration Parameters + +The EDC requires a few parameters for configuration. +They are detailed [here](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector#configure-the-chart). + +## Architecture + +For a summary of the architecture surrounding a Controller, take a look at the Development View's [architecture page](../Development%20View/architecture.md). + +## Deployment Resources + +### TractusX Helm Charts + +The [Helm charts](https://helm.sh/docs/) provided by TractusX form the basis for a deployable EDC. +The default configuration can be found [here](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/charts/README.md). +This configuration assumes a database for persistence and Hashicorp Vault for secret storage. +Other configurations are available in the same repository. + +### Minimum Viable Dataspace + +A minimal setup using [Terraform](https://developer.hashicorp.com/terraform) is available in the form of the +[Minimum Viable Dataspace](https://github.com/eclipse-edc/MinimumViableDataspace). + +Documentation on it can be found [here](https://eclipse-edc.github.io/docs/#/submodule/MinimumViableDataspace/). + +### Deployment Guide + +Specific configuration details are described more closely in the +[Deployment Guide](https://eclipse-tractusx.github.io/docs/tutorials/e2e/connect/deployComponents/). + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/assets/domain-model.png b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/assets/domain-model.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Connector Kit/assets/domain-model.png rename to docs-kits_versioned_docs/version-24.08/kits/Connector Kit/assets/domain-model.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Connector Kit/assets/edc_architecture.png b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/assets/edc_architecture.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Connector Kit/assets/edc_architecture.png rename to docs-kits_versioned_docs/version-24.08/kits/Connector Kit/assets/edc_architecture.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/page_changelog.md new file mode 100644 index 00000000000..72d1562b569 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Connector Kit/page_changelog.md @@ -0,0 +1,82 @@ +# Changelog + +![Connector kit banner](/img/kit-icons/connector-kit-icon.svg) + +## Connector KIT + +All notable changes to this Kit will be documented in this file. + +## [3.0.0] - 2024-06-07 + +- Replace use case specific FrameworkAgreement rightOperand with the new, consolidated DataExchangeGovernance released with 2408 + +## [2.1.0] - 2024-05-29 + +- Added new page on policies in general +- Added new page on policies in Catena-X + +## [2.0.0] - 2024-02-01 + +- Removed automatic pipeline from eclipse-tractusx/tracutsx-edc +- Moved Management API documentation to [implementation repo](https://github.com/arnoweiss/tractusx-edc/tree/docs/cleanup-2/docs/usage/management-api-walkthrough) + +## [1.2.0] - 2023-05-16 + +

                Added

                + +- chart documentation for tractusx-connector-azure-vault + +

                Changed

                + +- helm chart documentation -> added needed properties and information about self-signed certificates for testing + +

                Removed

                + +- chart documentation for tractusx-connector-app +- unused files like charts, values.yaml + +## [1.1.0] - 2023-04-28 + +

                Added

                + +- documentation of the control-plane-adapter extension +- openAPI documentation of the control-plane-adapter extension +- documentation of the observability-api-customization +- migration documentation +- postman collection + +

                Changed

                + +- helm chart version for the edc components is now 0.3.3 +- switched the whole documentation structure from product-edc to tractusx-edc +- switched build tool from maven to gradle +- restructured the whole documentation structure and order + +

                Removed

                + +- ./. + +## [1.0.0] - 2023-03-01 + +

                Added

                + +- documentation of the management-api +- documentation of adoption view +- documentation of software development view + +

                Changed

                + +- ./. + +

                Removed

                + +- ./. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/admin_guide.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/admin_guide.md similarity index 99% rename from docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/admin_guide.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/admin_guide.md index bfdf5d4eaa1..46e450ada88 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/admin_guide.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/admin_guide.md @@ -5,7 +5,7 @@ description: 'Administration Guide' sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/arc42.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/arc42.md similarity index 99% rename from docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/arc42.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/arc42.md index 2d2614f7b05..447eff0c41f 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Documentation/arc42.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Documentation/arc42.md @@ -7,7 +7,7 @@ sidebar_position: 3 --- -![Datachain kit banner](@site/static/img/DataChainKitIcon.png) +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) ### Data Chain KIT diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx new file mode 100644 index 00000000000..d662b0f7fbe --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/irs-api.info.mdx @@ -0,0 +1,24 @@ +--- +id: irs-api +title: "IRS API" +description: "The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners." +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 2.1.0 + +# IRS API + + + +The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners. + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js new file mode 100644 index 00000000000..24e02c4fbf8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/Job Api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Data Chain Kit/Software Development View/Job Api/irs-api"}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Business Partner Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..8c463f4f18c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,21 @@ +--- +id: Specification +title: Specification +sidebar_position: 2 +--- + +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) + +### Data Chain KIT + +## IRS REST API + +The IRS Rest API provides an easy to use Interface for applications to access cross company data chains. + +## IRS REST API Standard + +The IRS REST API is standardized through the Catena-X e.V. and can be found here: + +- [> CX-0005 Item Relationship Service API](https://catena-x.net/de/standard-library) + +- [> CX-0045 Data Chain Template](https://catena-x.net/de/standard-library) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/arc/page_documentation.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/arc/page_documentation.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/arc/page_documentation.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/arc/page_documentation.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_adoption-view.md new file mode 100644 index 00000000000..6543aad944d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_adoption-view.md @@ -0,0 +1,443 @@ +--- +id: Adoption View Data Chain Kit +title: Adoption View +description: 'Data Chain Kit' +sidebar_position: 1 +--- + +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) + +### Data Chain Kit + +## Vision & Mission + +### Vision + +DataChainKit brings valuable data chain information to your use-cases and services through connected data that can help +Business Owner and Catena-X participants to be up-to-date and prepared. It's easy to use the DataChainKit with an Open +Source Software package, which can easily deployed via HELM or docker-compose. The DataChainKit enables to apply +business logic along a distributed data chains, for example aggregation of certificates along the value chain. Also, +ad-hoc provisioning of continuous data chains across company boundaries for empowerment of use cases Circular Economy, +Traceability, Quality and the European supply chain act. + +(#GreenIT#DataSovereignty#Interoperability#ConnectedData) + +### Mission + +The Data Chain KIT provides a reference implementation as functional federated component to handle ad-hoc data chains +across n-tiers within the Catena-X network. To realize these data chains, the Data Chain Kit relies on data models of +the Traceability use case and provides the federated data chains to customers or applications. Furthermore, the target +picture of the IRS includes the enablement of new business areas by means of data chains along the value chain in the +automotive industry. + +All described specifications in the KIT are based on Catena-X standards and refer to other Catena-X KITs like the +Connector KIT (EDC) and Digital Twin Registry to ensure interoperability and data sovereignty according to IDSA and +Gaia-X principles. + +### Customer Journey + +With the Data Chain KIT, we support the Catena-X customer journey for our adopters and solutions providers. + +There are few steps for your Customer Journey: + +* Step 1: Inform yourself & take the decision to become part +* Step 2: Connect your company & teams to Catena-X. +* Step 3: Boost data readiness and governance +* Step 4: Adopt a data driven business process and create instant value +* Step 5: Utilize the full power of collaboration in your business team + + + +## Business Value + +### IRS Iterative + +* Application and Service provider can reduce integrate or migrate due to one API specification +* The IRS Iterative API enables an easy interface for complex network tasks +* Potential to scale and optimize network traffic +* The IRS Iterative API is providing one Endpoint to access and collect widely distributed data +* The Data Chain Kit enables interoperability for Data Chains along the value chain to extend + +### IRS Recursive + +* Application and Service provider can reduce integrate or migrate due to one API specification +* The IRS Recursive API enables an easy interface for complex network tasks +* The IRS Recursive API enables different use cases which collect insights over distributed data by not disclosing the + supply chain +* The solution enables interoperability with other solutions along the value chain to extend + + + +## Use Case + +### Environmental Social Responsibility (ESR) + +#### Use Case for achieving compliance for Environmental Social Responsibility (ESR) for a component in the supply chain (multi-tier) + +In the use case, it was assumed that a company in the supply chain is considered "compliant" if that company can show +the ISO 14001 certificate. Presenting means that either the company itself provides it as a data provider or deposits it +in a certificate repository with a service provider. + +The benefit of the solution is to obtain an automated overview of the supply chain's compliance and to be able to check +it again and again on a cyclical basis. The companies in the supply chain are not disclosed, which follows the Catena-X +specifications. + +The decentralized implementation at Catena-X "traverses" from the OEM to the direct supplier and from the direct +supplier to its next supplier and thus through the supply chain for a specific component. Each partner determines its +direct supplier automatically via the parts list stored by it in Catena-X's Item Relationship Service (IRS). + +Aggregated information on the compliance of the upstream suppliers is returned to the OEM via each stage of the supply +chain. From this, the OEM can finally read how many companies are compliant and how many are non-compliant in its supply +chain for the component. + +The names of the suppliers further down the supply chain are not disclosed to follow the Catena-X data sovereignty +principle one-up-one-down, but each intermediate level sees which of the direct suppliers are non-compliant and can act, +so that perspectively the whole supply chain is assessed as compliant. + +### Environmental and Social Standards (ESS) Top-Down + +With the entry into force of the German Supply Chain Due Diligence Act as from January 1st, 2023, German companies are +obliged to implement the corresponding requirements of this law. In addition, the following European directives on this +subject have also been adopted: EU regulation 2018/858. This regulation is legally binding to all EU member states. + +This use-case facilitates the [IRS Recursive](#irs-recursive-1) approach and enables data providers to provide the BoM +as planned aspect models via the Catena-X defined solution +stack (i.e. EDC). The BoM as planned aspect models consists of three aspect models: + +* SingleLevelBomAsPlanned - The single-level bill of material (BoM) represents one sub-level of an assembly and does not + include any lower-level subassemblies. In the As-Planned lifecycle state all variants are covered ("120% BoM"). If + multiple versions of child parts exist that can be assembled into the same parent part, all versions of the child part + are included in the BoM. If there are multiple suppliers for the same child part, each supplier has an entry for their + child part in the BoM. +* PartAsPlanned - representation of an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status in a + specific version. This also includes information about the validityPeriod - the period of time during which the Part + is offered by the manufacturer and can be purchased by customers. +* PartSiteInformationAsPlanned - Site related information for a given as planned item. A site is a delimited + geographical area where a legal entity does business. In the "as planned" lifecycle context all potentially related + sites are listed including all sites where e.g. production of this part (type) is planned. + +#### Step 0: Process initiation + +The process is initiated by an ESS incident, that is received by (or created within) the inquiring company. This ESS +incident acts as the root incident for the overall process. The incident contains a company name (incl. address) and a +valid BPN exists for that company. The BPN (a BPNL or BPNS) can be looked up in BPDM. + +#### Step 1: Check direct suppliers + +The inquiring company checks, if the company of the incident is a direct supplier of them. In order to perform this +check, the following data must be available in the inquiring company: + +* Full list of direct suppliers +* Full list of parts supplied by those direct suppliers + +In case the company of the incident is a direct supplier of the inquiring company, the process ends. In case the company +of the incident is not a direct supplier of the inquiring company, Step 2 is executed. + +#### Step 2: Forward Incident + +The incident is forwarded to all direct suppliers. Each direct supplier is sent a "personalized" request to evaluate, if +the inquiring company is impacted by the incident. The incident is enhanced with additional data by the inquiring +company: + +* List of parts, that are supplied to the inquiring company by their direct supplier. + +Each direct supplier executes Step 1. + +#### Step 3: Gather Responses + +The inquiring company collects the (asynchronous) responses. The response of each direct supplier may contain the +following results: + +* YES → The company of the incident was found in the supply chain of the given list of parts. In this case, the result + also contains the BPN of the direct supplier where the incident occurred alongside the number of hops (i.e. how many + levels down the chain) to where the incident occurred +* NO → The company of the incident was not found in the supply chain of the given list of parts +* UNKNOWN → The query timed out or some other error occurred + +In case at least one "YES" is received, the process step 3 ends + +### Environmental and Social Standards (ESS) Bottom-Up + +The occasion related traceability helps stakeholders to identify if a company that is detected for social or +environmental misbehavior is part of its own supply chain. In case of a hit, the inquiring company and the originator +company will be informed by the response, and therefore if the specific company has to start investigations. + +Similar to the ESS use-case Top-Down, ESS Bottom-Up focuses on notifying customers about incidents in the supply chain. +The difference to Top-Down is that the Bottom-Up approach only investigates on one level and does not send any +notifications. To achieve this goal, IRS uses these aspect models: + +* SingleLevelUsageAsPlanned - The aspect provides the information in which parent part(s)/product(s) the given item is + assembled in. This could be a 1:1 relationship in terms of e.g. a brake component or 1:n for e.g. coatings. The given + item as well as the parent item must refer to an object from as-planned lifecycle phase. If multiple versions of + parent parts exist that the child part can be assembled into, all versions of the parent part are included in the + usage list. +* PartAsPlanned - representation of an item in the Catena-X Bill of Material (BOM) in As-Planned lifecycle status in a + specific version. This also includes information about the validityPeriod - the period of time during which the Part + is offered by the manufacturer and can be purchased by customers. +* PartSiteInformationAsPlanned - Site related information for a given "as planned" item. A site is a delimited + geographical area where a legal entity does business. In the "as planned" lifecycle context all potentially related + sites are listed including all sites where e.g. production of this part (type) is planned. + +For the originator company, IRS validates whether the requested BPNS is part of their PartSiteInformationAsPlanned and +whether the provided validityTimestamp is within the validityPeriod of PartAsPlanned. If this is the case, IRS will then +collect all the BPNLs of the direct customer and return the affected parts in the following structure for an incident +company to handle further incident management: + +```json +{ + "customers": [ + { + "businessPartnerNumberLegalEntity": "", + "customerParts": [ + { + "globalAssetId": "", + "sites": [ + { + + } + ] + }, + ... + ] + } + ] +} +``` + +### Data Integrity Layer (DIL) - Spike + +The use-case Data Integrity Layer is an additional Layer in IRS processing. It aims to verify integrity along the data +chain by introducing a new aspect model: DataIntegrity. This model contains hashes and signatures of semantic models in +a parent - child structure, similar to SingleLevelBomAsBuilt: + +```json +{ + "catenaXId": "urn:uuid:123", + "childParts": [ + { + "catenaXId": "urn:uuid:456", + "references": [ + { + "semanticModelUrn": "urn:bamm:io.catenax.data_integrity:1.0.0#DataIntegrity", + "hash": "5a4cc1c6817b0045b26d3e842482753b5ad1cf20fbedebed2ee3c09936800821", + "signature": "e71196ddd321cc0f87cca372c304d74b9e741d8a5a3ddd5b953877b1f65a5206815d20f53bb51cf3d7725ed14fb5e18bd7b65e0ba9ef0e2f0cb44b5d5fc42e4197ce004ce4d0369e15c0429c7097099d46ce8640ff7197ac57f8045d3db996df1deaf8e7f01b447118d62876d2cd44484d2e2c49fac4a47c8a6ea9177142d8efdc032fd5638968dcd8982349b65cc6f75409dccc2386aa5e76c397d77e54e0fe4add1c870af5eab754c911595e8dc4b6e33643d15b95c2f8b62524702e30bf49736063e71761f6382aca8b46fffbd529495bba075e29fc540cd0a9b11c349512ddd97c371b9eb7e56196b5236f31290912f2f282786042a6a81017030a6d82eb" + }, + { + "semanticModelUrn": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart", + "hash": "823dd4d758f2aafd5cf63de1144b178118cfe97388678d9b42eabe65a7e66e55", + "signature": "4ac7a5feb1724bbf5e6f9ba8ed55f09133185b9f9c49b627f6bc7f36b49e42f4dcfecd19bb64ad0bdc93742bab5add7a45f67ff7a2603f93e62f2b2bd4ed606b0d637f075df73b5aef91e8f20128dd55e62cce2f059beb59723927835e6e108c84170d7ca03a11fc65a9d57d618156c69fde6112955e53dca04bd0f860b75477eb7b58ee10ab8e5d3bcaacdfa1b6ba0f86e6d2518154642c1da8a42397221a556cfc536614298afeeaf5098c18f5aaf260bf78bfea30e066316819d0f442491fdf4cdc10929605ebefef05c5a503b62b8788d6bb9c76b8a9108987beca19cb5eae50bd83a5f29e241689f1450d4c06a7524955f4fbf6c4d773ef3a94e4a3a1a8" + }, + { + "semanticModelUrn": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt", + "hash": "e2efea25b47bec2b5ce2a65b4785172240d97acfbd7f223ae009f9686a155e16", + "signature": "a0b344cd9fc3c5d51738a5f1b76ba079319ea9d270f181b0e691ff7a6bbc6eaab3955c324d9b7b8db679473408961cb06826532bb4bd54321d9e04539f6bd520def9b648e3a06a4ee035f4d961212a46404ac512ea64d72224af474ebe004ae87ec121078db994e7750324e7a2de66667512b3b2c0e60ba8c1391dcfcfe57f21b51256fc1a794cdace47a70561136328a7b8fce8539533c971d6ef29ea57c04fb6f87e873c0b66ca21c70f8689696b42bec47c718d9145f2de8bea38d9dc1718322ddc6014b6d781db846446c0dcb4ce3c6dda8e018be2732b32f414fd074dfadf87fa605ca57598095df7d139432015a0ba6a125089f835ee0af4db8a733074" + } + ] + }, + ... + ] +} +``` + +Based on the DataIntegrity aspect IRS can compare the data received by a data provider with the given hash and verify +that the data was not altered or manipulated after initial provision. + +## Success Stories + +### Circularity Dashboard Success Story + +Due to the large number of producers and consumers, however, the implementation of the circular economy is challenging: +Information on the individual lifecycles is mostly only available locally and therefore does not provide any meaningful +assessment of reuse, recycling or remanufacturing. + +![success](@site/static/img/irs-circularity-dashboard-successstory.png) + +Therefore, the circularity dashboard, gives the user information about materials of the product and of all their +composites. This is only possible, if participants of the supply chain, the direct manufactures of the composites of a +vehicle are sharing information about the materials used. +The ability to access provided data in the Catena-X network could be done in two different ways. Way one is to handle +each request separately, or use the IRS, which manages the retrieval of digital twins, checks and validates the results +against the semantics and provides an easy-to-use API to interact with the decentral stored data. +In the SAP Industry Network for Automotive, circularity cockpit API specification and IRS implementation are serving as +a reference. Thus, we were able to develop IRS functionality to best fit the SAP tech stack, which we decided to use for +the circularity cockpit. +This enables us, to have a controlled access to distributed data in an interoperable setup to access data chains. To +abstract the data consumption layer brings benefits in stability and resiliency to our application, because we could +easily change to different providers or services of a IRS implementation. + +### Trace-X Success Story + +![Trace-X-Screenshot](@site/static/img/Trace-X/Trace-X_App-mypartsview.png) + +The Open-Source Traceability application is developed within the Catena-X project and enables all companies to +participate in Parts Traceability. +Trace-X offers capabilities to ingest data for serialized parts and batches as well as their child components. Within +CX, we strive to establish a standardized, data-sovereign and interoperable exchange of traceability data along the +value creation chain. + +The application gives an overview of the supplier network and the supply chain. A high level of transparency across the +supplier network enables faster intervention based on recorded events in the supply chain. Additionally, automated +massages regarding Quality related incidents. +All this saves' costs by seamlessly tracking parts as well as creates trust through clearly defined and secure data +access by the companies and persons involved in the process. + +![success2](@site/static/img/IRS2.png) + +Applying and using the Item Relationship Service had the following benefits: + +* With the decision using the IRS we could speed our development of Trace-X throughout the scope of their helm charts + including a running service with test data. That alone was very beneficial to have a stable environment with data +* The IRS fulfills a high level of quality in code which provides a reliable service +* The deployment via helm charts has been built so that it can fit in existing architecture components throughout + configuration like the Digital Twin Registry, the EDC, Semantic Hub, Keycloak and others. This enabled Trace-X to + configure the Service smoothly into the architecture of the application +* The IRS abstracts the communication with partners along the supply chain, that makes it easy to build business + processes on that. It abstracts a technical level to a logical level to enhance the speed of implementation of a + Software Provider +* The IRS with the standardized API provides a data interoperability level on data chains +* The Team behind the IRS is fast in implementing and adapting new features + +![Trace-XScreenshot1](@site/static/img/Trace-X/01.png) + +![Trace-XScreenshot2](@site/static/img/Trace-X/02.png) + +![Trace-XScreenshot3](@site/static/img/Trace-X/03.png) + +![Trace-XScreenshot4](@site/static/img/Trace-X/04.png) + +## Logic & Schema + +### Building Block Architecture Overview + +![Building Block View](@site/static/img/irs_buidling_block_decentral.svg) + +#### IRS Components + +| Components | Description | +|:----------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| IRS | The IRS builds a digital representation of a product (digital twin) and the relationships of items the product consists of in a hierarchical structure. The result is an item graph in which each node represents a digital item of the product - this graph is called "Item Graph". | +| IRS API | The IRS API is the Interface over which the Data Consumer is communicating. | +| IrsController | The IrsController provides a REST Interface for retrieving IRS processed data and job details of the current item graph retrieval process. | +| IrsItemGraphQueryService | The IrsItemGraphQueryService implements the REST Interface of the IrsController. | +| JobOrchestrator | The JobOrchestrator is a component which manages (start, end, cancel, resume) the jobs which execute the item graph retrieval process. | +| RecursiveJobHandler | The RecursiveJobHandler handles the job execution recursively until a given abort criteria is reached or the complete item graph is build. | +| TransferProcessManager | The TransferProcessManager handles the outgoing requests to the various data services. | +| Policy Store | The Policy Store provides an Interface for getting, adding and deleting accepted IRS EDC policies. These policies will be used to validate EDC contract offers. | +| BlobStore | The BlobStore is the database where the relationships and tombstones are stored for a requested item. | +| JobStore | The JobStore is the database where the jobs with the information about the requested item are stored. | +| Digital Twin Registry Client | The Digital Twin Registry Client is the interface to the Digital Twin Registry. It provides an interface for the Asset Administration Shells. | +| Decentralized Digital Twin Client | In a decentralized network, the Digital Twin Client connects to the EDC which then proxies the requests to the digital twin registry on provider side. | +| EDC Client | The EDC Client is used to communicate with the EDC network, negotiate contracts and retrieve submodel data. | + +#### Catena-X Core Services + +| Subsystem | Description | +|:----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Digital Twin Registry | The Digital Twin Registry acts as an address book for Digital Twins. Data Providers register their Digital Twins in the Digital Twin Registry. Data consumers query the Digital Twin Registry to find Digital Twins and interact with them further. A Digital Twin contains endpoint references to submodel endpoints. Calling a submodel endpoint returns data compliant to a semantic model. A semantic model describes the data that a Submodel endpoint returns. [Repository of the Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry). | +| Eclipse Dataspace Connector (EDC) | The Eclipse Dataspace Connector provides a framework for sovereign, inter-organizational data exchange. It will implement the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems. [Repository of the Catena-X specific EDC](https://github.com/eclipse-tractusx/tractusx-edc). | +| Discovery Service | The Discovery Service interface is a CX network public available endpoint which can get used to retrieve EDC Discovery Service or BPN Discovery Services via a given type. | +| Portal | The Catena-X Portal and Marketplace is the heart of Catena-X and the entry point for all activities in the automotive network/value chain. Every user of the automotive value chain, no matter if it is a consumer, app provider, IT administrator or IT support will connect via the portal to the value bringing services. The whole eco-system on the automotive value chain is connected at one place. | +| EDC Discovery Finder | The EDC dataspace discovery interface is a CX network public available endpoint which can get used to retrieve edc endpoints and the related BPNs, as well as search for endpoints via the BPN | + +## Business Process + +The DataChainKit acts as a middleware between consumers and manufacturers. This section describes the Business Process +of DataChainKit. Who are its users, and with which other systems does it interact with. + +### Consumer + +The DataChainKit by IRS API is the essential component of the business app Trace-X FOSS to be able to build data chains +in upwards and downwards direction for BOM lifecycles asBuilt and asPlanned. +The DataChainKit by IRS API is being consumed by the dismantler dashboard and other parties which are part of the +Catena-X network. They need to provide valid credentials issued by the Catena-X Portal/IdP. Additionally, they must +provide a base global asset identifier to retrieve information for as well as configuration details for the view on that +information. +The DataChainKit by IRS API is the essential component of the business app Trace-X FOSS to be able to build data chains +in upwards and downwards direction for BOM lifecycles asBuilt and asPlanned. +The DataChainKit by IRS API is being consumed by the dismantler dashboard and other parties which are part of the +Catena-X network. They need to provide valid credentials issued by the Catena-X Portal/IdP. Additionally, they must +provide a base global asset identifier to retrieve information for as well as configuration details for the view on that +information. + +### Catena-X network + +The IRS retrieves data from the Catena-X network (using the necessary infrastructure, see Technical Context), aggregates +it and provides it back to the consumers. This connection is mandatory. If the Catena-X services are unavailable, the +IRS cannot perform any work. + +As of now, the IRS uses technical user credentials provided by the portal to gather the required data. This might be +changed to use the consumer credentials in the future. + +## Standards + +Our relevant standards can be downloaded from the +official [Catena-X Standard Library](https://catena-x.net/de/standard-library) + +* [CX - 0005 Item Relationship Service API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0005-ItemRelationshipServiceApi-v1.1.1.pdf) +* [CX - 0045 Aspect Model Template Data Chain](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0045-AspectModelDataChainTemplate-v1.1.1.pdf) + +## Why Data Chain Kit + +What is in for you to use the Data Chain Kit. On what is it built on. + +![Why use Datachain Kit](@site/static/img/why_data_chain-minified.png) + +## IRS Iterative + +The IRS iterative iterates through the different digital twin aspects, which are representing a relationship. For +Release 3.2 this is the SingleLevelBOMasBuilt aspect, which connects serialized parts. This service can access the +digital twins for which an EDC policy and a data contract exists. In this case the consumer needs a contract which each +participant of the data chain. + +![IRS iterative diagram](@site/static/img/irs-minified.svg) + +The following general conditions apply: + +* Access control through policies and contracts is done by the EDC +* Direct data exchange between supply-chain partners +* Catena-X partners of the accessible value chain are known to the data-consumer + +## IRS Recursive + +The IRS recursive works different as the IRS iterative. It does not consume the digital twins of the partners in the +supply chain in a direct way, it triggers the IRS of a partner to start an IRS job to retrieve data of the sub-partners. +This is done to keep the structure below intransparent to the value chain above, even though it is still possible to +aggregate results; pass information along the value chain. + +![IRS recursive diagram](@site/static/img/irs-recursive-minified.svg) + +The following general conditions apply: + +* The IRS recursive is for use-cases, which want to apply business logic with data along the value chain. For example, + to summarize, or check for existence of values or certificates. +* Each participant has the possibility to check their values, before passing them to next in line +* Access control through policies and contracts is done by the EDC +* Direct data exchange between supply-chain partners +* Business logic is being applied with an extension concept + +The recursive approach is based on a decentralized network in which only the next level of a relationship between two +companies (one level down approach) is known. (Relationship: Customer - Supplier) + +1. Company OEM initiate request using a consumer application. +2. Company (supplier) is identified on the next lower level - then a message is sent to the IRS instance of this + supplier. +3. After receiving the message on supplier level, the IRS determines the suppliers on the next lower level and also + sends a message to the IRS instances of the suppliers. +4. This is repeated until a leaf node (a company has no more suppliers or the company is not part of the C-X network) is + reached. +5. In this case the leaf node is responding with a message to the customer company. +6. The IRS on customer company level receives and aggregates the messages from all requested suppliers and responds + again to the customer until OEM level is reached. +7. OEM shows result of recursive investigation according to the given use case in consumer application. + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +* SPDX-License-Identifier: CC-BY-4.0 +* SPDX-FileCopyrightText: 2021, 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +* SPDX-FileCopyrightText: 2022, 2023 BOSCH AG +* SPDX-FileCopyrightText: 2021, 2022 ZF Friedrichshafen AG +* SPDX-FileCopyrightText: 2022 ISTOS GmbH +* SPDX-FileCopyrightText: 2021, 2023 Contributors to the Eclipse Foundation +* Source URL: diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_changelog.md new file mode 100644 index 00000000000..68f5131a031 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_changelog.md @@ -0,0 +1,87 @@ +--- +id: data chain kit changelog +title: Changelog +description: 'Data Chain Kit Changelog' +sidebar_position: 10 +--- + +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) + +### Data Chain KIT + +All notable changes to this Kit will be documented in this file. + +## [3.0.1] - unreleased + +### Added + +- ./. + +### Changed + +- Changed banner image file location and converted .png image to .svg + +### Removed + +- ./. + +## [3.0.0] - 2024-03-07 + +### Changed + +- Operation View: Update local deployment procedure on base of irs version 4.5.0 + +## [2.0.0] - 2023-12-08 + +### Added + +- Adoption View: added use-case Environmental and Social Standards Top-Down +- Adoption View: added use-case Environmental and Social Standards Bottom-UP +- Adoption View: added use-case Data Integrity Layer +- Adoption View: added visualization for IRS-Recursive + +### Changed + +- Development View: Update request collection to latest state of IRS +- Documentation: Update Arc42 and Admin guide to latest state of IRS +- Moved Success Stories to Adoption View + +### Fixed + +- Update documentation: Local deployment currently requires IRS version 2.4.0. + See [https://github.com/eclipse-tractusx/item-relationship-service/issues/247](https://github.com/eclipse-tractusx/item-relationship-service/issues/247). + +## [1.1.0] - 2023-08-25 + +### Added + +- Adoption View: added NOTICE section according to TRG 7.0.7 Legal notice for non-code (e.g. documentation) +- Adoption View: added Vision & Mission +- Adoption View: added Customer Journey +- Adoption View: added Business Value +- Adoption View: added IRS Components and Catena-X Core Services +- Adoption View: added Business Process +- Adoption View: added Standards +- Adoption View: added irs building block for decentral architecture + +### Changed + +- Adoption View: adaption to new structure of Adoption View + +## [1.0.0] - 2023-03-01 + +### Added + +- documentation of the IRS API +- documentation of adoption view +- documentation of software development view +- documentation of the IRS reference implementation +- two success stories how this Kit is used + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_software-operation-view.md new file mode 100644 index 00000000000..3dc674c4ce4 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Data Chain Kit/page_software-operation-view.md @@ -0,0 +1,116 @@ +--- +id: Operation View +title: Operation View +description: 'Data Chain Kit' +sidebar_position: 2 +--- + +![Datachain kit banner](@site/static/img/kits/data-chain/DataChainKitIcon.png) +### Data Chain KIT + +## Local deployment of IRS with minimum dependencies setup + +> **Please note that this demo is currently based on IRS version 5.4.0** + +### Step 1: Prerequisites + +1. [Docker](https://docs.docker.com/get-docker/) is installed and the Docker deamon is running with at least 8GB of + memory +2. [helm](https://helm.sh/docs/intro/install/) is installed +3. Any Kubernetes cluster is installed and running, eg. [Minikube](https://minikube.sigs.k8s.io/docs/start/) +4. [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed + +### Step 2: Add the IRS helm repository + +```bash +helm repo add irs https://eclipse-tractusx.github.io/item-relationship-service +``` + +### Step 3: Installing the IRS + +#### 1. Start the cluster + +To deploy IRS on kubernetes with helm run + +```bash +helm install irs-local irs/item-relationship-service -f your-values.yaml +``` + +##### 1.1 Get the Status of the deployment + +Helm can give you feedback on the release status: + +```bash +helm list +``` + +```bash +NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION +irs-local default 1 2024-08-01 10:24:46.8811785 +0200 CEST deployed item-relationship-service-7.4.0 5.4.0 +``` + +Kubectl can give you feedback on how the status of the deployment currently is, there should be two pods deployed - IRS +and Minio: + +```bash +kubectl get pods +``` + +```bash +NAME READY STATUS RESTARTS AGE +irs-local-item-relationship-service-5bdcd5854d-gq976 1/1 Running 0 47s +irs-local-minio-6f6c58cfbd-j8jkg 1/1 Running 0 47s +``` + +#### 2. Forward Ports + +When the deployment has been finished please use the command to forward the port: + +```bash +kubectl port-forward svc/irs-local-item-relationship-service 8080:8080 +``` + +After that you can access the Swagger UI page: + +* **IRS Swagger:** [http://localhost:8080/api/swagger-ui/index.html](http://localhost:8080/api/swagger-ui/index.html) + +## Testing the Item Relationship Service + +You can use any approach to access exposed by IRS API endpoints, for example mentioned above Swagger UI page. There is +also prepared Insomnia collection with example calls to IRS, +see [IRS_Request_Collection.json](https://github.com/eclipse-tractusx/item-relationship-service/blob/5.4.0/local/testing/request-collection/IRS_Request_Collection.json) + +### Valid Global Asset Ids for testing + +IRS is loading with mocked data from Testdata file, +see [CX_Testdata.json](https://github.com/eclipse-tractusx/item-relationship-service/blob/5.4.0/irs-models/src/main/resources/test_data/CX_Testdata.json) + +### Valid test requests for testing + +You can use these snippets for testing purposes. + +```json +{ + "bomLifecycle": "asBuilt", + "direction": "downward", + "depth": 10, + "auditContractNegotiation": false, + "key": { + "globalAssetId": "urn:uuid:951f1ebf-ebcf-427c-8a4d-7fe1f67c8d58", + "bpn": "BPNL00000003B0Q0" + } +} +```` + +```json +{ + "aspects": [ + "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" + ], + "depth": 1, + "key": { + "globalAssetId": "urn:uuid:951f1ebf-ebcf-427c-8a4d-7fe1f67c8d58", + "bpn": "BPNL00000003B0Q0" + } +} +``` diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/Software Development View/page_software-development-view.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/Software Development View/page_software-development-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/Software Development View/page_software-development-view.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/page_adoption-view.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/page_adoption-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/page_adoption-view.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/page_changelog.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/page_changelog.md rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/page_changelog.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/DGK Overview.png b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/DGK Overview.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/DGK Overview.png rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/DGK Overview.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/Data Governance KIT_ Big Picture.png b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/Data Governance KIT_ Big Picture.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/Data Governance KIT_ Big Picture.png rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/Data Governance KIT_ Big Picture.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-asset-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-asset-1.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-asset-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-asset-1.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-asset.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-asset.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-asset.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-asset.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-contract-definition.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-contract-definition.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-contract-definition.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-contract-definition.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-policy.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-policy.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-policy.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-policy.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-publication.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-publication.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/create-publication.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/create-publication.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/data-governance-kit.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/data-governance-kit.info.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/data-governance-kit.info.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/data-governance-kit.info.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id-1.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id-1.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-asset-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-connector-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-connector-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-connector-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-connector-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-contract-definition-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-contract-definition-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-contract-definition-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-contract-definition-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-policy-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-policy-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/delete-policy-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/delete-policy-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/generate-token.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/generate-token.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/generate-token.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/generate-token.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id-1.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id-1.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-asset-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets-1.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets-1.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets-by-ids.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets-by-ids.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets-by-ids.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets-by-ids.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-assets.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-assets.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-by-resource-data-and-connector-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-by-resource-data-and-connector-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-by-resource-data-and-connector-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-by-resource-data-and-connector-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list-by-id-list.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list-by-id-list.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list-by-id-list.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list-by-id-list.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info-list.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-connector-info.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-connector-info.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definition-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definition-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definition-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definition-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions-by-ids.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions-by-ids.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions-by-ids.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions-by-ids.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-contract-definitions.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-data-address-by-asset-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-data-address-by-asset-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-data-address-by-asset-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-data-address-by-asset-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policies-by-id-list.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policies-by-id-list.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policies-by-id-list.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policies-by-id-list.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policies.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policies.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policies.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policies.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policy-by-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policy-by-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-policy-by-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-policy-by-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-publication-by-resource-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-publication-by-resource-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-publication-by-resource-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-publication-by-resource-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-connector-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-connector-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-connector-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-connector-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-resource-data.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-resource-data.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-resource-data.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/get-resource-connectors-by-resource-data.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/save-connector-info.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/save-connector-info.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/save-connector-info.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/save-connector-info.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/sidebar.js similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/sidebar.js rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/sidebar.js diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-asset-1.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-asset-1.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-asset-1.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-asset-1.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-asset.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-asset.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-asset.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-asset.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-connector-info.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-connector-info.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-connector-info.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-connector-info.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-contract-definition.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-contract-definition.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-contract-definition.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-contract-definition.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-data-address-by-asset-id.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-data-address-by-asset-id.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-data-address-by-asset-id.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-data-address-by-asset-id.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-policy.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-policy.api.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/MDX Files/update-policy.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/MDX Files/update-policy.api.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/openAPI.yaml b/docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/openAPI.yaml similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Governance Kit/resources/openAPI.yaml rename to docs-kits_versioned_docs/version-24.08/kits/Data Governance Kit/resources/openAPI.yaml diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md new file mode 100644 index 00000000000..a8672061043 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/foss-app.md @@ -0,0 +1,19 @@ +--- +id: foss-app +title: FOSS - Application +description: FOSS - Application +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM FOSS Application + +A free and open source software (FOSS) implementing the Catena-X standard CX-0128 is under development. Feel free to contribute to this community effort and visit the corresponding [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) and [GitHub project](https://github.com/orgs/eclipse-tractusx/projects/66) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md new file mode 100644 index 00000000000..651f87ee7cd --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/onboarding.md @@ -0,0 +1,7 @@ +--- +id: onboarding +title: Onboarding +description: Onboarding +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/overview.md new file mode 100644 index 00000000000..34299f5bbcd --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/overview.md @@ -0,0 +1,163 @@ +--- +id: overview +title: Adoption View +description: 'A first impression' +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Vision & Mission + +The Catena-X-Standards for Demand- and Capacity-Management enable participants of the automotive supply chain to become more resilient and to increase the degree of collaboration aimed at avoiding or solving production bottlenecks as well as surplus situations in a tactical horizon of 1-2 years. + +Thereby the standards empower participants to share data in a secure and sovereign way while ensuring the interoperability of the different applications involved in the process. + +## Status Quo + +### Today's challenge for automotive companies + +Resilience has become imperative within Supply Chain Management, especially over the past years. With the growing complexity of supply chains and a rising number of global and local crises, small and medium enterprises (SMEs) as well as large enterprises (LEs) are facing an increased risk of serious disruptions in their supply chains, bullwhip effects and in the worst case even temporary production shutdowns with a high effort and costs of replanning. + +Inside the volatile and highly complex surroundings of the automotive industry nowadays, mostly tailor-made, proprietary and often fully manual IT solutions support the demand and capacity management processes along the value chain. On the one side there is no common understanding of these processes among the participants. On the other side, different data formats as well as application programming interfaces are used, which is increasing the complexity in the data exchange and which is leading to transfer problems, inconsistencies, or even loss of data. + +## Business Value + +### Why DCM KIT? + +The purpose and focus of Demand and Capacity Management (DCM) KIT is twofold: + +- Define a common understanding of the DCM process thus paving the way for more proactive and efficient collaboration. +- Establish process and application interoperability with the help of common semantics and unified interfaces for data exchange while ensuring the data sovereignty of data providers. + +Implementing the DCM standards will add the following core capabilities to business applications: + +- Provisioning and consumption of material demands data in a sovereign manner. +- Provisioning and consumption of capacity data in a sovereign manner. +- Discovery of bottlenecks and surplus capacity situations by employing a unified calculation logic. + +### POWER of STANDARD + +Standards create trust. Customer and Supplier can form new partnerships confidently. Knowing that integration in the network will be dramatically simplified. Standardization can help reduce costs by eliminating redundancies and streamlining processes. By adopting a common set of practices and technologies, businesses can avoid the need to develop their own proprietary systems, which can be expensive and time-consuming. + +### DATA SOVEREIGNTY in FOCUS + +DCM KIT keeps up with Catena X commitment to data sovereignty. This KIT has the goal to always comply with the data sovereignty principle implemented by the Eclipse Dataspace Connector. That enables all participants in the supply chain to always stay in full control of their own data. + +This is how sharing data is fun. + +### INTEROPERABILITY at its BEST + +Application and Service Provider can reduce investments to integrate DCM data models/API specification from DCM KIT. + +The Kit enables the offering of value-add services and innovation based on process description of the core business logic and how a collaborative approach is a win-win-situation for customer and supplier. + +### COLLABORATION is KEY + +The DCM KIT enables better and faster issue resolution. We believe that collaboration is the key to creating and maintaining strong partnerships between customers and suppliers and, at the same time, enhancing problem solving to reach a more balanced and efficient supply and demand management. + +Of course, by realizing efficiency through improved collaboration all involved partners will gain competitive advantage over those that do not collaborate. + +## Semantic Models + +| Semantic Model | Link to GitHub Repository | +| ------------- | ------------- | +| WeekBasedCapacityGroup | | +| WeekBasedMaterialDemand | | +| IdBasedRequestForUpdate | | +| IdBasedComment | | + +## Logic / Schema + +The core of the DCM business process is about exchange demand and capacity information, identifying problems and solving those problems. + +```mermaid +sequenceDiagram + actor c as Customer + actor s as Supplier +activate c +rect rgb(221,130,0) +c->>c: Manage own material demands +c->>s: Provide supplier with WeekBasedMaterialDemand +deactivate c +activate s +s->>s: Consume WeekBasedMaterialDemand +end +rect rgb(128,149,00) +s->>s: Manage own capacities +s->>s: Link consumed material demands to capacities within a WeekBasedCapacityGroup +s->>c: Provide Customer with WeekBasedCapacityGroup +activate c +c->>c: Consume WeekBasedCapacityGroup +end +rect rgb(04,107,153) +c->>c: Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup +s->>s: Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup +c->>c: Identify bottlenecks +s->>s: Identify bottlenecks +c->>s: Resolve bottlenecks +s->>c: Resolve bottlenecks +deactivate c +deactivate s +end +``` + +## Business Process + +### Business Architecture + +![Supply network](./resources/business-architecture_network.svg) + +Figure: *Supply network* + +A supply network can be divided into a multitude of interlinking supply chains. Every supply chain consists of multiple chain links. Individual business partner relationships are these chain links. Data exchange conforming to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] always happens within such a chain link, ensuring that every company has full control over which data they provide. Demand information travels from one end of the supply chain to the other. For capacity information the situation is reversed. + +![Supply chain](./resources/business-architecture_chain.svg) + +Figure: *Supply chain* + +DCM allows for demand and capacity information to be exchanged only within the individual business relationship. However, because within a supply chain mist companies act as a "one-up" in one business relationship, while acting as a "one-down" withing the next business relationship, the impact of increasing or decreasing demand or capacity anywhere in the supply chain can safely travel through the chain, reaching every single impacted company. This is how DCM builds chains, while at the same time ensuring data sovereignty. + +### Access and Usage Policies + +Because of the way that communication within CX-0128 is defined companies are not exposing data but rather API endpoints for their business partners to push data to. These API endpoints are registered as EDC data assets. This means that from an information protection perspective data has to be actively provided, further ensuring data sovereignty. + + Conforming to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] the following policies have to be applied. + +| Category | Policy Name | Description |Usage recommendation| +|:---------|:------------|:------------|:-------------------| +| **Access Policy** | BPN-restricted Data Usage | Limit access to the data offered to a list of specified BPNs (to the connectors with the BPN attribute listed in the policy) |Limit access to assets to all your known business partners.| +| **Access Policy** | Membership Credential | Limit access to data offered to Catena-X participants |Use as is.| +| **Usage Policy** | DCM Framework Agreement Credential | Limit access to data offered to participants who have signed the DCM Framework Agreement |Use as is.| + +### Standards + +|Content|Standard|Version|Sections|Description| +|-|-|-|-|-| +|DCM Business Logic|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.0.0|5|Focuses on a common understanding of the DCM processes among participants.| +|DCM Aspect Models|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.0.0|3|Aligns the structure of the shared information and enables the adoption of the core business logic without misinterpretation.| +|DCM APIs|[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]|2.0.0|4|Ensures that data is provided and consumed properly as well as identically interpreted across companies.| +|Notification Process, Aspect Model and API|[CX-0146 Supply Chain Disruption Notifications][StandardLibrary]|1.0.0|*|Optional capability referenced in Section 5.10 of CX-0128. Focuses on quickly informing business partners of impactful events, where the impact cannot be precisely quantified yet.| + +## Frequently asked Questions + +In case of further questions, feel free to visit our [FAQ](./qna.md). + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/qna.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/qna.md new file mode 100644 index 00000000000..b67472de759 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/qna.md @@ -0,0 +1,113 @@ +--- +id: qna +title: Questions and Answers +description: Questions and Answers +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## General + +|#|Question|Answer| +|--|--|--| +|1|What is DCM?| DCM stands for Demand and Capacity Management. The Catena-X DCM standard describes a process for exchanging demand and capacity information as well as definition on how to exchange demand and capacity data electronically between companies.| +|2|Where can I read about DCM?| contains the released standards. The DCM standard has the ID CX-0128.| +|3|Are there translations of the DCM standard?|There are no official translations. Only the original standard, written in English, is normative.| +|4|Is there a standard “easy to read” DCM presentation available?|No, however the standard contains an abstract, which provides a management overview. The KIT itself is receiving regular updates.| +|5|What is the benefit of using DCM within the Catena-X dataspace instead of using my individual own process?| Adopting DCM, as defined by Catena-X, has the unique benefit of eliminating the need for defining process and technical interfaces individually with every one of your business partners. This allows you to execute demand and capacity management with every single one of your business partners in an identical manner, greatly reducing overhead.| +|6|Is there any step-by-step onboarding instruction?|Please have a look at | +|7|What are the needed steps for onboarding regarding the DCM standard?| Before beginning data exchange, the following conditions must be met:
                - Customer and supplier must register with a Catena-X operational company and conform to the Catena-X guidelines
                - Customer and supplier must have entered into a contract with each other
                - Customer and supplier must sign framework agreements required by Catena-X
                - Customer and supplier must have the technical capability to engage in the DCM process with their business applications. You can either enable and certify your IT-system to be Catena-X compliant, or use a certified DCM application.

                You can receive onboarding support by Consultancy Services or Business Application Provider. The operating company has dedicated marketplaces for [certified services](https://www.cofinity-x.com/service-marketplace/) and [certified business applications](https://www.cofinity-x.com/app-marketplace/).| +|8|Do I need to be the part of Catena-X if I only want to use DCM?|Yes, joining the Catena-X dataspace (not the Catena-X Association) via an operating company is a prerequisite for participating in any Catena-X usecase.| +|9|Is Cofinity-X required for DCM? Or are there other possibilities?| Currently, Cofinity-X is the only operating company of the Catena-X dataspace and therefore registration at Cofinity-X is a prerequisite for data exchange.| +|10|Where can I get Catena-X related consultancy services|You can find Catena-X related consultancy services within the Cofinity-X [service marketplace](https://www.cofinity-x.com/service-marketplace/).| +|11|Who can support me with my onboarding?|The operating company provides [service](https://www.cofinity-x.com/service-marketplace/) and [application](https://www.cofinity-x.com/app-marketplace/) marketplaces where support is offered in form of certified services and certified business applications respectively.| +|12|How much does it cost to use DCM?|In order to evaluate the actual cost of participating in the DCM use case you have to compare cost vs gain.

                Consider the following gains:
                - Increased capacity utilization rate
                - Reduced round trip times for information exchange
                - Emerging network effects
                - Common technical and business semantics
                - Increased resiliency in the supply network

                Consider the following costs:
                - Onboarding with an operating company
                - Reoccurring fees
                - Adopting the DCM processes
                - Adopting a DCM compatible application
                - Adopting Catena-X dataspace compatible core infrastructure

                The [Catena-X FAQ](https://catena-x.net/en/faq) has some insights into this as well.| + +



                + +## Accessibility + +|#|Question|Answer| +|--|--|--| +|1|What do I need to exchange data within DCM?|You need a Catena-X certified DCM solution, interfacing with an Eclipse Dataspace Connector (EDC) and a registration with an operating company, such as Cofinity-X.| +|2|Is EDC the same as EDI (Electronic Data Interchange)? Will I send the same messages via the same EDI portal?|EDC and EDI are completely different and not interoperable. You will have to exchange data via a Catena-X certified solution.| +|3|Do I need to connect my internal systems to the Catena-X dataspace?|It is not required to connect your internal systems to the Catena-X dataspace. The EDC acts as a gateway for all your communication to and from the dataspace.| +|4|How is my data protected when I utilize DCM via the Catena-X dataspace?|From a business perspective:
                Shared data is protected, because companies and business applications participating in the dataspace have to be certified. As part of the on-boarding process companies do sign framework agreements providing a basis for legal protection.

                From a technical perspective: The EDC enforces this legal basis, via policy enforcement and contract negotiation, ultimately leading to data sovereignty.| +|5|I participate in another Catena-X use case, will it simplify my access to the DCM use case and maybe even reduce my onboarding costs?|Yes, it will. Nearly all Catena-X use cases share a common infrastructure. Having an EDC in place and being already registered with an operating company,having assigned BPNL and BPNS, as well as a working wallet will reduce the on-boarding time and cost for DCM| +|6|How often are Catena-X standards and in particular the DCM standard updated?|Catena-X standards can be updated on a quarterly basis, with breaking changes being allowed once a year. The DCM expert group is committed to introducing new features to the DCM standard without incurring breaking changes. Additionally Catena-X is committed to ensuring backwards compatibility of the two most recent major releases. This means that a particular standard version will be valid for at least two years.| +|7|When a new version of the DCM standard is released, do I as a user need to re-install anything or implement any technical changes?|Usually standards are released six months before they are rolled out into the Catena-X dataspace. Within those six months infrastructure, applications etc. need to be updated, if a breaking change was introduced. However this is not handled by individual users, but rather by IT-departments and applications providers.| + +



                + +## Practical - General + +|#|Question|Answer| +|--|--|--| +|1|Which time granularity and horizon is used within DCM?|Demand and capacity data within DCM is distributed into weekly buckets. There is no technical limitation when it comes to the horizon. Typically data is shared starting from two weeks up to two years into the future.| +|2|I own a small company and do my planning in an Excel spreadsheet, can I still use the DCM Standard?|Yes, you can. While there are certain pre-requisites to DCM it does not restrict you to a specific planning tool.| +|3|Can I directly send my data from Excel into the Catena-X dataspace?|No, you either require a business application that supports Excel upload or use the open source [Simple Data Exchanger](https://github.com/eclipse-tractusx/managed-simple-data-exchanger), as soon as it supports DCM.| +|4|I run my MRP (Material Requirements Planning) only once a month, can I still use DCM?|Yes, you can. DCM relies mainly on PUSH communication. Just PUSH your data to your partners after you have done your MRP. In addition DCM supports request for update, allowing you or your partners to request an update on demand and capacity data at any time. (e.g. before and after counting all your stock)| +|5|Is there any industry DCM isn´t suitable for?|The standard was primarily developed by the automotive industry, but is not restricted to it. The core business process of DCM applies to most industries.| +|6|Does DCM support sharing capacity and demand data between companies that are not direct business partners? (e.g. tier 5 and OEM)| The standard restricts data exchange to companies that are in a direct business relationship as customer and supplier (One-up one-down). By solving or reducing potential bottlenecks within those one-up one-down relationships, the problems that are forwarded to your further-ups and further-downs get smaller and smaller, with every tier-level. In order for everyone to benefit the most from this setup you should encourage your tier-n business partners to join the Catena-X dataspace as well.| +|7|Will there be any alarm or notification if data entered is incorrectly or incompletely?|From a technical perspective:
                Certified applications implementing the DCM standard are required to do payload validation, checking the semantics and technical completeness of the data. However this does not protect from users entering a demand quantity that is comically high.

                From a business perspective:
                Yes, but the degree of protection depends on the business application you use and on how it handles user input validation. The DCM standard only defines basic payload validation.| +|8|Does DCM automatically keep historical data?|The dataspace itself does not historicise data for you. Neither does the DCM standard define how to historicise data. If you want to keep historic records your chosen DCM application needs to support this. Please be aware that, for data sovereignty reasons, you must not blindly historicise all data, but have to comply with the data exchange contracts and policies negotiated via EDC.| +|9|Am I allowed to store demand and capacity data shared via the Catena-X dataspace in my local backend systems and am I allowed to work with the data?|You can store, forward and transform the data as long as you ensure enforcement of the attached policies and contracts, guaranteeing data sovereignty within Catena-X.| +|10|How does DCM ensure data quality?|The standard defines mandatory properties and payload validation for `WeekBasedMaterialDemand` and `WeekBasedCapacityGroup` as well as an aligned business process that pushes for quality. In combination with framework agreements and only allowing certified companies as well solutions into the Catena-X dataspace data quality can be considered a given. In addition suppliers can make use of the feature demand volatility metric to educate twitchy customers.| + +



                + +## Practical - Customer specific + +|#|Question|Answer| +|--|--|--| +|1|Can I receive capacity data for a whole family of materials (All screws) instead of a single material (Screw P6766000001140000) |The material number of the customer is one aspect that makes the material demand unique. As a customer you will always receive capacity data referencing your material number. If your material number does not represent a single part, but rather a part family, you will receive capacity data related to that.

                Alternatively your supplier can link all material demands that relate to a part family to one capacity group and than provide you with a capacity for all linked materials.| +|2|I do have multiple assembly locations utilizing the same part. Will my supplier be able to provide capacity information for each individual assembly location?|Yes, he will. Suppliers structure capacity groups at their own discretion and the customer location is one aspect that makes a material demand unique. This means the supplier can provide you with one capacity group for all your locations, one capacity group for each location or anything in between, depending on your business needs.| +|3|Do I have to share my demands part by part or is some kind of batch upload possible?|From a business perspective:
                As a customer you share your material demands on a material number basis, meaning that if you want to communicate the demand for twelve material numbers you need to provide your supplier with twelve `WeekBasedMaterialDemand` objects. However this is just what happens under the hood. If you utilize a business application tailored to your needs, batch processing is feasible, especially if you ensure that there are no gaps in the demand time series.

                From a technical perspective:
                A single data transfer can contain multiple information objects of the same type, such as `WeekBasedMaterialDemand`. Interfacing DCM with your demand planning software should allow for a highly automated data exchange pipeline, greatly reducing the amount of manual data interaction, business has to execute.| +|4|My suppliers are only willing to share customer specific capacity data such as allocations. Can I still use DCM?| From a business perspective:
                Yes, you can. Within DCM data is exchanged only within direct business relationships and only between two companies anyways. If your demand is higher than the capacity allocated by your suppliers this is considered a bottleneck and should result in collaboration.

                From a technical perspective:
                Suppliers can share actual, maximum and agreed capacity with their customers. The shared values are always customer specific.

                | + +



                + +## Practical - Material Demand specific + +|#|Question|Answer| +|--|--|--| +|1|How often do I need to share my demand data?|It is recommended to provide your suppliers with an updated `WeekBasedMaterialDemand` every time your demand changes. How often that is entirely depends on your internal processes, but the standards recommends to send an updated `WeekBasedMaterialDemand` at least monthly, even if the demand quantities themselves did not change.| +|2|Do I have to include a demand category?|Demand category is a mandatory property and needs to be included with every `WeekBasedMaterialDemand`. However you can simply set it to the value `default` without further elaboration. | + +



                + +## Practical - Supplier specific + +|#|Question|Answer| +|--|--|--| +|1|If I receive a demand forecast where some materials (parts) have no demand quantity or a demand quantity of zero, will I still be able to share my available capacity for those materials?|Yes, as long as you are aware of a material (part) you can share your capacity in regards to the material, completely independent of what the actual demand values of your customer are.| +|2|Do I have to share my capacities part by part or is some kind of batch upload possible?|From a business perspective:
                As a supplier you can link multiple material demands to a single capacity group. Of course you should only do this, if those materials share a common capacity. If all material demands of a specific customer share a capacity, then only one data transfer to that customer is required. This means you need at least one data transfer per customer to share all your capacities.

                From a technical perspective:
                A single data transfer can contain multiple information objects of the same type, such as `WeekBasedCapacityGroup`. Interfacing DCM with your capacity planning software should allow for a highly automated data exchange pipeline, greatly reducing the amount of manual data interaction, business has to execute.| +|3|If I do receive material demands for 100 different parts, do I have to also provide capacity data for all 100 parts? |From a business perspective it is certainly wise to provide capacity data for every material that is part of existing contractual obligations with the customer that did send you the material demand. | +|4|Some materials I am producing for my customer load my production line differently than other materials, can I still include them in the same capacity group?|Yes, DCM supports load factors that can address this issue by expressing how much a particular material loads your production line compared to another material. It also allows you to convert all calculations to cycles or seconds, which is useful if materials using different unit of measures have to be part of the same capacity group.| +|5|Some of my customers demand data is highly volatile, can DCM help me with this issue? |Yes, DCM supports demand volatility metrics, which allow you to communicate to your customer that you are measuring volatility as well as define acceptable deviations.| +|6|Sometimes I produce materials in advance to use them later on to fulfill my customers demand. Can DCM reflect this?|Yes DCM supports simulated delta production, allowing you to close the demand-capacity gap via post- and pre-production.| +|7|I am going to add another production line, expanding my output. How should I reflect this within DCM?| This increase in potential output should lead to an increase in maximum capacity, starting from the date the increased output is available. It may as well be reflected in the actual capacity, if the demand justifies to utilize this newly increased potential output.| +|8|Does the standard allow me to submit structured action plans to my customers? | The standard allows for the exchange of capacity data as well as comments. By combining both you can for example introduce pre-production as well as a weekend-shifts and comment into the specific weeks the remaining details. Actual action plans are considered mostly customer specific and are more likely to be managed in a customer specific portal.| +|9|Some of my customers are direct competitors. How should this situation be reflected in DCM?|From a legal perspective:
                Ask a corporate lawyer familiar with every jurisdiction that applies to your specific case.

                From a business perspective:
                Data exchanged within DCM is always happening in a direct one to one business relationship. There is no situation, where more than two companies share the same information objects (`WeekBasedCapacityGroup`, `WeekBasedMaterialDemand`). As a supplier you provide your customer A the capacity data he needs within the business relationship `You - Customer A` and customer B with the data needs within the business relationship `You - Customer B`, meaning you keep them completely separate.| + +



                + +## Practical - Capacity Group specific + +|#|Question|Answer| +|--|--|--| +|1|How often do I need to share my capacity data?|It is recommended to provide your customers with an updated `WeekBasedCapacityGroup` every time your capacity changes. How often that is entirely depends on your internal processes.| +|2|Should there be one capacity group for every individual material demand?|The supplier has full flexibility when it comes to linking material demands to capacity groups. If the supplier has one dedicated assembly line per part, than the most likely scenario is one capacity group per part. However even then, logistics might be a common bottleneck for all assembly lines and therefore parts, resulting in one capacity group for all parts. Suppliers should structure capacity groups to reflect their real life bottleneck situation for the greatest benefit.| +|3|Should there be one capacity group with all material demands linked to it?|The supplier has full flexibility when it comes to linking material demands to capacity groups. If all parts manufactured by the supplier share a common bottleneck (e.g. the painting station), then the most likely scenario is one capacity group for all parts. However, even then, the painting station might have a throughout so high, that it is no bottleneck at all, resulting in a different capacity group makeup. Suppliers should structure capacity groups to reflect their real life bottleneck situation for the greatest benefit.| + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 CatX Service GmbH +- SPDX-FileCopyrightText: 2023,2024 Stellantis N.V. +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg new file mode 100644 index 00000000000..95953059c67 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg @@ -0,0 +1,2490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder + Demand + + + + + Demand + + Dynamischer Verbinder.237 + Capacity + + + + + Capacity + + Dynamischer Verbinder.238 + Demand + + + + + Demand + + Dynamischer Verbinder.239 + Capacity + + + + + Capacity + + Dynamischer Verbinder.240 + Demand + + + + + Demand + + Dynamischer Verbinder.241 + Capacity + + + + + Capacity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall + + Tabelle.249 + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + + + + + + + + + + + + + + Tabelle.253 + + + + + + + + + + + + + + + Tabelle.254 + + + + + + + + + Tabelle.255 + + + + Tabelle.256 + + + Tabelle.257 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.258 + Relationship A + + + + + + + + + + + + + + + + + + + + + + + Relationship A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.270 + + Tabelle.271 + + + Tabelle.272 + + + + Tabelle.273 + + + + Tabelle.274 + + + + + + + + + + + + + + + + + Tabelle.275 + + + + + + + + + + + + + + + Tabelle.276 + + + + + + + + + Tabelle.277 + + + + Tabelle.278 + + + Tabelle.279 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.280 + Relationship B + + + + + + + + + + + + + + + + + + + + + + + Relationship B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.281 + + Tabelle.282 + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + + + + + + + + + + + + + + Tabelle.286 + + + + + + + + + + + + + + + Tabelle.287 + + + + + + + + + Tabelle.288 + + + + Tabelle.289 + + + Tabelle.290 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.291 + Relationship C + + + + + + + + + + + + + + + + + + + + + + + Relationship C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.296 + + Tabelle.297 + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + + + + + + + + + + + + + + + + + + Tabelle.301 + + + + + + + + + + + + + + + + + + + Tabelle.302 + + + + + + + + + Tabelle.303 + + + + Tabelle.304 + + + Tabelle.305 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.306 + Demand dA1 .. dA(n) Capacity cA1.. cA(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dA1 .. dA(n)Capacity cA1.. cA(n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.308 + + Tabelle.309 + + + Tabelle.310 + + + + Tabelle.311 + + + + Tabelle.312 + + + + + + + + + + + + + + + + + + + + + Tabelle.313 + + + + + + + + + + + + + + + + + + + Tabelle.314 + + + + + + + + + Tabelle.315 + + + + Tabelle.316 + + + Tabelle.317 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.318 + Demand dB1 .. dB(n) Capacity cB1.. cB(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dB1 .. dB(n)Capacity cB1.. cB(n) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.319 + + Tabelle.320 + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + + + + + + + + + + + + + + + + + + Tabelle.324 + + + + + + + + + + + + + + + + + + + Tabelle.325 + + + + + + + + + Tabelle.326 + + + + Tabelle.327 + + + Tabelle.328 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.329 + Demand dC1 .. dC(n) Capacity cC1.. cC(n) + + + + + + + + + + + + + + + + + + + + + + + + + Demand dC1 .. dC(n)Capacity cC1.. cC(n) + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_chain.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg new file mode 100644 index 00000000000..3e2e9d7d65f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg @@ -0,0 +1,2853 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder.237 + + + + Dynamischer Verbinder.239 + + + + Dynamischer Verbinder.241 + + + + + + + Hauptsitz.242 + + Tabelle.243 + + + + Tabelle.244 + + + + Tabelle.245 + + + + Tabelle.246 + + + + Tabelle.247 + + + + Tabelle.248 + + + + Tabelle.249 + + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + Tabelle.253 + + + + Tabelle.254 + + Tabelle.255 + + + + Tabelle.256 + + + + Tabelle.257 + + + + Tabelle.258 + + + + Tabelle.259 + + + + Tabelle.260 + + + + Tabelle.261 + + + + + Tabelle.262 + + + + Tabelle.263 + + + + Tabelle.264 + + Tabelle.265 + + + + Tabelle.266 + + + + Tabelle.267 + + + + Tabelle.268 + + + + Tabelle.269 + + + + Tabelle.270 + + + + Tabelle.271 + + + + Tabelle.272 + + + + Tabelle.273 + + + + + Tabelle.274 + + + + Tabelle.275 + + + + Tabelle.276 + + + + Tabelle.277 + + + + Tabelle.278 + + + + Tabelle.279 + + + + Tabelle.280 + + + + Tabelle.281 + + + + Tabelle.282 + + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + Tabelle.286 + + + + Tabelle.287 + + + + Tabelle.288 + + + + + + + + Hauptsitz.289 + + Tabelle.290 + + + + Tabelle.291 + + + + Tabelle.292 + + + + Tabelle.293 + + + + Tabelle.294 + + + + Tabelle.295 + + + + Tabelle.296 + + + + Tabelle.297 + + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + Tabelle.301 + + Tabelle.302 + + + + Tabelle.303 + + + + Tabelle.304 + + + + Tabelle.305 + + + + Tabelle.306 + + + + Tabelle.307 + + + + Tabelle.308 + + + + + Tabelle.309 + + + + Tabelle.310 + + + + Tabelle.311 + + Tabelle.312 + + + + Tabelle.313 + + + + Tabelle.314 + + + + Tabelle.315 + + + + Tabelle.316 + + + + Tabelle.317 + + + + Tabelle.318 + + + + Tabelle.319 + + + + Tabelle.320 + + + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + Tabelle.324 + + + + Tabelle.325 + + + + Tabelle.326 + + + + Tabelle.327 + + + + Tabelle.328 + + + + Tabelle.329 + + + + Tabelle.330 + + + + Tabelle.331 + + + + Tabelle.332 + + + + Tabelle.333 + + + + Tabelle.334 + + + + Tabelle.335 + + + + + + + + Hauptsitz.336 + + Tabelle.337 + + + + Tabelle.338 + + + + Tabelle.339 + + + + Tabelle.340 + + + + Tabelle.341 + + + + Tabelle.342 + + + + Tabelle.343 + + + + Tabelle.344 + + + + Tabelle.345 + + + + Tabelle.346 + + + + Tabelle.347 + + + + Tabelle.348 + + Tabelle.349 + + + + Tabelle.350 + + + + Tabelle.351 + + + + Tabelle.352 + + + + Tabelle.353 + + + + Tabelle.354 + + + + Tabelle.355 + + + + + Tabelle.356 + + + + Tabelle.357 + + + + Tabelle.358 + + Tabelle.359 + + + + Tabelle.360 + + + + Tabelle.361 + + + + Tabelle.362 + + + + Tabelle.363 + + + + Tabelle.364 + + + + Tabelle.365 + + + + Tabelle.366 + + + + Tabelle.367 + + + + + Tabelle.368 + + + + Tabelle.369 + + + + Tabelle.370 + + + + Tabelle.371 + + + + Tabelle.372 + + + + Tabelle.373 + + + + Tabelle.374 + + + + Tabelle.375 + + + + Tabelle.376 + + + + Tabelle.377 + + + + Tabelle.378 + + + + Tabelle.379 + + + + Tabelle.380 + + + + Tabelle.381 + + + + Tabelle.382 + + + + + + + + Hauptsitz.383 + + Tabelle.384 + + + + Tabelle.385 + + + + Tabelle.386 + + + + Tabelle.387 + + + + Tabelle.388 + + + + Tabelle.389 + + + + Tabelle.390 + + + + Tabelle.391 + + + + Tabelle.392 + + + + Tabelle.393 + + + + Tabelle.394 + + + + Tabelle.395 + + Tabelle.396 + + + + Tabelle.397 + + + + Tabelle.398 + + + + Tabelle.399 + + + + Tabelle.400 + + + + Tabelle.401 + + + + Tabelle.402 + + + + + Tabelle.403 + + + + Tabelle.404 + + + + Tabelle.405 + + Tabelle.406 + + + + Tabelle.407 + + + + Tabelle.408 + + + + Tabelle.409 + + + + Tabelle.410 + + + + Tabelle.411 + + + + Tabelle.412 + + + + Tabelle.413 + + + + Tabelle.414 + + + + + Tabelle.415 + + + + Tabelle.416 + + + + Tabelle.417 + + + + Tabelle.418 + + + + Tabelle.419 + + + + Tabelle.420 + + + + Tabelle.421 + + + + Tabelle.422 + + + + Tabelle.423 + + + + Tabelle.424 + + + + Tabelle.425 + + + + Tabelle.426 + + + + Tabelle.427 + + + + Tabelle.428 + + + + Tabelle.429 + + + + + + + + Hauptsitz.430 + + Tabelle.431 + + + + Tabelle.432 + + + + Tabelle.433 + + + + Tabelle.434 + + + + Tabelle.435 + + + + Tabelle.436 + + + + Tabelle.437 + + + + Tabelle.438 + + + + Tabelle.439 + + + + Tabelle.440 + + + + Tabelle.441 + + + + Tabelle.442 + + Tabelle.443 + + + + Tabelle.444 + + + + Tabelle.445 + + + + Tabelle.446 + + + + Tabelle.447 + + + + Tabelle.448 + + + + Tabelle.449 + + + + + Tabelle.450 + + + + Tabelle.451 + + + + Tabelle.452 + + Tabelle.453 + + + + Tabelle.454 + + + + Tabelle.455 + + + + Tabelle.456 + + + + Tabelle.457 + + + + Tabelle.458 + + + + Tabelle.459 + + + + Tabelle.460 + + + + Tabelle.461 + + + + + Tabelle.462 + + + + Tabelle.463 + + + + Tabelle.464 + + + + Tabelle.465 + + + + Tabelle.466 + + + + Tabelle.467 + + + + Tabelle.468 + + + + Tabelle.469 + + + + Tabelle.470 + + + + Tabelle.471 + + + + Tabelle.472 + + + + Tabelle.473 + + + + Tabelle.474 + + + + Tabelle.475 + + + + Tabelle.476 + + + + + Dynamischer Verbinder.477 + + + + Dynamischer Verbinder.478 + + + + Dynamischer Verbinder.479 + + + + Dynamischer Verbinder.480 + + + + Dynamischer Verbinder.481 + + + + Dynamischer Verbinder.482 + + + + Dynamischer Verbinder.483 + + + + Dynamischer Verbinder.484 + + + + Dynamischer Verbinder.485 + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/business-architecture_network.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg new file mode 100644 index 00000000000..14620ec2fef --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg @@ -0,0 +1,3 @@ + + +Example: Demand and Capacity Data Matching and Comparison within Capacity GroupWeek1Week2Week3Week4Week5Week6Week7Week8600055005000450040003500300025002000150010005000. \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/resources/compare-md-cg.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md new file mode 100644 index 00000000000..28ed9b8cc8e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/business-process.md @@ -0,0 +1,872 @@ +--- +id: business-process +title: Core Business Process +description: Exchange demand and capacity information to solve bottlenecks. +sidebar_position: 1 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## TABLE OF CONTENTS + +- [Business Roles and Functions](#business-roles-and-functions) +- [Material Demand](#material-demand) +- [Capacity Group](#capacity-group) +- [Match and Comparison of Demand and Capacity](#match-and-comparison-of-demand-and-capacity) +- [Collaboration](#collaboration) +- [User Journey](#user-journey) + +## Business Roles and Functions + +The core DCM business process is executed by two roles and uses two APIs as well as two aspect models. The customer is responsible for `WeekBasedMaterialDemand`, the supplier for `WeekBasedCapacityGroup`. Within `WeekBasedCapacityGroup` the supplier has to link material demands. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Manage demand data|X|| +|Inform supplier about demand|X|| +|Manage capacity data||X| +|Link demand and capacity||X| +|Inform customer about capacity||X| +|Compare demand to capacity|X|X| +|Collaborate to resolve bottlenecks|X|X| + +## User Journey + +![User Journey](./resources/business-process_UserJourney.svg) + +Figure: *Basic DCM user journey* + + +### Personas + +The basic DCM user journey encompasses two key personas, each with distinct roles and responsibilities that highlight their value within the supply chain. + +#### Customer + + Individuals that act as this persona may hold various titles within their organization, but share the common responsibility of managing material demand and ensuring that supply aligns with their forecasted needs. The value of DCM for the customer lies in the capability to provide clear visibility into future demand and to facilitate efficient communication and alignment with suppliers. + +The responsibilities of the customer include: + +- safeguarding sufficient capacity of his suppliers for required materials and prevent bottleneck situations +- allocation of production capacity on customer side +- production rough cut planning +- material allocation + +#### Supplier + +Individuals that act as this persona may hold various titles within their organization, but share the common responsibility of providing capacity data in response to the customer's material demand. The value of DCM for the supplier lies in the capability to receive material demand data, which enables them to plan and allocate resources effectively, ensuring they can meet the customer's demands. + +The responsibilities of the supplier include: + +- allocation of production capacity +- production rough cut planning +- material allocation +- communication to a customer business partner regarding capacity figures in a mid to - long term horizon +- resolving bottleneck situations + +### User Journey Description + +The starting point within the DCM user journey is the exchange of demand data, which is provided by the customer and consumed by the supplier as WeekBasedMaterialDemand. For an effective demand and capacity management the data needs to be of a certain quality. This includes sorting the demand into weekly buckets, extending the demand data 24 months into the future and subsequently keeping it up to data. Whether the customer has to manually prepare the demand data or it gets automatically generated and updated from existing systems, is not restricted by the Catena-X standards. + +The exchange of demand data is followed by the exchange of capacity data, which is provided by the supplier und consumed by the customer. For an effective demand and capacity management the data needs to be of a certain quality. This included linking material demands to the capacity group ,providing a capacity quantity for every calendar week the customer provided demand quantities for, matching unit of measures correctly and utilizing advanced features like load factors and delta production in order to model demand and capacity management as closely to real life as possible. Whether the supplier has to manually prepare the capacity data or it gets automatically generated and updated from existing systems, is not restricted by the Catena-X standards. However matching material numbers and linking material demands to capacity groups will most likely required human intervention at some point. + +After exchanging demand and capacity data both customer and supplier do have the same view of the current situation and can begin matching and comparing the data. This is something that usually happening locally within the respective DCM application. Ideally the whole process of finding problems (bottleneck or surplus) is automated. + +If either customer or supplier identify a problem they can collaborate by exchanging comments as described by the DCM standard or by communicating outside the Catena-X dataspace using email or online-meetings. Regardless of how communication is initiated and maintained solving an identified problem is always the result of proposing, evaluating and simulating potential solutions. Customers and supplier discuss potential measures, modify their demand and capacity respectively and exchange the modified data until a solution that works for both sides has been found. + +Tools available to the customer for solving problems are fairly limited. They can increase or decrease demand quantities. + +The supplier on the other hand has more options to solve problems. They can not only increase and decrease capacity quantities, but also use flexible capacity, load factors and delta production. + +## Material Demand + +![Guide Demand](./resources/business-process_guide_demand.svg) + + +A material demand represents the need for a particular product, part, component or material over a certain time period in a specified quantity. Demand quantities must refer to a time period of one calendar week (weekly buckets). + +The customer is responsible for publishing material demands to their supplier for upcoming time periods and it is strongly recommended to: + +- Minimize any data gaps to the greatest extent possible by maintaining continuity and establishing consistency. +- Provide material demand data for at least nine months into the future to ensure that DCM participants have sufficient information to work with. +- Implement a rolling demand plan by continuously updating the planning horizon with recent data. +- Refresh the data at a minimum of once every four weeks. +- Align, ideally within a contract, the unit of measure for demand quantities (e.g., pieces, kilograms, metric tons) with the supplier before providing the demand. + +The supplier must have the capability to consume the material demand data from the customer. + +### Material Demand Structure + +![Material Demand Structure](./resources/business-process_MDstructure.svg) +![Material Demand Structure Legend](./resources/business-process_MDstructure_Legend.svg) + +Figure: *Material demand structure* + + +### Visualization Example + +![Demand Example](./resources/business-process_ExampleDemand.svg) + +Figure: *Visualizing demand quantities as bars* + + +## Capacity Group + +![Guide Capacity](./resources/business-process_guide_capacity.svg) + + +A capacity groups represents the answer to one ore more material demands. It contains the information on how a supplier intends to fulfill customer needs, by contrasting demands with capacities over a certain time period in a specified quantity. Capacity quantities must refer to a time period of one calendar week (weekly buckets). + +The customer is responsible for publishing capacity groups to their customer and it is strongly recommended to: + +- Minimize any data gaps to the greatest extent possible by maintaining continuity and establishing consistency. +- Provide capacity data for every calendar week that has associated demand data. +- Refresh the data at a minimum of once every four weeks. +- Align, ideally within a contract, the unit of measure for capacity quantities (e.g., pieces, kilograms, metric tons) with the customer and utilize lead factors as conversion factors, if applicable. + +The supplier must provide capacity data to the customer, corresponding to the material demand data previously shared. Thereby, the supplier is acting as a data provider and the customer as a data consumer of the exchanged capacity group.  + +The customer must have the capability to consume the capacity group data from the supplier. + +### Capacity Group Structure + +The Capacity Group is the entity where Material Demand and capacity information are matched and compared for the purpose of a collaborative DCM. Thereby, the Capacity Group builds the common view on the data exchanged between a customer and a supplier. + +The entity Capacity Group may be used, i.e. to combine capacities related to one or more machines, facilities or plants. + +![Capacity Group Structure](./resources/business-process_CGstructure.svg) + +Figure: *Capacity group structure* + + +### Example Visualization + +![Capacity Example](./resources/business-process_ExampleCapacity.svg) + +Figure: *Visualizing capacity quantities as lines* + + + + +### Capacity Types + +Embedded into the WeekBasedCapacityGroup are + +- **actual capacity** as the planned available capacity of a supplier +- **maximum capacity** as the maximum releasable capacity of a supplier +- **agreed capacity** as the understanding between customer and supplier, regardless of contractual obligations. It is optional. + +In addition the difference between actual capacity and maximum capacity is commonly understood as **flexible capacity**. + +### WeekBasedCapacityGroup Properties + +A Capacity Group dataset comprises the following basic components: + +|Properties|Description| +|-|-| +|Supplier|The Business Partner Number (BPNL) of the party providing materials to a customer| +|Customer|The Business Partner Number (BPNL) of the party requesting material from a supplier| +|Capacity Group ID|The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer| +|Changed At|Point in time when the content (any property according to the data model) of the capacity group was changed, at the supplier, either by a human user or an automated process| +|Capacity Group Name|Name of the capacity group.| +|Inactive Flag|Indicates that this capacity group is currently not in use/maintained by the supplier| +|Unit of Measure|Unit of Measurement (UoM) for capacity quantities| +|Linked Demand Series|Set of demand series assigned tio this capacity group.| +|Capacities|A time series with week-based granularity along a given time period containing the capacity values| +|Unit of Measure is Omitted|Explicit indicator of whether the unit of measure is left out of the payload intentionally. If “true” it means the sending application sends the demand values without unit of measure intentionally and the unit of measure must not be contained in the payload. If “false” a unit of measure must be supplied| + +Further properties are added at lower level below the “Capacities” property. A capacity time series contains the following components. + +|Properties|Description| +|-|-| +|Actual Capacity|The actual capacity is the realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity| +|Agreed Capacity|The agreed capacity of a supplier for a specific customer material(s) within a capacity group. The agreed capacity must not constitute a legal obligation to deliver.| +|Maximum Capacity|The supplier's maximum capacity is the maximal available output per calendar week and material for a specific customer in a specific unit of measure. The maximum capacity thereby restricts the flexible capacity, as the flexible capacity is obtained from the difference of a supplier maximum capacity minus actual capacity| +|Point in Time|ISO Calendar Week of the given time series entry. UstIt must be given as a date of the Monday in the week.| + +### Linking Capacity Groups to Material Demands + +For a functional Capacity Group, the supplier must link it directly or indirectly to a Material Demand: + +- **Direct linking** means that the Capacity Group links at least one Material Demand +- **Indirect linking** means that the Capacity Group links to another Capacity Group which links at least one Material Demand. This is also referred to as **nesting**. + +#### Direct Linking + +![Direct Linking](./resources/business-process_DirectLinking.svg) +![Direct Linking Legend](./resources/business-process_DirectLinking_Legend.svg) + +Figure: *Capacity group structure with linked material demand* + + +For the technical representation of a CapacityGroup the aspect model WeekBasedCapacityGroup is utilized. + +The aspect model WeekBasedCapacityGroup must be used by a supplier to provide capacity information to the customer. + +For further details refer to the semantic model in Chapter 3.2 and to the APIs in Chapter 4.2. + +A partner acting as a supplier sends a Capacity Group to its customer. In order to link demand series in the Capacity Group between customer and supplier, the following properties must be filled-in: + +- supplier +- customer +- materialNumberCustomer +- customerLocation +- demandCategory + +If there’s no complete match between supplier and customer data, it’s recommended to initiate collaboration (i.e. see chapter “Comments”) + +The supplier has the option to mark a WeekBasedCapacityGroup as inactive (i.e. the capacity is obsolete), in this case the capacity will not be considered in the demand-capacity matching. However, the WeekBasedCapacityGroup can be reactivated again. + +### Building n-tier chains via capacity groups + +Building supply chain via capacity groups is crucial to improve resiliency, transparency and efficiency along the value chain. Using the individual one-to-one capacity groups between one-ups and one-downs step by step builds the whole supply network. This enables all partners to collaborate along the whole value chain and navigate through complex and dynamic market conditions. + +The following figure illustrates how plastic granulate ends up being used in the housing of a control unit and how this would be viewed from a birds eye perspective. + +```mermaid +flowchart BT + subgraph CG1["Capacity Group 1                     (OEM - Tier1)"] + cg11UP[One-Up] + cg1Material[Control Unit] + cg11DOWN[One-Down] + end + subgraph CG2["Capacity Group 2                     (Tier1 - Tier2)"] + cg21UP[One-Up] + cg2Material[Case] + cg21DOWN[One-Down] + end + subgraph CG3["Capacity Group 3                     (Tier2 - Tier3)"] + cg31UP[One-Up] + cg3Material[Granulate] + cg31DOWN[One-Down] + end +cg3Material-->cg2Material +cg2Material-->cg1Material +style cg11UP fill:#707070,color:#ffffff +style cg1Material fill:#FFFFFF,color:#707070 +style cg11DOWN fill:#046b99,color:#ffffff +style cg21UP fill:#046b99,color:#ffffff +style cg2Material fill:#FFFFFF,color:#707070 +style cg21DOWN fill:#219dd4,color:#000000 +style cg31UP fill:#219dd4,color:#000000 +style cg3Material fill:#FFFFFF,color:#707070 +style cg31DOWN fill:#575757,color:#ffffff +``` + +Figure: *A small supply chain built by three capacity groups* + +The following figure illustrates the flow of demand and capacity data through the supply network. Capacity and demand blocks are placed according to responsibility. Data exchange that is happening within the Catena-X dataspace is denoted by arrows with "Provide" written on them. + +```mermaid +flowchart LR + subgraph t0[OEM] + car + t0a[Demand] + t0b[Demand] + end + subgraph t1[Tier 1] + t1a[Capacity] + t1b[Capacity] + t1c[Demand] + end + subgraph t2[Tier 2] + subgraph t2py[Plant Y] + t2pya[Capacity] + t2pyb[Demand] + t2pyc[Demand] + end + subgraph t2pz[Plant Z] + t2pza[Demand] + t2pzb[Demand] + t2pzc[Capacity] + end + end + subgraph t3a[Tier 3] + t3aa[Capacity] + end + subgraph t3b[Tier 3] + t3ba[Capacity] + t3bb[Capacity] + end +t0a-->car +t0b-->car +t1a--"Provide"-->t0a +t0a--"Provide"-->t1a +t1b--"Provide"-->t0b +t0b--"Provide"-->t1b +t1c-->t1a +t1c-->t1b +t2pzc--"Provide"-->t1c +t1c--"Provide"-->t2pzc +t2pza-->t2pzc +t2pzb-->t2pzc +t2pya--"Provide"-->t2pza +t2pza--"Provide"-->t2pya +t3bb--"Provide"-->t2pzb +t2pzb--"Provide"-->t3bb +t2pyb-->t2pya +t2pyc-->t2pya +t3ba--"Provide"-->t2pyc +t2pyc--"Provide"-->t3ba +t3aa--"Provide"-->t2pyb +t2pyb--"Provide"-->t3aa +classDef Demand fill:#FFA600,stroke:#FFFFFF,color:#000000 +classDef Capacity fill:#B3CB2D,stroke:#FFFFFF,color:#000000 +classDef CG1 fill:#B3CB2D,color:#000000 +classDef CG2 fill:#a0b626,color:#000000 +classDef CG3 fill:#8da01e,color:#000000 +classDef CG4 fill:#7a8b17,color:#FFFFFF +classDef CG5 fill:#66750f,color:#FFFFFF +classDef CG6 fill:#536008,color:#FFFFFF +classDef CG7 fill:#404a00,color:#FFFFFF +classDef Car fill:#219DD4,color:#000000 +class t1a,t0a CG1 +class t1b,t0b CG6 +class t3aa,t2pyb CG2 +class t3ba,t2pyc CG3 +class t2pzb,t3bb CG4 +class t2pya,t2pza CG7 +class t2pzc,t1c CG5 +class car Car +``` + +![N-Tier Linking Legend Legend](./resources/business-process_nTierLinking_Legend.svg) + +Figure: *A small supply network built by seven capacity groups* + + +## Match and Comparison of Demand and Capacity + +![Guide Match](./resources/business-process_guide_match.svg) + + +Both customer and supplier need to apply the same logic when comparing demand and capacity data in order to get the same results and come to identical conclusions. + +The standard describes exactly which scenario leads to the three possible matching results: + +- Zero deviation +- Surplus +- Bottleneck + +Within a DCM application those three matching results are commonly represented as a traffic light status, with zero deviation and surplus being green and bottleneck being orange or red, depending on whether demand is higher than maximum capacity or just actual capacity. + +While customers might not feel impacted by a surplus, because the demand is matched, it still represents capacity that the supplier could better utilize. + +For ease of use demand and capacity data should be shown on the same graph and colored in appropriately, within a DCM application. + +![Capacity Match and Compare](./resources/business-process_ExampleMatchCompare.svg) + +Figure: *Visualizing the comparison of demand and capacity quantities* + + + + + +## Collaboration + +![Guide Collaboration ](./resources/business-process_guide_collab.svg) + + + +Collaboration is key within the DCM process. It is the final part of the DCM user journey, where actual solutions for problems (surplus and bottlenecks) are proposed, discussed and finally deployed. + +In order to facilitate collaboration with the Catena-X dataspace the DCM standards describes the exchange of comments, using an own aspect model and API. Communication features outside the Catena-X dataspace, such as eMail, phone calls, online meetings, etc. are not prohibited and should be used as the individual customers and suppliers see fit. + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md new file mode 100644 index 00000000000..7e739854f34 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/comments.md @@ -0,0 +1,105 @@ +--- +id: comments +title: Comments +description: Share comments to further help solving bottlenecks. +sidebar_position: 6 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Comments use their own aspect model and API. Comments are provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Comment on demand or capacity data|X|X| +|Inform business partner about comment|X|X| + +## Sequence Diagram + +```mermaid + +sequenceDiagram +Participant c as Customer +Participant s as Supplier +rect rgb(4,107,153) +s->>c: The demand in weeks 23 and 24 seems extraordinarily high. Can you please have a look at it. +end +rect rgb(4,107,153) +c->>s: This is not an error. My demand actually is that high. +end +rect rgb(4,107,153) +c->>s: Could you try meeting my demand by going into pre-production for week 10 to 20? +end +rect rgb(64,74,0) +s->>c: Provide WeekBasedCapacityGroup containing pre production for weeks 10 to 20 +end +rect rgb(4,107,153) +s->>c: I updated the capacity data to include pre production, lets discuss this in an online meeting. +end +``` + +## Details + +Collaboration is a critical element in Demand and Capacity Management. It enables alignment and cooperation between customers and suppliers within their respective business relationships. This interaction is facilitated by the exchange of comments, which are messages or texts related to data objects – either Material Demand or Capacity Group. These objects are identified by an "ObjectID," which matches the UUID of either a WeekBasedMaterialDemand or a WeekBasedCapacityGroup. + +Each comment, formally known as an IdBasedComment, within the business relationship is uniquely identified by a CommentID. + +This functionality allows users to integrate all data, including communications with their business partners, into the core process. This integration fosters a unified source of truth within the DCM process and enhances efficient decision-making. Comments can also be directed toward specific periods within the exchanged time series data to improve the precision of collaboration. + +Comments consist solely of text exchanges, without the transfer of documents or attachments. + +Comments must be formatted according to the Catena-X data standards and processed through the specified API. + +Both customers and suppliers must be able to send and receive comments regarding a capacity group object. Similarly, exchanging comments on a material demand object is strongly advised to enhance collaborative efforts in Demand and Capacity Management. + +To aid in the interpretation of received comments, a comment type must be specified during its creation. Each comment must align with one of the defined types in the standard. The consumer of the comment is responsible for determining the appropriate actions in response to the comment type. + +The provider of a comment can freely write their message in a designated text field, as outlined in the corresponding data model. Any editing of comments, such as changes to content, date, or time, does not alter the CommentID. + +Additionally, comments may include references to specific calendar weeks of the time series data for clarity. + +### Enriching comments + +Every comment should have the following data embedded into it: + +- The identity of the comment creator, which could be their first and last name, email address, or the Business Partner Number of their company (BPNL). + - Adherence to the General Data Protection Regulation (GDPR) must be ensured, especially regarding the treatment of comments and user data following the withdrawal of the individual or their company. This includes compliance with decisions agreed upon by partner companies. + - The comment creator should have the option to remain anonymous if desired, utilizing only the BPNL. +- The data and time when the comment was created. + +As a general guideline, the ability to modify an existing comment should be restricted solely to the individual who originally authored the comment. This ensures that the integrity of the comment is maintained and that any changes reflect the creator's current views or corrections. + +### Linking comments + +It should be possible to create comments in the following manner: + +- Pertaining to a specific capacity group + - General comments, detached from specific calendar weeks + - Comments attached to one or multiple calendar weeks +- Pertaining to a specific material demand + - General comments, detached from specific calendar weeks + - Comments attached to one or multiple calendar weeks + +Since users will typically interact with a graphical user interface (UI) that displays an aggregation of a specific capacity group along with all its associated material demands and other capacity groups, it is logical to aggregate comments in a corresponding manner. This approach would allow users to view comments in the context of the specific data they are associated with, streamlining the user experience and enhancing the relevance of the comments in relation to the aggregated data being reviewed. + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md new file mode 100644 index 00000000000..850be0cf25a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/delta-production.md @@ -0,0 +1,58 @@ +--- +id: delta-production +title: Simulated Delta Production +description: Solve bottlenecks using pre- and post production +sidebar_position: 3 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Delta production data is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers provide delta production related data and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Solve bottleneck via pre production||X| +|Solve bottleneck via post production||X| +|Inform customer||X| +|Acknowledge that bottleneck has been solved|X|| + +## Sequence Diagram + +```mermaid +sequenceDiagram +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) +c->>s: I need 100 blue toys each in weeks 47, 48, 49 and 50 +end +s->>s: Manage Capacities +s->>s: There is a bottleneck in week 50 +s->>s: It is solvable via pre-production in weeks 48 and 49 + +rect rgb(64,74,00) +s-->>c: I can produce 100 in week 47, 0 in week 50 and 150 in weeks 48 and 49 +s->>c: 50 each in weeks 48 und 49 are pre-produced to cover the demand in week 50 +end +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md new file mode 100644 index 00000000000..92d97ede9e0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/demand-volatility.md @@ -0,0 +1,68 @@ +--- +id: demand-volatility +title: Demand Volatility Metrics +description: Create transparency regarding data volatility and strife for a solution +sidebar_position: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Demand volatility data is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers provide demand volatility related data and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Define parameters for calculating volatility||X| +|Calculate volatility||X| +|Inform business partner about parameters for calculating volatility||X| +|Inform business partner about calculated volatility||X| +|Acknowledge volatility calculation|X|| +|Reproduce demand volatility calculation|X|| + +## Sequence Diagram + +```mermaid +sequenceDiagram +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) +c->>s: I need 100 red toys in week 44 +end +c->>c: Wait 1 week +rect rgb(157,93,00) +c->>s: I need 1000 red toys in week 44 +end +c->>c: Wait 1 week +rect rgb(157,93,00) +c->>s: I need 10 red toys in week 44 +end +s->>s: I should really start measuring the volatility of my customers demands +rect rgb(64,74,00) +s->>c: I will begin measuring demand volatility, using the following parameters: +s-->>c: Increase limited to 5% +s-->>c: Decrease limited to 100 units +s-->>c: Measurement starts in week 5, using subhorizons of length (4,8,16,32) +end + +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md new file mode 100644 index 00000000000..a83b8d047fa --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/disruption-notification.md @@ -0,0 +1,53 @@ +--- +id: disruption-notification +title: Supply Chain Disruption Notification +description: Inform the supply chain about urgent issues, that connect be quantified yet. +sidebar_position: 7 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Supply chain disruption notifications use their own aspect model and API. Supply chain disruption notifications are provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Inform business partner about disruption|X|X| +|Detail pre-existing disruption notification|X|X| +|Resolve disruption|X|X| + +## Sequence Diagram + +```mermaid +sequenceDiagram +Participant c as Customer / Supplier +Participant s as Supplier / Customer +rect rgb(4,107,153) +c->>s: One of my production plants is negatively impacted by a strike +c-->>s: This affects the demand of the following materials: {Toy 1, Toy2, Toy3} +end +rect rgb(4,107,153) +c->>s: The disruption (strike) has ended +end +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md new file mode 100644 index 00000000000..769cf6a8058 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/load-factors.md @@ -0,0 +1,60 @@ +--- +id: load-factors +title: Load Factors +description: Detail capacities by defining how much of a strain a material is on your capacities, compared to other materials. +sidebar_position: 4 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Load factor data is embedded into the WeekBasedCapacityGroup aspect model. This means that only suppliers provide load factor related data and customers consume it. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Define load factors for materials||X| +|Define conversion factor for unit of measure||X| +|Inform business partners about factors||X| +|Acknowledge factors|X|| +|Recalculate demands in user interface, based on factors |X|X| + +## Sequence Diagram + +```mermaid +sequenceDiagram +Participant c as Customer +Participant s as Supplier +rect rgb(157,93,00) +c->>s: I need 100 red and 100 chrome toys +end +s->>s: Chrome toys strain my capacities twice as much as red toys +rect rgb(64,74,00) +s-->>c: Your demand and my capacities need to be expressed as production cycles. +s-->>c: Red toys are loaded with factor 1 +s-->>c: Chrome toys are loaded with factor 2 +s->>c: My overall capacity is 250 cycles +end +c->>c: My demands are 100 red cycles plus 200 chrome cycles equals 300 cycles +c->>c: Their capacity for both toys is 250 cycles +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg new file mode 100644 index 00000000000..1cda8f760cc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg @@ -0,0 +1,2493 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zeichenblatt-1 + + + + + + + Hauptsitz + OEM + + Tabelle.4 + + + + Tabelle.5 + + + + Tabelle.6 + + + + Tabelle.7 + + + + Tabelle.8 + + + + Tabelle.9 + + + + Tabelle.10 + + + + Tabelle.11 + + + + Tabelle.12 + + + + Tabelle.13 + + + + Tabelle.14 + + + + Tabelle.15 + + Tabelle.16 + + + + Tabelle.17 + + + + Tabelle.18 + + + + Tabelle.19 + + + + Tabelle.20 + + + + Tabelle.21 + + + + Tabelle.22 + + + + + Tabelle.23 + + + + Tabelle.24 + + + + Tabelle.25 + + Tabelle.26 + + + + Tabelle.27 + + + + Tabelle.28 + + + + Tabelle.29 + + + + Tabelle.30 + + + + Tabelle.31 + + + + Tabelle.32 + + + + Tabelle.33 + + + + Tabelle.34 + + + + + Tabelle.35 + + + + Tabelle.36 + + + + Tabelle.37 + + + + Tabelle.38 + + + + Tabelle.39 + + + + Tabelle.40 + + + + Tabelle.41 + + + + Tabelle.42 + + + + Tabelle.43 + + + + Tabelle.44 + + + + Tabelle.45 + + + + Tabelle.46 + + + + Tabelle.47 + + + + Tabelle.48 + + + + Tabelle.49 + + + + + + OEM + + + + + + Hauptsitz.95 + Tier 1 + + Tabelle.96 + + + + Tabelle.97 + + + + Tabelle.98 + + + + Tabelle.99 + + + + Tabelle.100 + + + + Tabelle.101 + + + + Tabelle.102 + + + + Tabelle.103 + + + + Tabelle.104 + + + + Tabelle.105 + + + + Tabelle.106 + + + + Tabelle.107 + + Tabelle.108 + + + + Tabelle.109 + + + + Tabelle.110 + + + + Tabelle.111 + + + + Tabelle.112 + + + + Tabelle.113 + + + + Tabelle.114 + + + + + Tabelle.115 + + + + Tabelle.116 + + + + Tabelle.117 + + Tabelle.118 + + + + Tabelle.119 + + + + Tabelle.120 + + + + Tabelle.121 + + + + Tabelle.122 + + + + Tabelle.123 + + + + Tabelle.124 + + + + Tabelle.125 + + + + Tabelle.126 + + + + + Tabelle.127 + + + + Tabelle.128 + + + + Tabelle.129 + + + + Tabelle.130 + + + + Tabelle.131 + + + + Tabelle.132 + + + + Tabelle.133 + + + + Tabelle.134 + + + + Tabelle.135 + + + + Tabelle.136 + + + + Tabelle.137 + + + + Tabelle.138 + + + + Tabelle.139 + + + + Tabelle.140 + + + + Tabelle.141 + + + + + + Tier 1 + + + + + + Hauptsitz.142 + Tier 2 + + Tabelle.143 + + + + Tabelle.144 + + + + Tabelle.145 + + + + Tabelle.146 + + + + Tabelle.147 + + + + Tabelle.148 + + + + Tabelle.149 + + + + Tabelle.150 + + + + Tabelle.151 + + + + Tabelle.152 + + + + Tabelle.153 + + + + Tabelle.154 + + Tabelle.155 + + + + Tabelle.156 + + + + Tabelle.157 + + + + Tabelle.158 + + + + Tabelle.159 + + + + Tabelle.160 + + + + Tabelle.161 + + + + + Tabelle.162 + + + + Tabelle.163 + + + + Tabelle.164 + + Tabelle.165 + + + + Tabelle.166 + + + + Tabelle.167 + + + + Tabelle.168 + + + + Tabelle.169 + + + + Tabelle.170 + + + + Tabelle.171 + + + + Tabelle.172 + + + + Tabelle.173 + + + + + Tabelle.174 + + + + Tabelle.175 + + + + Tabelle.176 + + + + Tabelle.177 + + + + Tabelle.178 + + + + Tabelle.179 + + + + Tabelle.180 + + + + Tabelle.181 + + + + Tabelle.182 + + + + Tabelle.183 + + + + Tabelle.184 + + + + Tabelle.185 + + + + Tabelle.186 + + + + Tabelle.187 + + + + Tabelle.188 + + + + + + Tier 2 + + + + + + Hauptsitz.189 + Tier 3 + + Tabelle.190 + + + + Tabelle.191 + + + + Tabelle.192 + + + + Tabelle.193 + + + + Tabelle.194 + + + + Tabelle.195 + + + + Tabelle.196 + + + + Tabelle.197 + + + + Tabelle.198 + + + + Tabelle.199 + + + + Tabelle.200 + + + + Tabelle.201 + + Tabelle.202 + + + + Tabelle.203 + + + + Tabelle.204 + + + + Tabelle.205 + + + + Tabelle.206 + + + + Tabelle.207 + + + + Tabelle.208 + + + + + Tabelle.209 + + + + Tabelle.210 + + + + Tabelle.211 + + Tabelle.212 + + + + Tabelle.213 + + + + Tabelle.214 + + + + Tabelle.215 + + + + Tabelle.216 + + + + Tabelle.217 + + + + Tabelle.218 + + + + Tabelle.219 + + + + Tabelle.220 + + + + + Tabelle.221 + + + + Tabelle.222 + + + + Tabelle.223 + + + + Tabelle.224 + + + + Tabelle.225 + + + + Tabelle.226 + + + + Tabelle.227 + + + + Tabelle.228 + + + + Tabelle.229 + + + + Tabelle.230 + + + + Tabelle.231 + + + + Tabelle.232 + + + + Tabelle.233 + + + + Tabelle.234 + + + + Tabelle.235 + + + + + + Tier 3 + + + Dynamischer Verbinder + Demand + + + + + Demand + + Dynamischer Verbinder.237 + Capacity + + + + + Capacity + + Dynamischer Verbinder.238 + Demand + + + + + Demand + + Dynamischer Verbinder.239 + Capacity + + + + + Capacity + + Dynamischer Verbinder.240 + Demand + + + + + Demand + + Dynamischer Verbinder.241 + Capacity + + + + + Capacity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall + + Tabelle.249 + + + Tabelle.250 + + + + Tabelle.251 + + + + Tabelle.252 + + + + + + + + + + + + + + + + + Tabelle.253 + + + + + + + + + + + + + + + Tabelle.254 + + + + + + + + + Tabelle.255 + + + + Tabelle.256 + + + Tabelle.257 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.258 + Relationship A + + + + + + + + + + + + + + + + + + + + + + + Relationship A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.270 + + Tabelle.271 + + + Tabelle.272 + + + + Tabelle.273 + + + + Tabelle.274 + + + + + + + + + + + + + + + + + Tabelle.275 + + + + + + + + + + + + + + + Tabelle.276 + + + + + + + + + Tabelle.277 + + + + Tabelle.278 + + + Tabelle.279 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.280 + Relationship B + + + + + + + + + + + + + + + + + + + + + + + Relationship B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.281 + + Tabelle.282 + + + Tabelle.283 + + + + Tabelle.284 + + + + Tabelle.285 + + + + + + + + + + + + + + + + + Tabelle.286 + + + + + + + + + + + + + + + Tabelle.287 + + + + + + + + + Tabelle.288 + + + + Tabelle.289 + + + Tabelle.290 + - + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.291 + Relationship C + + + + + + + + + + + + + + + + + + + + + + + Relationship C + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.296 + + Tabelle.297 + + + Tabelle.298 + + + + Tabelle.299 + + + + Tabelle.300 + + + + + + + + + + + + + + + + + + + + + Tabelle.301 + + + + + + + + + + + + + + + + + + + Tabelle.302 + + + + + + + + + Tabelle.303 + + + + Tabelle.304 + + + Tabelle.305 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.306 + Demand A1 .. An Capacity A1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand A1 .. AnCapacity A1.. An + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.308 + + Tabelle.309 + + + Tabelle.310 + + + + Tabelle.311 + + + + Tabelle.312 + + + + + + + + + + + + + + + + + + + + + Tabelle.313 + + + + + + + + + + + + + + + + + + + Tabelle.314 + + + + + + + + + Tabelle.315 + + + + Tabelle.316 + + + Tabelle.317 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.318 + Demand B1 .. An Capacity B1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand B1 .. AnCapacity B1.. An + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Geschweifte Klammern-Intervall.319 + + Tabelle.320 + + + Tabelle.321 + + + + Tabelle.322 + + + + Tabelle.323 + + + + + + + + + + + + + + + + + + + + + Tabelle.324 + + + + + + + + + + + + + + + + + + + Tabelle.325 + + + + + + + + + Tabelle.326 + + + + Tabelle.327 + + + Tabelle.328 + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Tabelle.329 + Demand C1 .. An Capacity C1.. An + + + + + + + + + + + + + + + + + + + + + + + + + Demand C1 .. AnCapacity C1.. An + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-architecture.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg new file mode 100644 index 00000000000..57d5c86e8e7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg @@ -0,0 +1,3 @@ + + +
                WeekBasedCapacityGroup
                Supplier
                Customer
                CapacityGroupID
                changedAt
                Calendar Week
                Inactive flag
                UnitOfMeasure
                CapacityGroupName
                ActualCapacity
                MaximumCapacity
                AgreedCapacity
                quantity
                quantity
                quantity
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg new file mode 100644 index 00000000000..0641dc51fe2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg @@ -0,0 +1,3 @@ + + +
                Capacity data (MUST)
                Capacity data (optional)
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_CGstructure_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg new file mode 100644 index 00000000000..5519a56000b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg @@ -0,0 +1,3 @@ + + +
                WeekBasedCapacityGroup
                Supplier
                Customer
                CapacityGroupID
                changedAt
                Calendar Week
                DemandSeries
                Inactive flag
                UnitOfMeasure
                CapacityGroupName
                ActualCapacity
                MaximumCapacity
                AgreedCapacity
                MaterialNumberCustomer
                DemandCategory
                CustomerLocation
                quantity
                quantity
                quantity
                PointInTime
                quantity
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg new file mode 100644 index 00000000000..881818edf30 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg @@ -0,0 +1,3 @@ + + +
                Demand data (MUST)
                Demand data (optional)
                Capacity data (MUST)
                Capacity data (optional)
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_DirectLinking_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg new file mode 100644 index 00000000000..4212548db47 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Capacity DataActual CapacityMaximum CapacityAgreed Capacity \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleCapacity.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg new file mode 100644 index 00000000000..d4899a05c34 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Demand DataDemand \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleDemand.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg new file mode 100644 index 00000000000..adbe420ccd0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg @@ -0,0 +1 @@ +0100020003000400050006000Week 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Example: Demand and Capacity Data Matching and Comparison within Capacity GroupDemand over actual capacityDemand within actual capacityDemand over actual but within maximum capacityActual capacityMaximum capacityAgreed capacity \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_ExampleMatchCompare.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg new file mode 100644 index 00000000000..bd8f29a776b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg @@ -0,0 +1,3 @@ + + +
                WeekBasedMaterialDemand
                Supplier
                Customer
                changedAt
                DemandSeries
                MaterialDescriptionCustomer
                MaterialNumberCustomer
                MaterialDemandID
                MaterialNumberCustomer
                DemandCategory
                CustomerLocation
                InactiveFlag
                UnitOfMeasure
                PointInTime
                DemandQuantity
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg new file mode 100644 index 00000000000..3f31748deb2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg @@ -0,0 +1,3 @@ + + +
                Demand data (MUST)
                Demand data (optional)
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_MDstructure_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg new file mode 100644 index 00000000000..d151096f50f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg @@ -0,0 +1,3 @@ + + +CustomerSupplier
                Exchange demand
                Exchange demand
                Customer
                Manage demand
                Manage demand
                Customer
                Provide demand data
                Provide demand data
                Supplier
                Consume demand data
                Consume demand data
                Exchange capacities
                Exchange capacities
                Supplier
                Manage capacity
                Manage capacity
                Supplier
                Link demand and capacity
                Link demand and capacity
                Supplier
                Provide capacity data
                Provide capacity data
                Customer
                Consume capacity data
                Consume capacity data
                Match and Compare
                Match and Compare
                CustomerSupplier
                Match and compare demand and capacity
                Match and compare demand and capacity
                CustomerSupplier
                Identifiy problems
                Identifiy problems
                Collaborate
                Collaborate
                CustomerSupplier
                Propose sulutions
                Propose sulutions
                CustomerSupplier
                Evaluate solutions
                Evaluate solutions
                CustomerSupplier
                Simulate solutions
                Simulate solutions
                CustomerSupplier
                Decide on Measures
                Decide on Measures
                CustomerSupplier
                Solve problems
                Solve problems
                Basic DCM User Journey
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_UserJourney.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg new file mode 100644 index 00000000000..078861867fc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg @@ -0,0 +1,3 @@ + + +
                One-Up (Customer)
                One-Down(Supplier)
                Manage
                Manage
                Demand
                Capacity
                Match & Comparison
                Collaboration
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_capacity.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg new file mode 100644 index 00000000000..df50320bc53 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg @@ -0,0 +1,3 @@ + + +
                One-Up (Customer)
                One-Down(Supplier)
                Manage
                Manage
                Demand
                Capacity
                Match & Comparison
                Collaboration
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_collab.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg new file mode 100644 index 00000000000..12227df12b6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg @@ -0,0 +1,3 @@ + + +
                One-Up (Customer)
                One-Down(Supplier)
                Manage
                Manage
                Demand
                Capacity
                Match & Comparison
                Collaboration
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_demand.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg new file mode 100644 index 00000000000..ffc951efc3d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg @@ -0,0 +1,3 @@ + + +
                One-Up (Customer)
                One-Down(Supplier)
                Manage
                Manage
                Demand
                Capacity
                Match & Comparison
                Collaboration
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_guide_match.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg new file mode 100644 index 00000000000..4bf629b12fe --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg @@ -0,0 +1,3 @@ + + +
                CapacityGroup 1
                CapacityGroup 2
                CapacityGroup 3
                CapacityGroup 4
                CapacityGroup 5
                CapacityGroup 6
                CapacityGroup 7
                \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/business-process_nTierLinking_Legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg new file mode 100644 index 00000000000..14620ec2fef --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg @@ -0,0 +1,3 @@ + + +Example: Demand and Capacity Data Matching and Comparison within Capacity GroupWeek1Week2Week3Week4Week5Week6Week7Week8600055005000450040003500300025002000150010005000. \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/resources/compare-md-cg.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md new file mode 100644 index 00000000000..ef464adf689 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/adoption-view/use-case/rfu.md @@ -0,0 +1,61 @@ +--- +id: rfu +title: Request for Update +description: Request updates from your partner +sidebar_position: 5 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Business Roles and Functions + +Request for update uses its own aspect model and API. Request for update is provided and consumed by both customer and supplier. + +|Function / Role|Customer|Supplier| +|-|-|-| +|Identify demand or capacity data that is not recent|X|X| +|Inform business partner about data that needs updating|X|X| +|Provide business partner with fresh data|X|X| +|Show users how fresh the data is |X|X| + +## Sequence Diagram + +```mermaid +sequenceDiagram +Participant c as Customer / Supplier +Participant s as Supplier / Customer +c->>c: One of my users is viewing some data +c->>c: This data from my partner is 6 months old and I received the last update 2 months ago. +rect rgb(4,107,153) +c->>s: I have data known by ID e03ac75f with timestamp 2023.12.12 do you have a more recent version? + +end +c->>c: Inform user that I am synchronizing the data +alt Data not in sync +s->>c: Here is a more recent version of data e03ac75f +else Data still in sync +s->>c: You already have the most recent version of data e03ac75f + +end +c->>c: Show user how old the data is and when it was last synchronized. +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md new file mode 100644 index 00000000000..7e59e9bb697 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/dependencies.md @@ -0,0 +1,89 @@ +--- +id: dependencies +title: Dependencies +description: Dependencies +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Standard Dependencies + +Designing an implementing an application that conforms to CX-0128 - DEMAND AND CAPACITY MANAGEMENT DATA EXCHANGE V.2.0.0, means not only conforming to CX-0128 but also to all standards that CX-0128 depends upon. + +### Dependency Graph + +In order to keep things orderly some restrictions to this graph apply: + +- The first first mention of a standard is marked by using the standards name in addition to its ID (e.g. CX-0011 ISSUING AGENCY). +- Further mentions are denoted by using only the standards ID (e.g. CX-0011). +- To avoid visual loops, only the first mention of a standard is resolved further for standard dependencies. +- Catena-X standards can be identified by their ID (e.g. CX-0011). +- Non Catena-X standards are never resolved further. + +![Dependency Graph](./resources/dependencies_dependency-graph.svg) + + + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/overview.md new file mode 100644 index 00000000000..987aa1d5821 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/overview.md @@ -0,0 +1,200 @@ +--- +id: overview +title: Architecture View +description: The view from above +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Why​ + +This page is relevant for you, if one of the following cases applies: + +1. You want to participate in the demand and capacity usecase as either a customer or a supplier and intend to adapt your existing custom application landscape to Catena-X DCM. +2. You want to offer business solutions to the aforementioned customers and suppliers by adapting your commercial software product for Catena-X DCM. + +If none of this applies to you or you are unsure, please refer to [Operation View](../operation-view.md) first. + +> Note: If you purchase commercial software from a software vendor, the vendor needs to adopt their software for you. Please refer your vendor to this page. + +## Prerequisites + +In order to participate in the Catena-X network an Eclipse Dataspace Connector (EDC), or a similar connector fulfilling the Dataspace Protocol, is required, as the endpoints must not be called directly but only through a Data Asset/Contract Offer. + +In addition use case participants need to be boarded onto the Catena-X network. + +Participants intending to act as a customer require at least one BPNL for their company as well as one BPNS for every site they intend to integrate into the Catena-X network. + +Participants intending to act as a supplier require at least one BPNL for their company. + +## How + +If you want to adapt your custom or commercial applications to work with the Catena-X DCM usecase you will have to + +1. Modify the source code of your application +2. Enable your software to offer multiple REST API endpoints in order to receive data +3. Enable your software to call multiple REST API endpoints in order to send data +4. Enable your software to communicate through an Eclipse Dataspace Connector (EDC), or a similar solution, which is to be setup separately + +For details, please refer to the Catena-X DCM standard [CX-0128][StandardLibrary]. This page provides a non-normative overview only. + +## Solution Overview + +For the exchange of the demand and capacity information required by the process, five REST APIs are used: + +- WeekBasedMaterialDemand API - used for the exchange of demand information +- WeekBasedCapacityGroup API - used for the exchange of capacity information +- RequestForUpdate API - used for requesting an update of WeekBasedMaterialDemand or WeekBasedCapacityGroup +- IdBasedComment API - used for the exchange of additional comments regarding WeekBasedMaterialDemand or WeekBasedCapacityGroup +- Asset Administration Shell (AAS) API - used when using DCM in combination with a Digital Twin Registry + +All those APIs are REST-based APIs. + +Implementing all endpoints is mandatory, except the AAS API endpoint, which is optional. + +Note that the software solutions used as well as the business process should be enabled in order to receive WeekBasedMaterialDemand information from customers and send WeekBasedCapacityGroup information back to those customers. Also, it needs to be possible to send the own WeekBasedMaterialDemand information to the suppliers and receive their WeekBasedCapacityGroup information in return. Therefore, the software tools used need to be able to send/receive these information and the users need to be able to work with the information in the planning processes. + +When implementing the API endpoints, it is important to follow the DCM standard closely in order to ensure compatibility with other solutions. This is not limited to technical aspects, but also extends to the business definition of demand and capacity. + +### Architecture Constraints + +| Constraint ID | Constraint | +| ------------- | ------------- | +| C-1 | Software and third party software must be compliant to the Catena-X and Eclipse Foundation Guidelines/Policies [eclipse_foundation](https://www.eclipse.org/projects/dev_process/) | +| C-2 | [Eclipse Dataspace Connector](https://github.com/eclipse-tractusx/tractusx-edc/tree/main) (EDC), or a similar solution, must be used for data transfer between different legal entities; e.g. the API endpoints listed above may only be called through a Data Asset/Contract Offer | + +## Sequence Diagram + +The overall interaction between partners is illustrated by the following sequence diagram: + +```mermaid +sequenceDiagram + box rgb(97,97,97) Customer + actor Customer + participant CustomerApp as Customer App + participant CustomerConnector as Customer connector + end + box rgb(97,97,97) Core Services + participant CoreBpnlDiscovery as Core BPNL Discovery + participant CoreEdcDiscovery as Core EDC discovery + end + box rgb(97,97,97) Supplier + participant SupplierConnector as Supplier connector + participant SupplierApp as Supplier App + actor Supplier + end + rect rgb(221,130,0) + note right of Customer: Customer creates MaterialDemand locally + Customer ->> CustomerApp: Create MaterialDemand + activate CustomerApp + CustomerApp -->> Customer: MaterialDemand created + deactivate CustomerApp + Customer ->> CustomerApp: Finalize MaterialDemand + end + rect rgb(4,107,153) + note right of CustomerApp: Customer App finds endpoint of Supplier + activate CustomerApp + CustomerApp ->> CoreBpnlDiscovery: Resolve Supplier Base Data into BPNL + activate CoreBpnlDiscovery + CoreBpnlDiscovery -->> CustomerApp: Supplier BPNL + deactivate CoreBpnlDiscovery + CustomerApp ->> CoreEdcDiscovery: Resolve Supplier BPNL into connector URL catalogue + activate CoreEdcDiscovery + CoreEdcDiscovery -->> CustomerApp: Connector URL catalogue + deactivate CoreEdcDiscovery + CustomerApp ->> CustomerApp: Find correct connector via URL catalogue inspection + activate CustomerConnector + CustomerConnector ->> SupplierConnector: Resolve connector Endpoint and connector service catalogue into MaterialDemand API URL + activate SupplierConnector + SupplierConnector ->> CustomerConnector: Framework & Contract Negotiation + CustomerConnector -->> SupplierConnector: Framework & Contract Negotiation + SupplierConnector -->> CustomerConnector: MaterialDemand API URL + end + rect rgb(221,130,0) + note right of Customer: Exchange Material Demand + CustomerApp ->> CustomerConnector: Transmit MaterialDemand + CustomerConnector ->> SupplierConnector: Transmit MaterialDemand + SupplierConnector ->> SupplierApp: Transmit MaterialDemand + activate SupplierApp + SupplierApp ->> Supplier: Transmit MaterialDemand + Supplier -->> SupplierApp: MaterialDemand received + SupplierApp -->> SupplierConnector: MaterialDemand received + deactivate SupplierApp + SupplierConnector -->> CustomerConnector: MaterialDemand received + deactivate SupplierConnector + CustomerConnector -->> CustomerApp: MaterialDemand received + deactivate CustomerConnector + CustomerApp -->> Customer: MaterialDemand finalized & synchronized + deactivate CustomerApp + end + rect rgb(128,149,0) + note left of Supplier: Supplier creates CapacityGroup locally + Supplier ->> SupplierApp: Create CapacityGroup + activate SupplierApp + SupplierApp -->> Supplier: CapacityGroup created + deactivate SupplierApp + Supplier ->> SupplierApp: Link Demands to CapacityGroup + activate SupplierApp + SupplierApp -->> Supplier: Demands Linked + deactivate SupplierApp + Supplier ->> SupplierApp: Finalize CapacityGroup + end + rect rgb(4,107,153) + note left of SupplierApp: Supplier App finds endpoint of Customer + activate SupplierApp + SupplierApp ->> CoreBpnlDiscovery: Resolve Customer Base Data into BPNL + activate CoreBpnlDiscovery + CoreBpnlDiscovery -->> SupplierApp: Customer BPNL + deactivate CoreBpnlDiscovery + SupplierApp ->> CoreEdcDiscovery: Resolve Customer BPNL into connector URL catalogue + activate CoreEdcDiscovery + CoreEdcDiscovery -->> SupplierApp: connector URL catalogue + deactivate CoreEdcDiscovery + SupplierApp ->> SupplierApp: Find correct connector via URL catalogue inspection + SupplierApp ->> SupplierConnector: Transmit CapacityGroup + activate SupplierConnector + SupplierConnector ->> CustomerConnector: Resolve connector Endpoint and connector service catalogue into CapacityGroup API URL + activate CustomerConnector + CustomerConnector ->> SupplierConnector: Framework & Contract Negotiation + SupplierConnector -->> CustomerConnector: Framework & Contract Negotiation + CustomerConnector -->> SupplierConnector: CapacityGroup API Endpoint + end + rect rgb(128,149,0) + note left of Supplier: Exchange Capacity Group + SupplierConnector ->> CustomerConnector: Transmit CapacityGroup + CustomerConnector ->> CustomerApp: Transmit CapacityGroup + activate CustomerApp + CustomerApp ->> Customer: Transmit CapacityGroup + Customer -->> CustomerApp: CapacityGroup received + CustomerApp -->> CustomerConnector: CapacityGroup received + deactivate CustomerApp + CustomerConnector -->> SupplierConnector: CapacityGroup received + deactivate CustomerConnector + SupplierConnector -->> SupplierApp: CapacityGroup received + deactivate SupplierConnector + SupplierApp -->> Supplier: CapacityGroup finalized & synchronized + deactivate SupplierApp + end +``` + +Note that the supplier does not need to immediately reply with capacity group after receiving demand information, although a timely reply is appreciated, there can be a considerable time in between instead. + +Digital Twins can also be used to reference parts, but are not shown in the sequence diagram for simplicity. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg new file mode 100644 index 00000000000..6e2636d6b2c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg @@ -0,0 +1,3 @@ + + +CX-0128 - DEMAND ANDCAPACITY MANAGEMENTDATA EXCHANGE V.2.0.0CX-0001 EDC Discovery APICX-0006 Registration andinitial onboardingCX-0009 CATENA-XREGISTRATION APICX-0010CX-0011 ISSUING AGENCYCX-0010ISO/IEC 15459CX-0013 IDENTITY OFMEMBER COMPANIESCX-0049 DID DocumentSchemaCX-0149CX-0010CX-0002 Digital Twins inCatena-XCX-0003CX-0018CX-0001CX-0053 BPN DiscoveryService APIsCX-0010CX-0044 ECLASSECLASS HomepageCX-0003 SAMM Aspect MetaModelSAMM Semantic AspectMeta ModelCX-0002Catena-X Operating ModelWhitepaperCX-0010 Business PartnerNumberCX-0018 DataspaceConnectivityIDSA Dataspace ProtocolIdentity And Trust ProtocolCX-0050 FrameworkAgreement CredentialCX-0149 Verfied CompanyIdentityCX-0010CX-0011CX-0015 IAM & AccessControl ParadigmINCITS 565-2020CX-0050Identity TrustCredential PresentationProtocolTractus-X ProfilesCX-0126 Industry Core: PartTypeCX-0001CX-0002CX-0003CX-0018CX-0146 Supply ChainDisruption Notifications \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/architecture-view/resources/dependencies_dependency-graph.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/changelog.md new file mode 100644 index 00000000000..e753299d148 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/changelog.md @@ -0,0 +1,103 @@ +--- +id: changelog +title: Changelog +description: 'What has changed recently?' +toc_min_heading_level: 2 +toc_max_heading_level: 2 +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM KIT Changelog + +All notable changes to this Kit will be documented in this file. + +## [1.1.0] - unreleased + +### Added + +- Added multiple diagrams to [Development View](./development-view/overview.md) +- Added APIs to [Development View](./development-view/overview.md) +- Added Use Case to [Adoption View](./adoption-view/overview.md) +- Added Q&A to [Adoption View](./adoption-view/overview.md) + +### Changed + +- Restructured [Development View](./development-view/overview.md) +- Restructured [Adoption View](./adoption-view/overview.md) +- Recolored sequence diagram in [Architecture View](./architecture-view/overview.md) +- Moved onboarding content from [Operation View](./operation-view.md) to [Adoption View](./adoption-view/overview.md) + +## [1.0.0] - 2024-05-24 + +### Added + +- Added [DCM Operation View](./operation-view.md) + +### Changed + +- Changed banner image file location and converted .png image to .svg +- Updated aspect models in [Architecture View](./architecture-view/overview.md) to new versions +- Updated aspect models and API definitions in [Development View](./development-view/overview.md) to new versions +- Updated WeekBasedMaterialDemand data model and API chapters to new data model (Replaced MaterialDemand with WeekBasedMaterialDemand aspect model) +- Updated choice of words and writing pattern throughout the documentation + +### Removed + +- ./. + +## [0.2.0] - 2024-03-08 + +### Added + +- Added Architecture View +- Added IdBasedRequestForUpdate data model reference to Adoption View +- Added IdBasedComment data model reference to Adoption View +- Added IdBasedRequestForUpdate data model chapter to Development View +- Added IdBasedComment data model chapter to Development View +- Added IdBasedRequestForUpdate API chapter to Development View +- Added IdBasedComment API chapter to Development View + +### Changed + +- Updated DCM standard references in Adoption View (Merged CX-0046, CX-0047 and CX-0048 into CX-0128) +- Updated data model references in Adoption View +- Updated MaterialDemand data model chapter to new data models and versions (Replaced WeekBasedMaterialDemand with MaterialDemand aspect model) +- Updated WeekBasedCapacityGroup data model chapter to new data models and versions +- Updated MaterialDemand API chapter to new API definitions +- Updated WeekBasedCapacityGroup API chapter to new API definitions + +### Removed + +n/a + +## [0.1.0] - 2023-03-01 + +### Added + +- Adoption View +- Development View + +### Changed + +n/a + +### Removed + +n/a + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-aas.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-aas.md new file mode 100644 index 00000000000..061884919b5 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-aas.md @@ -0,0 +1,36 @@ +--- +id: api-aas +title: API - AAS +description: API - AAS +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM Asset Administration Shell API (AAS API) + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md new file mode 100644 index 00000000000..25fe7054043 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-capacity-group.md @@ -0,0 +1,74 @@ +--- +id: api-WeekBasedCapacityGroup +title: API - WeekBasedCapacityGroup +description: API - WeekBasedCapacityGroup +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## WeekBasedCapacityGroup API + +The WeekBasedCapacityGroup API is owned and registered as an EDC asset by the supplier. The customer provides capacity group data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer||X| +|Supplier|X|| + +### Data Exchange + +```mermaid +sequenceDiagram + actor c as Customer + participant ce as Customer EDC + participant se as Supplier EDC + participant a as WeekBasedCapacityGroup API + actor s as Supplier + + rect rgb(217,24,24) + s->>+se: Register API as Asset + se->>-s: API registered + end + rect rgb(128,149,00) + c->>+ce: Provide WeekBasedCapacityGroup + rect rgb(179,203,45) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide WeekBasedCapacityGroup + se->>+a: Provide WeekBasedCapacityGroup + a->>-se: WeekBasedCapacityGroup consumed + se->>-ce: WeekBasedCapacityGroup consumed + ce->>-c: WeekBasedCapacityGroup consumed + + end + +``` + +### Open API documentation + +|API|Link| +|-|-| +|WeekBasedCapacityGroup|[Find here](./plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-comment.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-comment.md new file mode 100644 index 00000000000..79fb1f9405b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-comment.md @@ -0,0 +1,96 @@ +--- +id: api-IdBasedComment +title: API - IdBasedComment +description: API - IdBasedComment +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## IdBasedComment API + +The IdBasedComment API is owned and registered as an EDC asset by both customer and supplier. The corresponding business partner (supplier and customer) provides comment data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +### Data Exchanges + +```mermaid +sequenceDiagram + actor c as Customer + participant ca as Comment API + participant ce as Customer EDC + participant se as Supplier EDC + participant sa as Comment API + actor s as Supplier + + rect rgb(217,24,24) + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(217,24,24) + s->>+se: Register API as Asset + se->>-s: API registered + end + + + + rect rgb(04,107,153) + c->>+ce: Provide IdBasedComment + rect rgb(33,157,212) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide IdBasedComment + se->>+sa: Provide IdBasedComment + sa->>-se: IdBasedComment consumed + se->>-ce: IdBasedComment consumed + ce->>-c: IdBasedComment consumed + + end + + rect rgb(04,107,153) + s->>+se: Provide IdBasedComment + rect rgb(33,157,212) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide IdBasedComment + ce->>+ca: Provide IdBasedComment + ca->>-ce: IdBasedComment consumed + ce->>-se: IdBasedComment consumed + se->>-s: IdBasedComment consumed + + end + +``` + +### Open API documentation + +|API|Link| +|-|-| +|IdBasedComment|[Find here](./plugin-generated-comment-api/post-id-based-comment.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md new file mode 100644 index 00000000000..2152d986a7d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-material-demand.md @@ -0,0 +1,73 @@ +--- +id: api-WeekBasedMaterialDemand +title: API - WeekBasedMaterialDemand +description: API - WeekBasedMaterialDemand +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## WeekBasedMaterialDemand API + +The WeekBasedMaterialDemand API is owned and registered as an EDC asset by the customer. The supplier provides material demand data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|| +|Supplier||X| + +### Data Exchange + +```mermaid +sequenceDiagram + actor c as Customer + participant a as WeekBasedMaterialDemand API + participant ce as Customer EDC + participant se as Supplier EDC + actor s as Supplier + + rect rgb(217,24,24) + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(221,130,0) + s->>+se: Provide WeekBasedMaterialDemand + rect rgb(255,166,0) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide WeekBasedMaterialDemand + ce->>+a: Provide WeekBasedMaterialDemand + a->>-ce: WeekBasedMaterialDemand consumed + ce->>-se: WeekBasedMaterialDemand consumed + se->>-s: WeekBasedMaterialDemand consumed + + end +``` + +### Open API documentation + +|API|Link| +|-|-| +|WeekBasedMaterialDemand|[Find here](./plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-rfu.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-rfu.md new file mode 100644 index 00000000000..a984c5ee2a1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/api-rfu.md @@ -0,0 +1,96 @@ +--- +id: api-IdBasedRequestForUpdate +title: API - IdBasedRequestForUpdate +description: API - IdBasedRequestForUpdate +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## IdBasedRequestForUpdate API + +The RequestForUpdate API is owned and registered as an EDC asset by both customer and supplier. The corresponding business partner (supplier and customer) provides request for update data to the API via POST request. + +### Roles and Functions + +|Role / Function|API Owner|POST to API| +|-|-|-| +|Customer|X|X| +|Supplier|X|X| + +### Data Exchange + +```mermaid +sequenceDiagram + actor c as Customer + participant ca as Request for Update API + participant ce as Customer EDC + participant se as Supplier EDC + participant sa as Request for Update API + actor s as Supplier + + rect rgb(217,24,24) + c->>+ce: Register API as Asset + ce->>-c: API registered + end + rect rgb(217,24,24) + s->>+se: Register API as Asset + se->>-s: API registered + end + + + + rect rgb(04,107,153) + c->>+ce: Provide IdBasedRequestForUpdate + rect rgb(33,157,212) + ce->>+se: Initiate Handshake + se->>ce: Complete Handshake + end + ce->>se: Provide IdBasedRequestForUpdate + se->>+sa: Provide IdBasedRequestForUpdate + sa->>-se: IdBasedRequestForUpdate consumed + se->>-ce: IdBasedRequestForUpdate consumed + ce->>-c: IdBasedRequestForUpdate consumed + + end + + rect rgb(04,107,153) + s->>+se: Provide IdBasedRequestForUpdate + rect rgb(33,157,212) + se->>+ce: Initiate Handshake + ce->>se: Complete Handshake + end + se->>ce: Provide IdBasedRequestForUpdate + ce->>+ca: Provide IdBasedRequestForUpdate + ca->>-ce: IdBasedRequestForUpdate consumed + ce->>-se: IdBasedRequestForUpdate consumed + se->>-s: IdBasedRequestForUpdate consumed + + end + +``` + +### Open API documentation + +|API|Link| +|-|-| +|IdBasedRequestforUpdate|[Find here](./plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx)| + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md new file mode 100644 index 00000000000..77e9665420b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-capacity-group.md @@ -0,0 +1,129 @@ +--- +id: model-WeekBasedCapacityGroup +title: Aspect Model - WeekBasedCapacityGroup +description: Aspect Model - WeekBasedCapacityGroup +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "WeekBasedCapacityGroup" + +Suppliers provide customers capacity data as `WeekBasedCapacityGroup` aspect models. Suppliers also link demand data to `WeekBasedCapacityGroup` aspect models. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|||X| +|Supplier|X|X|X| + +### Structure of a WeekBasedCapacityGroup + +![WeekBasedCapacityGroup Structure](./resources/model-capacity-group_structure.svg) +![WeekBasedCapacityGroup Structure Legend](./resources/model-capacity-group_legend.svg) + + + +### Example data + +```json +{ + "unitOfMeasure" : "unit:piece", + "linkedDemandSeries" : [ { + "loadFactor" : 3.5, + "materialNumberCustomer" : "MNR-7307-AU340474.002", + "materialNumberSupplier" : "MNR-8101-ID146955.001", + "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", + "demandCategory" : { + "demandCategoryCode" : "0001" + } + } ], + "linkedCapacityGroups" : [ "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" ], + "unitOfMeasureIsOmitted" : false, + "capacityGroupIsInactive" : true, + "demandVolatilityParameters" : { + "rollingHorizonAlertThresholds" : [ { + "sequenceNumber" : 1, + "absoluteNegativeDeviation" : 100.0, + "subhorizonLength" : 4, + "relativeNegativeDeviation" : 0.3, + "absolutePositiveDeviation" : 100.0, + "relativePositiveDeviation" : 0.2 + } ], + "measurementInterval" : 4, + "startReferenceDateTime" : "2024-01-10T12:00:00.320Z" + }, + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "name" : "Spark Plugs on drilling machine for car model XYZ", + "supplierLocations" : [ "{{CATENAX-SUPPLIER-BPNS}}" ], + "capacities" : [ { + "pointInTime" : "2022-08-01", + "agreedCapacity" : 1800, + "actualCapacity" : 1000, + "maximumCapacity" : 2000, + "deltaProductionResult" : 400 + } ], + "changedAt" : "2023-03-10T12:27:11.320Z", + "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_capacity_group/3.0.0/WeekBasedCapacityGroup.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-comment.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-comment.md new file mode 100644 index 00000000000..56d496ea1e6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-comment.md @@ -0,0 +1,92 @@ +--- +id: model-IdBasedComment +title: Aspect Model - IdBasedComment +description: Aspect Model - IdBasedComment +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "IdBasedComment" + +Customer and suppliers provide each other `IdBasedComment` aspect models in order to exchange additional information on `WeekBasedCapacityGroup` and `WeekBasedMaterialDemand`. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X|X|X| +|Supplier|X|X|X| + +### Structure of a IdBasedComment + +![IdBasedComment Structure](./resources/model-comment_structure.svg) +![IdBasedComment Structure Legend](./resources/model-comment_legend.svg) + + + +### Example data + +```json +{ + "postedAt" : "2023-03-10T12:27:11.320Z", + "listOfReferenceDates" : [ "2023-11-05" ], + "author" : "someone@company.com", + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "commentType" : "information", + "commentId" : "f5c151e4-30b5-4456-94fd-2a7b559b6121", + "changedAt" : "2023-03-10T12:27:11.320Z", + "commentText" : "Hello, this is a comment!", + "requestDelete" : true, + "objectId" : "dfeb1334-497e-4dab-97c1-4e6f4e1c0320", + "objectType" : "urn:samm:io.catenax.week_based_capacity_group", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_comment/1.0.0/IdBasedComment.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md new file mode 100644 index 00000000000..aa1b0a637ce --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-material-demand.md @@ -0,0 +1,115 @@ +--- +id: model-WeekBasedMaterialDemand +title: Aspect Model - WeekBasedMaterialDemand +description: Aspect Model - WeekBasedMaterialDemand +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "WeekBasedMaterialDemand" + +Customer provide suppliers demand data as `WeekBasedMaterialDemand` aspect models. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X|X|X| +|Supplier|||X| + +### Structure of a WeekBasedMaterialDemand + +![WeekBasedMaterialDemand Structure](./resources/model-material-demand_structure.svg) +![WeekBasedMaterialDemand Structure Legend](./resources/model-material-demand_legend.svg) + + +### Example data + +```json +{ + "unitOfMeasureIsOmitted" : false, + "unitOfMeasure" : "unit:piece", + "materialDescriptionCustomer" : "Spark Plug", + "materialGlobalAssetId" : "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "materialNumberSupplier" : "MNR-8101-ID146955.001", + "supplier" : "{{CATENAX-SUPPLIER-BPNL}}", + "changedAt" : "2023-11-05T08:15:30.123-05:00", + "demandSeries" : [ { + "expectedSupplierLocation" : "{{CATENAX-SUPPLIER-BPNS}}", + "demands" : [ { + "demand" : 1000, + "pointInTime" : "2023-10-09" + } ], + "customerLocation" : "{{CATENAX-CUSTOMER-BPNS}}", + "demandCategory" : { + "demandCategoryCode" : "0001" + } + } ], + "materialDemandIsInactive" : true, + "materialNumberCustomer" : "MNR-7307-AU340474.002", + "customer" : "{{CATENAX-CUSTOMER-BPNL}}" +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.week_based_material_demand/3.0.0/WeekBasedMaterialDemand.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-rfu.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-rfu.md new file mode 100644 index 00000000000..4f57192c000 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/model-rfu.md @@ -0,0 +1,103 @@ +--- +id: model-IdBasedRequestForUpdate +title: Aspect Model - IdBasedRequestForUpdate +description: Aspect Model - IdBasedRequestForUpdate +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## Aspect Model "IdBasedRequestForUpdate" + +Customer and suppliers provide each other `IdBasedRequestForUpdate` aspect models to facilitate and ensure data synchronicity. They only contain transitive information, meaning it is not required to store them, after a `IdBasedRequestForUpdate` has been correctly reacted to. + +### Roles and Rights + +|Role / Right|Create|Change|Read| +|-|-|-|-| +|Customer|X||X| +|Supplier|X||X| + +### Structure of a IdBasedRequestForUpdate + +![IdBasedRequestForUpdate Structure](./resources/model-rfu_structure.svg) +![IdBasedRequestForUpdate Structure Legend](./resources/model-rfu_legend.svg) + + + +### Example data + +```json +{ + "weekBasedMaterialDemand" : [ { + "materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456", + "changedAt" : "2023-03-10T12:27:11.320Z" + } ], + "weekBasedCapacityGroup" : [ { + "capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110", + "changedAt" : "2023-03-10T12:27:11.320Z" + } ] +} +``` + +All file formats and serializations are derived from a RDF turtle file. It is the source for the Semantic Aspect Meta Model. You can access the RDF turtle file at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.id_based_request_for_update/3.0.0/IdBasedRequestForUpdate.ttl +``` + +For further details, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/overview.md new file mode 100644 index 00000000000..06cc2a3df2e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/overview.md @@ -0,0 +1,147 @@ +--- +id: overview +title: Development View +description: 'What do I have to implement?' +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +This page describes the most important parts for the software implementation of the DCM standards. For the full +technical specification, please refer to the +standard [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary]. + +## Introduction + +This document provides developers with resources to accelerate the development of apps and services. + +## Capabilities of a DCM application + +[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] describes the following capabilities: + +|Capability|Category|Related Aspect Models|Related APIs| +|-|-|-|-| +|Providing and consuming demand data|Core|WeekBasedMaterialDemand|WeekBasedMaterialDemand API| +|Providing and consuming capacity data|Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Comparing demand and capacity data|Core|WeekBasedMaterialDemand
                WeekBasedCapacityGroup|N/A| +|Demand volatility metrics|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Simulated delta production|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Load factors|Outer Core|WeekBasedCapacityGroup|WeekBasedCapacityGroup API| +|Digital twins|Extended|WeekBasedMaterialDemand
                WeekBasedCapacity Group|DCM Asset Administration Shell API| +|Request for update|Extended|IdBasedRequestForUpdate|IdBasedRequestForUpdate AP| +|Comments|Extended|IdBasedComment|IdBasedComment API| +|Supply chain disruption notifications|Extended|demandAndCapacityNotification|DemandAndCapacityNotification API| + +- Core capabilities are mandatory within the standard. +- Outer core capabilities share APIs and aspect models with core capabilities, but are optional. +- Extended capabilities introduce aspect models or APIs beyond the core and are optional. + +A MVP approach can be followed when developing software, implementing CX-0128, by taking care of core capabilities first, followed by outer core and finishing with extended capabilities. + +## Roles and rights of a DCM application + +[CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] describes the business roles customer and supplier. In addition an admin role might be a sensible addition to any application. Most companies within a supply chain will have need of both business roles. Individual users within a company might need access to both business roles. + +|Role|Capabilities| +|-|-| +|Customer| - Modify WeekBasedMaterialDemand
                - Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup
                - Utilize comments
                - Utilize supply chain disruption notification| +|Supplier| - Modify WeekBasedCapacityGroup
                - Compare WeekBasedMaterialDemand to WeekBasedCapacityGroup
                - Link WeekBasedMaterialDemand to WeekBasedCapacityGroup
                - Utilize comments
                - Utilize supply chain disruption notification| +|Admin| - Configure Request for update| + +## Aspect models utilized by a DCM application + +- [WeekBasedMaterialDemand](./model-material-demand.md) +- [WeekBasedCapacityGroup](./model-capacity-group.md) +- [IdBasedRequestForUpdate](./model-rfu.md) +- [IdBasedComment](./model-comment.md) + +## Application Programming Interfaces + +### APIs as data assets + +The data consumer registers one data-asset per API with his own EDC. Those data-assets need a `dataAddress` with a `baseURL` pointing to the URI of the API endpoint. The same `dataAddress` needs to be setup to use the consumers EDC as a proxy, utilizing the different proxy related properties within the `dataAddress` object. + +#### Asset example + +```json +{ + "@id": "capacitygroup-prod", + "@type": "Asset", + "properties": { + "http://purl.org/dc/terms/type": { + "@id": "https://w3id.org/catenax/taxonomy#DcmWeekBasedCapacityGroup" + }, + "https://w3id.org/catenax/ontology/common#version": "2.0", + "id": "capacitygroup-prod" + }, + "dataAddress": { + "@type": "DataAddress", + "proxyPath": "false", + "oauth2:clientId": {{clientID}}, + "oauth2:tokenUrl": {{tokenUrl}}, + "type": "HttpData", + "proxyMethod": "true", + "oauth2:clientSecretKey": "dcm-api-client-secret", + "oauth2:scope": "roles", + "proxyQueryParams": "true", + "proxyBody": "true", + "baseUrl": "https://myDCMapp.mycompany.com/catx/apis/weekbasedcapacitygroup" + }, +``` + +### Data exchange + +The data provider is required to use HTTP POST to call the API in order to transfer the data. The POST request has to contain a messageHeader and can contain multiple information objects, with information objects being the different aspect models. Because one API is dedicated to one aspect models mixing different aspect models into the same payload as information objects will result in a malformed payload. + +#### Payload structure + +```json +{ + "messageHeader": + , + + "content":{ + "informationObject":[ + , + + ] + } +} +``` + +This format ensures that the header, which contains metadata about the message, is kept separate from the content, which includes the actual data being exchanged. The content section can hold multiple `informationObject` entries. These objects can be one of the following types: `WeekBasedMaterialDemand`, `WeekBasedCapacityGroup`, `IdBasedComment` or `IdBasedRequestForUpdate`. + +The master reference for generating additional file formats and serializations is the RDF turtle file, which is an instance of the Semantic Aspect Meta Model. The RDF turtle file for the `messageHeaderObject` is defined in a centralized shared aspect model and can be accessed at the following URL: + +```text +https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/3.0.0/MessageHeaderAspect.ttl +``` + +Within the RDF turtle file, you will find detailed descriptions for how to use the message header. + +For further information on the APIs and how to use them in order to facilitate data exchange, please refer to [CX-0128 Demand and Capacity Management Data Exchange][StandardLibrary] and [CX-0018 Dataspace Connectivity][StandardLibrary] + +## APIs utilized by a DCM application + +- [WeekBasedMaterialDemand API](./api-material-demand.md) +- [WeekBasedCapacityGroup API](./api-capacity-group.md) +- [RequestForUpdate API](./api-rfu.md) +- [IdBasedComment API](./api-comment.md) +- [DCM Asset Administration Shell API (AAS API)](./api-aas.md) + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx new file mode 100644 index 00000000000..678cb668e4b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-week-based-capacity-group +title: "Catena-X DCM Week Based Capacity Group" +description: "Open API documentation for the Catena-X DCM Week Based Capacity Group" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM Week Based Capacity Group + + + +Open API documentation for the Catena-X DCM Week Based Capacity Group + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx new file mode 100644 index 00000000000..2f24861c876 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group.api.mdx @@ -0,0 +1,99 @@ +--- +id: post-week-based-capacity-group +title: "postWeekBasedCapacityGroup" +description: "Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner." +sidebar_label: "postWeekBasedCapacityGroup" +hide_title: true +hide_table_of_contents: true +api: {"tags":["WeekBasedCapacityGroup"],"operationId":"postWeekBasedCapacityGroup","description":"Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the WeekBasedCapacityGroup with the message header data model in order to be compliant with the DCM standard for the exchange of a capacity groups.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"An entity made up of the weekly actual and maximum capacities for a specific customer in a given time period. A capacity group is used to compare demand and capacity data for one or several similar bundled materials in a defined unit of measure.","type":"object","properties":{"capacityGroupId":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"name":{"description":"Name of the capacity group.","type":"string"},"supplierLocations":{"description":"Set of BPNS indicating the supplier sites that will be fulfilling the demands associated with this capacity group.","type":"array","items":{"type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"uniqueItems":true},"customer":{"description":"The Business Partner Number (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"supplier":{"description":"The Business Partner Number (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"unitOfMeasure":{"description":"Unit of measurement for capacity quantities.","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:piece","unit:set","unit:pair","unit:page","unit:cycle","unit:kilowattHour","unit:gram","unit:kilogram","unit:tonneMetricTon","unit:tonUsOrShortTonUkorus","unit:ounceAvoirdupois","unit:pound","unit:metre","unit:centimetre","unit:kilometre","unit:inch","unit:foot","unit:yard","unit:squareCentimetre","unit:squareMetre","unit:squareInch","unit:squareFoot","unit:squareYard","unit:cubicCentimetre","unit:cubicMetre","unit:cubicInch","unit:cubicFoot","unit:cubicYard","unit:litre","unit:millilitre","unit:hectolitre","unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hourUnitOfTime","unit:day"]},"linkedDemandSeries":{"description":"Set of demand series assigned to this capacity group.","type":"array","items":{"description":"Encapsulates information used to reference a specific demand series.","type":"object","properties":{"materialNumberCustomer":{"description":"Material identifier as assigned by customer. This material number identifies the material (as planned) in the customer's database.","type":"string"},"materialNumberSupplier":{"description":"Material identifier as assigned by supplier. This material number identifies the material (as planned) in the supplier's database. Used as informational field only, not for assigning demand series to capacity groups.","type":"string"},"customerLocation":{"description":"The BPNS number of the site at which the customer needs the specified material for the referenced demand series.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"demandCategory":{"description":"Type of demand of the referenced demand series.","type":"object","oneOf":[{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["0001"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["A1S1"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["SR99"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OS01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["ED01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PO01"]}},"required":["demandCategoryCode"]}]},"loadFactor":{"description":"If existent, the load factor indicates that this material of the material demand collection takes a factor more or less intensity to produce.","type":"number"}},"required":["materialNumberCustomer","customerLocation","demandCategory"]},"uniqueItems":true},"capacities":{"description":"A time series with week-based granularity along a given time period containing the capacity values.","type":"array","items":{"description":"A supplier's realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity.","type":"object","properties":{"pointInTime":{"description":"ISO Calendar Week of the given time series entry. Must be given as date of the monday in the week.","type":"string","format":"date"},"actualCapacity":{"description":"The actual capacity is the realistically planned output per calendar week and material for a specific customer in a specific unit of measure, considering all positive or negative impacts on this capacity.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"maximumCapacity":{"description":"The supplier maximum capacity is the maximal available output per calendar week and material for a specific customer in a specific unit of measure. The maximum capacity thereby restricts the flexible capacity, as the flexible capacity is obtained from the difference of a suppliers maximum capacity minus actual capacity.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"deltaProductionResult":{"description":"Delta related to the aggregated material demand after pre-/post production calculation the supplier wants to send to the customer. Can be positive and negative.","type":"number"},"agreedCapacity":{"description":"The agreed capacity of a supplier for a specific customer material(s) within a capacity group. The agreed capacity MUST NOT constitute a legal obligation to deliver.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false}},"required":["pointInTime","actualCapacity","maximumCapacity"]},"uniqueItems":true},"changedAt":{"description":"Point in time when the content (any property according to the data model) of the capacity group was changed, at the supplier, either by a human user or an automated process.","type":"string","format":"date-time"},"linkedCapacityGroups":{"description":"A set of capacity groups linked to this capacity group. This set contains all children capacity groups of the current capacity group in an unidirectional path.","type":"array","items":{"type":"string","description":"The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by \"urn:uuid:\" to make it an IRI.","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"uniqueItems":true},"unitOfMeasureIsOmitted":{"description":"Explicit indicator of whether the unit of measure is left out of the payload intentionally. If \"true\" it means the sending application sends demand values without unit of measure intentionally and the unit of measure MUST NOT be contained in the payload. If \"false\" a unit of measure MUST be supplied.","type":"boolean"},"demandVolatilityParameters":{"description":"The parameters to calibrate the measuring of demand volatility.","type":"object","properties":{"startReferenceDateTime":{"description":"Point in time when the measurement starts on supplier side. It needs to be a point in time after the receival of active flag.\nThis point in time marks the beginning of the first reporting interval. It is also the time of the first week for the rolling sub horizons for alert generation.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"measurementInterval":{"description":"Indicates the length of intervals in weeks.\nThe first interval starts with the point in time given by the “startReferenceDateTime”. The second interval starts [Value] week (s) after this. And so on.","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"rollingHorizonAlertThresholds":{"description":"Contains the Parameters that define subhorizons in sequence and length to enable different alert thresholds (per week) over time.\nThe total length of the DCM horizon is 104 weeks. It can be split into subhorizons.","type":"array","items":{"description":"Encapsulation of the rolling horizons thresholds parameters.","type":"object","properties":{"sequenceNumber":{"description":"Sequence number of the subhorizon \n(positive int values)","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"subhorizonLength":{"description":"Length of the subhorizon in weeks. (Value must be >= 1) As a subhorizon can not be shorter than one week.","type":"number","maximum":999,"minimum":1,"exclusiveMaximum":false,"exclusiveMinimum":false},"relativePositiveDeviation":{"description":"Relative positive deviation threshold which triggers an alert; 20% = 0,2","type":"number"},"relativeNegativeDeviation":{"description":"Relative negative deviation threshold which triggers an alert; -30% = 0,3","type":"number","maximum":1,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"absolutePositiveDeviation":{"description":"Absolute positive deviation threshold which triggers an alert; 100 (units) = 100","type":"number"},"absoluteNegativeDeviation":{"description":"Absolute negative deviation threshold which triggers an alert; 100 (units) = 100","type":"number"}},"required":["sequenceNumber","subhorizonLength"]},"uniqueItems":true}},"required":["startReferenceDateTime","measurementInterval"]},"capacityGroupIsInactive":{"description":"Indicates that this capacity group is currently not in use/maintained by the supplier.","type":"boolean"}},"required":["capacityGroupId","name","customer","supplier","changedAt","unitOfMeasureIsOmitted","capacityGroupIsInactive"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-week-based-capacity-group-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"capacityGroupId":"string","name":"string","supplierLocations":["string"],"customer":"string","supplier":"string","unitOfMeasure":"unit:piece","linkedDemandSeries":[{"materialNumberCustomer":"string","materialNumberSupplier":"string","customerLocation":"string","demandCategory":{"demandCategoryCode":"0001"},"loadFactor":0}],"capacities":[{"pointInTime":"2024-07-08","actualCapacity":0,"maximumCapacity":0,"deltaProductionResult":0,"agreedCapacity":0}],"changedAt":"2024-07-08","linkedCapacityGroups":["string"],"unitOfMeasureIsOmitted":true,"demandVolatilityParameters":{"startReferenceDateTime":"string","measurementInterval":0,"rollingHorizonAlertThresholds":[{"sequenceNumber":0,"subhorizonLength":0,"relativePositiveDeviation":0,"relativeNegativeDeviation":0,"absolutePositiveDeviation":0,"absoluteNegativeDeviation":0}]},"capacityGroupIsInactive":true}]}},"info":{"title":"Catena-X DCM Week Based Capacity Group","description":"Open API documentation for the Catena-X DCM Week Based Capacity Group","version":"3.0.0"},"postman":{"name":"post Week Based Capacity Group","description":{"content":"Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-week-based-capacity-group-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postWeekBasedCapacityGroup + + + +Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner. + +
                Request Body
                  messageHeader object
                  + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
                  header object required
                  + +Contains standardized attributes for message processing common across several use cases. + +
                  :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                  content object
                  + +Bundles all business objects in this property. + +
                  informationObject object[]
                  + +Property to collect all transferred business objects. + +
                  linkedDemandSeries object[]
                  + +Set of demand series assigned to this capacity group. + +
                  demandCategory object required
                  + +Type of demand of the referenced demand series. + +
                  oneOf
                  capacities object[]
                  + +A time series with week-based granularity along a given time period containing the capacity values. + +
                  demandVolatilityParameters object
                  + +The parameters to calibrate the measuring of demand volatility. + +
                  = 1` and `<= 999`"} defaultValue={undefined}>
                  rollingHorizonAlertThresholds object[]
                  + +Contains the Parameters that define subhorizons in sequence and length to enable different alert thresholds (per week) over time. +The total length of the DCM horizon is 104 weeks. It can be split into subhorizons. + +
                  = 1` and `<= 999`"} defaultValue={undefined}>= 1) As a subhorizon can not be shorter than one week."} schemaName={"number"} qualifierMessage={"**Possible values:** `>= 1` and `<= 999`"} defaultValue={undefined}>
                  + +OK + +
                  + +Created + +
                  + +Bad request + +
                  + +Unauthorized + +
                  + +Forbidden + +
                  + +Method not allowed + +
                  + +Unprocessable Entity + +
                  + +Service Unavailable + +
                  + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js new file mode 100644 index 00000000000..74803bfdf48 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group"},{"type":"category","label":"WeekBasedCapacityGroup","link":{"type":"generated-index","title":"WeekBasedCapacityGroup","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/week-based-capacity-group"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group","label":"postWeekBasedCapacityGroup","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx new file mode 100644 index 00000000000..5480a071086 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-id-based-comment +title: "Catena-X DCM Id Based Comment" +description: "Open API documentation for the Catena-X DCM Id Based Comment" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 1.0.0 + +# Catena-X DCM Id Based Comment + + + +Open API documentation for the Catena-X DCM Id Based Comment + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx new file mode 100644 index 00000000000..46490b27ba2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment.api.mdx @@ -0,0 +1,82 @@ +--- +id: post-id-based-comment +title: "postIdBasedComment" +description: "Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner." +sidebar_label: "postIdBasedComment" +hide_title: true +hide_table_of_contents: true +api: {"tags":["IdBasedComment"],"operationId":"postIdBasedComment","description":"Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the IdBasedComment with the message header data model in order to be compliant with the DCM standard for the exchange of a comment.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"Aspect model for an exchange of comment belonging to a entity.","type":"object","properties":{"commentId":{"description":"The Comment ID uniquely identifies the entity within the business relationship between a customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"objectId":{"description":"The ID of the object to which the comment belongs.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"author":{"description":"The E-Mail address of the creator who wrote the comment. In case comment creator wants to stay anonymous, show BPNL in app which is sent the comment along.","type":"string"},"postedAt":{"description":"Point in time when the comment was created.","type":"string","format":"date-time"},"changedAt":{"description":"Point in time when the comment was last changed.","type":"string","format":"date-time"},"commentText":{"description":"Text up to 5.000 characters in format \"UTF-8\" will be shared.","type":"string","pattern":"^[\\s\\S]{0,5000}$"},"commentType":{"description":"Type of a comment to indicate a priority.","type":"string","enum":["information","warning","default","actionRequired"]},"requestDelete":{"description":"Indicates that the deletion of the comment is requested by sender incl. all of it's history.","type":"boolean"},"listOfReferenceDates":{"description":"Point in time the comment belongs to.","type":"array","items":{"type":"string","format":"date"},"uniqueItems":true},"objectType":{"description":"Aspect Model which the comment refers to. The value MUST consist of the Catena-X aspect model unique identifier of the referenced data model without a version.","type":"string"},"customer":{"description":"The Business Partner Number Legal Entity (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"supplier":{"description":"The Business Partner Number Legal Entity (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"}},"required":["commentId","objectId","objectType","customer","supplier"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"501":{"description":"Not Implemented"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-id-based-comment-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"commentId":"string","objectId":"string","author":"string","postedAt":"2024-07-08","changedAt":"2024-07-08","commentText":"string","commentType":"information","requestDelete":true,"listOfReferenceDates":["2024-07-08"],"objectType":"string","customer":"string","supplier":"string"}]}},"info":{"title":"Catena-X DCM Id Based Comment","description":"Open API documentation for the Catena-X DCM Id Based Comment","version":"1.0.0"},"postman":{"name":"post Id Based Comment","description":{"content":"Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-id-based-comment-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postIdBasedComment + + + +Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner. + +
                  Request Body
                    messageHeader object
                    + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
                    header object required
                    + +Contains standardized attributes for message processing common across several use cases. + +
                    :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                    content object
                    + +Bundles all business objects in this property. + +
                    informationObject object[]
                    + +Property to collect all transferred business objects. + +
                    + +OK + +
                    + +Created + +
                    + +Bad request + +
                    + +Unauthorized + +
                    + +Forbidden + +
                    + +Method not allowed + +
                    + +Unprocessable Entity + +
                    + +Not Implemented + +
                    + +Service Unavailable + +
                    + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js new file mode 100644 index 00000000000..1a307acd439 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment"},{"type":"category","label":"IdBasedComment","link":{"type":"generated-index","title":"IdBasedComment","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/id-based-comment"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment","label":"postIdBasedComment","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx new file mode 100644 index 00000000000..a74f9aaadfc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-week-based-material-demand +title: "Catena-X DCM Week Based Material Demand" +description: "Open API documentation for the Catena-X DCM Week Based Material Demand" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM Week Based Material Demand + + + +Open API documentation for the Catena-X DCM Week Based Material Demand + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx new file mode 100644 index 00000000000..192fa5ef30f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand.api.mdx @@ -0,0 +1,90 @@ +--- +id: post-week-based-material-demand +title: "postWeekBasedMaterialDemand" +description: "Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner." +sidebar_label: "postWeekBasedMaterialDemand" +hide_title: true +hide_table_of_contents: true +api: {"tags":["WeekBasedMaterialDemand"],"operationId":"postWeekBasedMaterialDemand","description":"Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the WeekBasedMaterialDemand with the message header data model in order to be compliant with the DCM standard for the exchange of a material demand.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"The requirements of a customer towards a specific supplier for a specific material. Each material demand is unique by its Customer, Supplier and Material Number.","type":"object","properties":{"materialDemandId":{"description":"The Material Demand ID uniquely identifies the material demand within the business relationship between a customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"demandSeries":{"description":"The demands for a dedicated material in a given time period of a given demand rate, distinguished by their demand location and demand category.","type":"array","items":{"description":"Encapsulates the demand series related information.","type":"object","properties":{"customerLocation":{"description":"The Business Partner Number Site (BPNS) of the site at which the customer needs the specified material for this demand series.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"},"demandCategory":{"description":"Type of demand for this demand series.","type":"object","oneOf":[{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["0001"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["A1S1"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["SR99"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OS01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["OI01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["ED01"]}},"required":["demandCategoryCode"]},{"type":"object","properties":{"demandCategoryCode":{"description":"The code identifying a demand category.","type":"string","enum":["PO01"]}},"required":["demandCategoryCode"]}]},"demands":{"description":"A time series with a specified demand rate along a given time period to describe the demand values for this demand series.","type":"array","items":{"description":"A single demand for a given point in time according to the demand rate.","type":"object","properties":{"demand":{"description":" Quantity of materials required in the specified point in time according specified demand rate. This demand should be as close as possible to demand that is derived from the actual production program.","type":"number","maximum":1000000000000000000,"exclusiveMaximum":false,"minimum":0,"exclusiveMinimum":false},"pointInTime":{"description":"Defines the start of the demand rate as a point in time. The point in time must be interpreted according to the demand rate.","type":"string","format":"date"}},"required":["demand","pointInTime"]},"uniqueItems":true},"expectedSupplierLocation":{"description":"The Business Partner Number Site (BPNS) of the site from where the customer expects the supplier to fulfill the demands of the demand series. The value is used for informational purposes only and is therefore not binding for the supplier.","type":"string","pattern":"^BPNS[a-zA-Z0-9]{12}$"}},"required":["customerLocation","demandCategory","demands"]},"uniqueItems":true},"customer":{"description":"The Business Partner Number Legal Entity (BPNL) of the party requesting materials from a supplier.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"supplier":{"description":"The Business Partner Number Legal Entity (BPNL) of the party providing materials to a customer.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"unitOfMeasure":{"description":"Unit of measurement for demand quantities.","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:piece","unit:set","unit:pair","unit:page","unit:cycle","unit:kilowattHour","unit:gram","unit:kilogram","unit:tonneMetricTon","unit:tonUsOrShortTonUkorus","unit:ounceAvoirdupois","unit:pound","unit:metre","unit:centimetre","unit:kilometre","unit:inch","unit:foot","unit:yard","unit:squareCentimetre","unit:squareMetre","unit:squareInch","unit:squareFoot","unit:squareYard","unit:cubicCentimetre","unit:cubicMetre","unit:cubicInch","unit:cubicFoot","unit:cubicYard","unit:litre","unit:millilitre","unit:hectolitre","unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hourUnitOfTime","unit:day"]},"materialNumberCustomer":{"description":"Material identifier as assigned by customer. This material number identifies the material (as planned) in customer's database. Must be unique for each Material Demand in the customer-supplier relationship.","type":"string"},"materialNumberSupplier":{"description":"Material identifier as assigned by supplier. This material number identifies the material (as planned) in supplier's database.","type":"string"},"materialDescriptionCustomer":{"description":"Description of the material.","type":"string"},"changedAt":{"description":"Point in time when the content (any property according to the data model) of the material demand was changed, at the customer, either by a human user or an automated process.","type":"string","format":"date-time"},"materialGlobalAssetId":{"description":"Identifier used uniquely to identify part type twin.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"unitOfMeasureIsOmitted":{"description":"Explicit indicator of whether the unit of measure is left out of the payload intentionally. If \"true\" it means the sending application sends demand values without unit of measure intentionally and the unit of measure MUST NOT be contained in the payload. If \"false\" a unit of measure MUST be supplied.","type":"boolean"},"materialDemandIsInactive":{"description":"Indicates that this material demand is currently not in use/maintained by the supplier.","type":"boolean"}},"required":["materialDemandId","demandSeries","customer","supplier","materialNumberCustomer","materialDescriptionCustomer","changedAt","unitOfMeasureIsOmitted","materialDemandIsInactive"]},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-week-based-material-demand-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"materialDemandId":"string","demandSeries":[{"customerLocation":"string","demandCategory":{"demandCategoryCode":"0001"},"demands":[{"demand":0,"pointInTime":"2024-07-08"}],"expectedSupplierLocation":"string"}],"customer":"string","supplier":"string","unitOfMeasure":"unit:piece","materialNumberCustomer":"string","materialNumberSupplier":"string","materialDescriptionCustomer":"string","changedAt":"2024-07-08","materialGlobalAssetId":"string","unitOfMeasureIsOmitted":true,"materialDemandIsInactive":true}]}},"info":{"title":"Catena-X DCM Week Based Material Demand","description":"Open API documentation for the Catena-X DCM Week Based Material Demand","version":"3.0.0"},"postman":{"name":"post Week Based Material Demand","description":{"content":"Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-week-based-material-demand-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postWeekBasedMaterialDemand + + + +Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner. + +
                    Request Body
                      messageHeader object
                      + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
                      header object required
                      + +Contains standardized attributes for message processing common across several use cases. + +
                      :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                      content object
                      + +Bundles all business objects in this property. + +
                      informationObject object[]
                      + +Property to collect all transferred business objects. + +
                      demandSeries object[] required
                      + +The demands for a dedicated material in a given time period of a given demand rate, distinguished by their demand location and demand category. + +
                      demandCategory object required
                      + +Type of demand for this demand series. + +
                      oneOf
                      demands object[] required
                      + +A time series with a specified demand rate along a given time period to describe the demand values for this demand series. + +
                      + +OK + +
                      + +Created + +
                      + +Bad request + +
                      + +Unauthorized + +
                      + +Forbidden + +
                      + +Method not allowed + +
                      + +Unprocessable Entity + +
                      + +Service Unavailable + +
                      + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js new file mode 100644 index 00000000000..e13f56ff04b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand"},{"type":"category","label":"WeekBasedMaterialDemand","link":{"type":"generated-index","title":"WeekBasedMaterialDemand","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/week-based-material-demand"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand","label":"postWeekBasedMaterialDemand","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx new file mode 100644 index 00000000000..226288017c8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update.info.mdx @@ -0,0 +1,25 @@ +--- +id: catena-x-dcm-id-based-request-for-update +title: "Catena-X DCM ID Based Request For Update" +description: "Open API documentation for the Catena-X DCM ID Based Request For Update" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# Catena-X DCM ID Based Request For Update + + + +Open API documentation for the Catena-X DCM ID Based Request For Update + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx new file mode 100644 index 00000000000..29729a6006f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update.api.mdx @@ -0,0 +1,84 @@ +--- +id: post-id-based-request-for-update +title: "postIdBasedRequestForUpdate" +description: "Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner." +sidebar_label: "postIdBasedRequestForUpdate" +hide_title: true +hide_table_of_contents: true +api: {"tags":["IdBasedRequestForUpdate"],"operationId":"postIdBasedRequestForUpdate","description":"Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner.","requestBody":{"content":{"application/json":{"schema":{"description":"An entity that combines the IdBasedRequestForUpdate with the message header data model in order to be compliant with the DCM standard for the exchange of a request for update.","type":"object","properties":{"messageHeader":{"description":"The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer.","type":"object","properties":{"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]},"content":{"description":"Bundles all business objects in this property.","type":"object","properties":{"informationObject":{"description":"Property to collect all transferred business objects.","type":"array","items":{"description":"The requirements for a request for update from another Catena-X Partner of a specific entity.\nIf within the payload, no specific object type is defined (Payload empty), than an update of all objects within the sender receiver relation is requested).","type":"object","properties":{"weekBasedMaterialDemand":{"description":"Material demands the supplier requests an update for.\nIf within the array, no specific ID (array empty), than an update of all IDs is requested).","type":"array","items":{"description":"Encapsulates the information that is necessary for an update request.","type":"object","properties":{"materialDemandId":{"description":"The Material Demand ID uniquely identifies the material demand the supplier requests an update for within the business relationship between the customer and its supplier.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"changedAt":{"description":"Point in time of the last update known to the requesting business partner. If the requested entity has been changed more recently, the requested party should resend the data. If the changedAt property is not given, the latest entity should be send without precondition.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["materialDemandId"]},"uniqueItems":true},"weekBasedCapacityGroup":{"description":"Capacity groups the customer requests an update for.\nIf within the array, no specific ID (array empty), than an update of all IDs is requested).","type":"array","items":{"description":"Encapsulates the information that is necessary for an update request.","type":"object","properties":{"capacityGroupId":{"description":"The Capacity Group ID uniquely identifies the capacity group the supplier requests an update for within the business relationship between the supplier and its customer.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"changedAt":{"description":"Point in time of the last update known to the requesting business partner. If the requested entity has been changed more recently, the requested party should resend the data. If the changedAt property is not given, the latest entity should be send without precondition.","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["capacityGroupId"]},"uniqueItems":true}}},"uniqueItems":true}}}}}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"405":{"description":"Method not allowed"},"422":{"description":"Unprocessable Entity"},"503":{"description":"Service Unavailable"}},"method":"post","path":"/internal-dcm-application-id-based-request-for-update-post-endpoint","jsonRequestBodyExample":{"messageHeader":{"header":{"messageId":"string","context":"string","sentDateTime":"string","senderBpn":"string","receiverBpn":"string","expectedResponseBy":"string","relatedMessageId":"string","version":"string"}},"content":{"informationObject":[{"weekBasedMaterialDemand":[{"materialDemandId":"string","changedAt":"string"}],"weekBasedCapacityGroup":[{"capacityGroupId":"string","changedAt":"string"}]}]}},"info":{"title":"Catena-X DCM ID Based Request For Update","description":"Open API documentation for the Catena-X DCM ID Based Request For Update","version":"3.0.0"},"postman":{"name":"post Id Based Request For Update","description":{"content":"Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner.","type":"text/plain"},"url":{"path":["internal-dcm-application-id-based-request-for-update-post-endpoint"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postIdBasedRequestForUpdate + + + +Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner. + +
                      Request Body
                        messageHeader object
                        + +The Capacity Group ID uniquely identifies the capacity group within the business relationship between a supplier and its customer. + +
                        header object required
                        + +Contains standardized attributes for message processing common across several use cases. + +
                        :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                        content object
                        + +Bundles all business objects in this property. + +
                        informationObject object[]
                        + +Property to collect all transferred business objects. + +
                        weekBasedMaterialDemand object[]
                        + +Material demands the supplier requests an update for. +If within the array, no specific ID (array empty), than an update of all IDs is requested). + +
                        weekBasedCapacityGroup object[]
                        + +Capacity groups the customer requests an update for. +If within the array, no specific ID (array empty), than an update of all IDs is requested). + +
                        + +OK + +
                        + +Bad request + +
                        + +Unauthorized + +
                        + +Forbidden + +
                        + +Method not allowed + +
                        + +Unprocessable Entity + +
                        + +Service Unavailable + +
                        + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js new file mode 100644 index 00000000000..4355d7abfd0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update"},{"type":"category","label":"IdBasedRequestForUpdate","link":{"type":"generated-index","title":"IdBasedRequestForUpdate","slug":"/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/id-based-request-for-update"},"items":[{"type":"doc","id":"kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update","label":"postIdBasedRequestForUpdate","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg new file mode 100644 index 00000000000..6b019f02fc6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg @@ -0,0 +1,3 @@ + + +
                        Capacity data (mandatory)
                        Capacity data (optional)
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg new file mode 100644 index 00000000000..415ce5ec62b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg @@ -0,0 +1,3 @@ + + +
                        WeekBasedCapacityGroup
                        Supplier
                        Customer
                        CapacityGroupID
                        changedAt
                        Calendar Week
                        Inactive flag
                        UnitOfMeasure
                        CapacityGroupName
                        ActualCapacity
                        MaximumCapacity
                        AgreedCapacity
                        quantity
                        quantity
                        quantity
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-capacity-group_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg new file mode 100644 index 00000000000..dcf7090ef1d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg @@ -0,0 +1,3 @@ + + +
                        Comment data (mandatory)
                        Comment data (optional)
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg new file mode 100644 index 00000000000..c17c417a662 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg @@ -0,0 +1,3 @@ + + +
                        IdBasedComment
                        listOfReferenceDates
                        commentType
                        commentText
                        requestDelete
                        objectId
                        objectType
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-comment_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg new file mode 100644 index 00000000000..2c2ecc0f6c0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg @@ -0,0 +1,3 @@ + + +
                        Demand data (mandatory)
                        Demand data (optional)
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg new file mode 100644 index 00000000000..6af1f5d1520 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-material-demand_structure.svg @@ -0,0 +1,3 @@ + + +
                        WeekBasedMaterialDemand
                        Supplier
                        Customer
                        changedAt
                        DemandSeries
                        MaterialDescriptionCustomer
                        MaterialNumberCustomer
                        MaterialDemandID
                        MaterialNumberCustomer
                        DemandCategory
                        CustomerLocation
                        InactiveFlag
                        UnitOfMeasure
                        PointInTime
                        DemandQuantity
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg new file mode 100644 index 00000000000..d15b733b626 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg @@ -0,0 +1,3 @@ + + +
                        Request for Update data (mandatory)
                        Request for Update data (optional)
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_legend.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg new file mode 100644 index 00000000000..5141acd8fb4 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg @@ -0,0 +1,3 @@ + + +
                        RequestforUpdate
                        WeekBasedMaterialDemand
                        WeekBasedCapacityGroup
                        changedAt
                        MaterialDemandID
                        changedAt
                        CapacityGroupID
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license new file mode 100644 index 00000000000..2533aea5963 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/development-view/resources/model-rfu_structure.svg.license @@ -0,0 +1,15 @@ +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/onboarding.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/onboarding.md new file mode 100644 index 00000000000..1b1628facf6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/onboarding.md @@ -0,0 +1,66 @@ +--- +id: onboarding +title: Onboarding +description: Onboarding +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +You can participate in the Catena-X data ecosystem in various roles. Become acquainted with the foundational building blocks of Catena-X and how all participants collaborate within a global ecosystem by reading the [Whitepaper describing the Catena-X operating model](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). + +Actors willing to use the Catena-X DCM standard, and start a collaboration with other supply chain partners enabled by an interoperable solution, can prepare asking the IT colleagues to check the following [End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/). + +## Roles + +Within DCM customer and supplier both act as data provider and data consumer. In order to execute the DCM process they utilize an application from the Catena-X marketplace, provided by a business application provider or they use their own custom in-house solution. + +### Data Providers and Data Consumers + +#### Onboarding + +|#|Requirement|Further details| +|-|-|-| +|1|Subscribe to Catena-X|[General Onboarding](https://catena-x.net/en/catena-x-introduce-implement/onboarding)
                        [One Pager](https://catena-x.net/fileadmin/user_upload/03_Angebote/Portal/One_Pager_CX_Onboarding.pdf)| +|2|Subscribe to an operating company| [Cofinity-X Onboarding](https://www.cofinity-x.com/onboarding/)| +|3|Deploy a Catena-X certified dataspace connector|Depending on your adoption strategy you will be provided one or you might have to deploy one yourself| +|4|Deploy a Catena-X certified business application|See adoption strategy| +|5|Get certified and sign framework agreements|The kind of certification depends on your adoption strategy| +|6|Deploy an SSI wallet for the credentials from the certification and framework agreement process|Depending on your adoption strategy you will be provided one or you might have to deploy one yourself| + +#### Adoption Strategy + +If you are interested in utilizing DCM within the Catena-X dataspace you can follow one of the following three approaches. + +|#|Approach|Details| +|-|-|-| +|1|COTS|Purchase a certified **C**ommercial **O**ff **T**he **S**helf solution via the Catena-X marketplace, accessible through your operating company (e.g. [Cofinity-X Marketplace](https://www.cofinity-x.com/app-marketplace/))| +|2|FOSS|Adopt, customize and deploy an existing **F**ree and **O**pen **S**ource **S**oftware **S**olution| +|3|CUSTOM|Adopt and integrate the business logic, aspect models and APIs, as described in the [DCM standard][StandardLibrary], yourself | + +### Business Application Providers + +#### Onboarding + +Business Application Providers that want to enable their commercial software for Catena-X DCM need to register for the Catena-X Ecosystem following the specific information described in [Offering a Catena-X Solution](https://catena-x.net/en/catena-x-introduce-implement/offering-a-catena-x-solution) (including next steps & contacts). + +Please refer to the [Catena-X Library][StandardLibrary] for the newest version of the DCM as well as other standards. + +### Software Developers + + + + + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 BearingPoint GmbH +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation + +[StandardLibrary]: https://catenax-ev.github.io/docs/next/standards/CX-0128-DemandandCapacityManagementDataExchange diff --git a/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/operation-view.md new file mode 100644 index 00000000000..83c9d0592e1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Demand and Capacity Management Kit/operation-view.md @@ -0,0 +1,39 @@ +--- +id: operation-view +title: Operation View +description: Your first steps +--- + +![DCM kit banner](/img/kit-icons/dcm-kit-icon.svg) + +## DCM FOSS Application + +A free and open source software (FOSS) implementing the Catena-X standard CX-0128 is under development. Feel free to contribute to this community effort and visit the corresponding [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) and [GitHub project](https://github.com/orgs/eclipse-tractusx/projects/66). + +### Prerequisites + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +### Authorization information + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +### Deployment + +Further information can be found in the [GitHub repository](https://github.com/eclipse-tractusx/demand-capacity-mgmt) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 SupplyOn AG +- SPDX-FileCopyrightText: 2023,2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2023,2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V (Fraunhofer) +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Certificate Management Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/_category_.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md similarity index 83% rename from docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md rename to docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md index 95e5462df7c..c3c277154f3 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md +++ b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_interaction-patterns.md @@ -10,7 +10,8 @@ sidebar_position: 2 The Catena-X standard CX-0002 (Digital Twins in Catena-X) defines a subset of the AAS-standard that is relevant for Catena-X. However, it is concerned only with the network-facing APIs which in some cases may have to be augmented to cover use-case requirements. For example, resolving `specificAssetIds` against a Shell's `id` is standardized since -Consumers rely on a well-defined API here. However, how the Provider ingests the relevant data into the DTR usually isn't +Consumers rely on a well-defined API here. However, how the Provider ingests the relevant data into the DTR usually +isn't relevant for cross-dataspace interoperability and thus, the call isn't standardized. While the assumptions are explicitly listed, all patterns assume that both partners involved are properly onboarded to @@ -31,14 +32,15 @@ autonumber This happens usually when onboarding a company to the network. > Note: While this Kit explicitly uses the APIs of the EDC (Eclipse Dataspace Connector), provisioning data with -any other implementation of the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/overview/readme) +> any other implementation of +> the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/overview/readme) (DSP) is also permitted. The flows to integrate DTRs and Submodel endpoints will differ with each implementation. ### 1. Fetching a supplier's Twin -| Scenario | Participants | Assumptions | Links to Use-Cases | -|-----------------------------------------------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------| -| The supplier has data required by the OEM. For instance a Product Passport. | - Data Provider (Supplier)
                        - Data Consumer (OEM) | 1. Consumer knows Supplier's BPN
                        2. Consumer knows an id of the asset | - Industry Core (coming soon)
                        - [Product Carbon Footprint Kit](../../PCF%20Exchange%20Kit) | +| Scenario | Participants | Assumptions | Links to Use-Cases | +|-----------------------------------------------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| The supplier has data required by the OEM. For instance a Product Passport. | - Data Provider (Supplier)
                        - Data Consumer (OEM) | 1. Consumer knows Supplier's BPN
                        2. Consumer knows an id of the asset | - [Industry Core](../../Industry%20Core%20Kit/Software%20Development%20View/page_digital-twins.mdx)
                        - [Product Carbon Footprint Kit](../../PCF%20Exchange%20Kit) | The most common integration pattern with Digital Twins aims to offer asset-related data in expectable ways along the supply chain. It defines conventions that allow locating data in the network. This most basic scenario assumes that the @@ -50,8 +52,8 @@ party - can assume that a part's supplier offers a Digital Twin if the data-exch - Digital Twin Registry (DTR) - registered in a DSP-conformant connector offering the DTR to the Dataspace. - - registers Digital Twins (AssetAdministrationShell-descriptors - or AAS descriptor - in AAS vocabulary) with assetIds -including at least one that's known at both, the supplier and customer. + - registers Digital Twins (AssetAdministrationShell-descriptors, or AAS-descriptor in AAS-vocabulary) with assetIds + including at least one that's known at both, the supplier and customer. - Submodels - registered in a DSP-conformant connector to the Dataspace. - registered to the correct AAS-descriptor in the DTR. @@ -79,38 +81,40 @@ fetch the data from the right offers. The flow is specified here: ```mermaid sequenceDiagram - participant EDCD as EDC Discovery - participant PEDC as Provider EDC
                        Control Plane + participant Con as Data Consumer participant CEDC as Consumer EDC
                        Control Plane + participant PEDC as Provider EDC
                        Control Plane participant DTR as Digital Twin Registry participant SM as Submodel Server - participant Con as Data Consumer + participant EDCD as EDC Discovery + autonumber critical: Consumer-Side discovery Con->>EDCD: POST /api/administration/connectors/discovery with provider-bpn EDCD-->>Con: EDC-endpoint - Con->>CEDC: POST /catalog/request with filter looking for DTR + Con->>CEDC: POST /catalog/request with
                        filter looking for DTR CEDC-->>PEDC: forward PEDC-->>CEDC: return CEDC-->>Con: dcat:Dataset for DTR Con->>PEDC: negotiate for DTR and retrieve token PEDC-->>Con: access token - Con->>DTR: GET /lookup/shells?assetIds=xyz + Con->>DTR: GET {{provider-data.plane}}/lookup/shells?assetIds=xyz&assetIds=abc DTR-->>Con: aas-id - Con->>DTR: GET /shell-descriptors/{{aas-id}}
                        with aas-id encoded base64url + Con->>DTR: GET {{provider-data.plane}}/shell-descriptors/{{aas-id}}
                        with aas-id encoded base64url DTR-->>Con: shell-descriptor including the
                        submodel's Dataset-ID (subprotocolBody) end - Con->>CEDC: POST /catalog/request with filter looking for Dataset-ID + Con->>CEDC: POST /catalog/request with
                        filter looking for Dataset-ID CEDC-->>PEDC: forward PEDC-->>CEDC: return CEDC-->>Con: Dataset for submodel(-bundle) Con->>PEDC: negotiate for Dataset and retrieve token PEDC-->>Con: access token - Con->>SM: GET
                        {{submodel-descriptor/href}}/$value + Con->>SM: GET {{submodel-descriptor/href}}/$value SM-->>Con: data ``` -If the `data` is a Bill of Material ([like this one](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.single_level_bom_as_built/2.0.0/gen/SingleLevelBomAsBuilt.json)) +If the `data` is a Bill of +Material ([like this one](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.single_level_bom_as_built/2.0.0/gen/SingleLevelBomAsBuilt.json)) it returns a list of `childItems` that hold for each subcomponent the information that's assumed to be present for the start of this very scenario (see Assumptions 1, 2). Thus, BoM and the DT deployment in combination enable recursive browsing of the parts-tree, collecting data along the way - given the data owners grant access. @@ -121,15 +125,17 @@ enable recursive browsing of the parts-tree, collecting data along the way - giv |---------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|-----------------------------------------|-----------------------| | A party (who is not the supplier of an part) publishes data about a previously uncovered aspect of the asset. | - Data Provider (Supplier)
                        - Data Provider (Third Party) | 1. Third Party knows an id of the asset | - PURIS (coming soon) | -Let's suppose, a car has reached it end-of-life. The object is sold to a dismantler who disassembles the vehicle and wants +Let's suppose, a car has reached it end-of-life. The object is sold to a dismantler who disassembles the vehicle and +wants to publish that exact information. As the Digital Twin is owned by the OEM of the vehicle, it will not be accessible, even less writable, to everyone in the network. Thus, the dismantler must publish the data themselves, by deploying: - Digital Twin Registry (DTR) - registered in a DSP-conformant connector offering the DTR to the Dataspace. - registers Digital Twins (AAS-descriptors in AAS vocabulary) with assetIds including at least one that's - equivalent to one attached to the OEM's twin. -- Submodel (like [_Certificate of Destruction_](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/4889d8482fc6b233eb0f56f3ac94c5ea4004bc05/io.catenax.certificate_of_destruction/1.0.1/gen/CertificateOfDestruction.json)) + equivalent to one attached to the OEM's twin. +- Submodel (like [_Certificate of + Destruction_](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/4889d8482fc6b233eb0f56f3ac94c5ea4004bc05/io.catenax.certificate_of_destruction/1.0.1/gen/CertificateOfDestruction.json)) - registered in a DSP-conformant connector to the Dataspace. - registered to the correct AAS-descriptor in the DTR. - Serving arbitrary but well-specified json via `GET` requests from the `/$value` endpoint. @@ -143,13 +149,16 @@ Standards and Kits for a use-case as the default hypothesis is always that a sup For discovery of digital twins for parts, it might be useful to standardize the specific asset IDs the supplier should attach to its part twin. Via these `specificAssetIds` the corresponding digital twin of the part can be found by the -OEM. If the `globalAssetId` is known to the OEM it is not necessary to defined additional specific asset IDs +OEM. If the `globalAssetId` is known to the OEM it is not necessary to defined additional specific asset IDs. Both serve +similar purposes and are defined in the [AAS-Specification](https://aas-core-works.github.io/aas-core-meta/v3/AssetInformation.html#properties). -If multiple parties publish data on the same asset, each follows the Data Provisioning flow from [the default case](#1-fetching-a-suppliers-twin) +If multiple parties publish data on the same asset, each follows the Data Provisioning flow +from [the default case](#1-fetching-a-suppliers-twin) #### 2.2. Discovery by Registration -If no heuristic is precise enough to expect a Submodel's location, the dismantler must signal in a [BPN-Discovery-Service](../page_software-operation-view.md) +If no heuristic is precise enough to expect a Submodel's location, the dismantler must signal in +a [BPN-Discovery-Service](../page_software-operation-view.md) that they indeed have data on said vehicle. This is the registration process: ```mermaid @@ -167,7 +176,8 @@ autonumber It is followed by the regular Provisioning Process from [the default case](#1-fetching-a-suppliers-twin). That way, any interested Data Consumer can not only find data with the part's manufacturer but also all third parties returned by the BPN Discovery Service who have registered there and interacted with the part -sometime during its lifecycle. The Consumer's workflow to retrieve the registered data is (like the registration) extended +sometime during its lifecycle. The Consumer's workflow to retrieve the registered data is (like the registration) +extended as this scenario does not make the assumption that the Consumer knows the BPN of the data they're interested in. This is healed by querying the previously populated discovery services to retrieve the BPN. @@ -196,7 +206,8 @@ After that, [the default consumption process](#1-fetching-a-suppliers-twin) is e | A party (who is not the supplier of an part) updates data already covered by an existing Submodel. | - Data Provider (Supplier)
                        - Data Provider (Third Party) | 1. Third Party knows an id of the asset | - DCM-AAS (coming soon) | There may be a scenario where a Supplier deploys a Digital Twin that holds data that will have to be updated during the -lifecycle. A potential use-case would be the update of a particular vehicle's BoM - for instance if the engine is replaced. +lifecycle. A potential use-case would be the update of a particular vehicle's BoM - for instance if the engine is +replaced. This could be represented in a Submodel "SingleLevelBomAsMaintained". Currently, updating remote Submodels is a hypothetical example but, with the right tools, a pattern that can be executed in the Catena-X dataspace. Again, the Supplier registers the twin: @@ -204,8 +215,9 @@ in the Catena-X dataspace. Again, the Supplier registers the twin: - Digital Twin Registry (DTR) - registered in a DSP-conformant connector offering the DTR to the Dataspace. - registers Digital Twins (AAS-descriptors in AAS vocabulary) with specificAssetIds including at least one that's - equivalent to one attached to the OEM's twin. -- Submodel (like [_Certificate of Destruction_](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/4889d8482fc6b233eb0f56f3ac94c5ea4004bc05/io.catenax.certificate_of_destruction/1.0.1/gen/CertificateOfDestruction.json)) + equivalent to one attached to the OEM's twin. +- Submodel (like [_Certificate of + Destruction_](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/4889d8482fc6b233eb0f56f3ac94c5ea4004bc05/io.catenax.certificate_of_destruction/1.0.1/gen/CertificateOfDestruction.json)) - registered in a DSP-conformant connector to the Dataspace. - registered to the correct AAS-descriptor in the DTR. - Serving arbitrary but well-specified json via GET-requests from the `/$value` endpoint. @@ -229,7 +241,8 @@ end ``` Serving the last call is tricky. It requires a very differentiated access control concept on the Supplier's side, -differentiating WHO is allowed to write into WHAT part of the Submodel. Several approaches to implementation can be taken: +differentiating WHO is allowed to write into WHAT part of the Submodel. Several approaches to implementation can be +taken: #### 3.1. Access Control at the connector @@ -254,9 +267,11 @@ Submodel Repository. | A new customer wants their customerPartId as specificAssetId on the twin. | - Data Provider (Supplier)
                        - Data Provider (Third Party) | 1. Third Party knows an id of the asset | None yet | An update to a twin is any change to the AAS-descriptor via the APIs of the AssetAdministrationShellServiceSpecification -or DiscoveryServiceSpecification of AAS Part 2. While the relevant write-APIs are not mandatory in Catena-X, Data Providers +or DiscoveryServiceSpecification of AAS Part 2. While the relevant write-APIs are not mandatory in Catena-X, Data +Providers can implement and expose them to the dataspace. This obviously bears risks: not only can improper implementation and -configuration lead to unauthorized access to data like in the simple read access (see [scenario 1](#1-fetching-a-suppliers-twin), [scenario 2](#2-adding-a-new-twin-for-a-given-asset)). +configuration lead to unauthorized access to data like in the simple read access ( +see [scenario 1](#1-fetching-a-suppliers-twin), [scenario 2](#2-adding-a-new-twin-for-a-given-asset)). In this case, data could be manipulated and overwritten endangering the processes that build on it. That's why fine-grained access control for components like the DTR is a fundamental requirement to operate. @@ -267,5 +282,5 @@ The same holds true for use-case-defined APIs that trigger automatic updates/cre This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 Contributors of the Eclipse Foundation -- Source URL: [https://github.com/eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) +- SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..c0329a33ba3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,622 @@ +--- +id: dt-kit-software-development-view +title: Developing with the DT KIT +description: 'Digital Twin KIT - Software Development View' +sidebar_position: 1 +--- + + + + +![DT Kit Pictotogram](/img/kit-icons/digital-twin-kit-icon.svg) + +### Digital Twin KIT + + + +## Architecture Overview + +The interplay of the Digital Twin Kit's components can be found in +the [Operation View](../page_software-operation-view.md). + +## API Specifications + +All openAPI-specifications for the Digital Twin Kit services are stored in the [openApi section](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/openApi/dt) of this repo. +Please note that these are non-normative replicas from the original standards and their normative references. + +### Asset Administration Shell + +The Asset Administration Shell (AAS) is a specification that is released by +the [Industrial Digital Twin Association (IDTA)](https://industrialdigitaltwin.org/) +and already partly adopted by the [International Electrotechnical Commission (IEC)](https://www.iec.ch/homepage) as +[IEC 63278](https://webstore.iec.ch/en/publication/65628). + +Its mission is defining how “information about assets […] can be exchanged in a meaningful way between partners in a +value creation network” ([IDTA 01001-3-0](https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01001-3-0_SpecificationAssetAdministrationShell_Part1_Metamodel.pdf) +, p.12) . As such, it is well-suited to contribute to the toolbox of Catena-X. While the Spec offers an +extensive suite of meta-model elements and APIs, Catena-X only mandates a small subset that is defined in CX - 0002. + +#### Submodels + +An Asset Administration Shell is organized in Submodels. Each Submodel represents a self-contained aspect of an asset - +typical examples are the *PartAsPlanned* or *SingleLevelBomAsBuilt* (which denotes the hierarchical composition of +parts into a whole). All relevant Submodels for Catena-X can be are built from SAMM models and can be found on [Github](https://github.com/eclipse-tractusx/sldt-semantic-models/). +As different aspects of an Asset may be known to different parties on the value-chain, Submodels +for a single asset must be capable to run independently of each other. The specification explicitly allows this, +enabling easy cross-company data integration. + +Recognizing that not all use-cases require the full functionality of the AAS-Spec, Catena-X demands that Data +Providers offer only a subset of the SubmodelServiceSpecification - namely the `$value` serialization. This is an +abbreviated notation of an AAS-Submodel that is focused on data instead of context. While it is advisable to expose +Submodels with help of a full-fletched AAS-server SDK that provides the content-modifiers and API-endpoints +out-of-the-box, this is not yet mandatory. + +#### Digital Twin Registry + +What Catena-X calls the "Digital Twin Registry" (DTR) is actually the union of two different services that the AAS +specification +has specified. For the sake of simplicity, they are both defined in a single component. The DTR serves a similar +function as the +index in a book: When trying to discover information, it's convenient to have an overview WHAT one will find, HOW and +WHERE to +access it. The registry caters exactly that information: For every asset it knows, it holds a number of Submodel +Descriptors and in +these, a consumer app will find information what it will find (via the semanticId) and how to access the information ( +endpoint, +security setup etc.). As the information contained in the DTR may be sensitive and not be trusted with a central entity, +every data provider must offer his own DTR as an EDC Data Asset. While it is only mandatory to implement the GET +endpoints +as specified in +the [Standard CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX), +data providers may find it useful to implement other requests for registration +on top. Either way, they are free to populate their DTR in any way they desire. + +### Catena-X specific Services + +DTRs hold sensitive information: a submodel-descriptor may not give access to the actual Submodel-data but all in cumulo +hint at +production volumes as each Twin represents an asset. Therefore, Catena-X implements decentral DTRs (DDTR), each running +with a +business partner. +[In an IDTA-Whitepaper](https://industrialdigitaltwin.org/en/wp-content/uploads/sites/2/2023/06/Decentralized-Registries-Taxonomy-of-decentralized-registries-and-an-architectural-overview_.pdf), +several high-level concepts for DDTRs are introduced. The AAS-specification remains agnostic to the approaches and +endorses +none of them. Catena-X must deal with the additional complexity that stems from the interaction with the EDC. + +Leveraging the native capabilities of the EDC and the EDC Discovery Service, Catena-X uses a discovery pattern that has +the same capability as a central [Digital Twin Registry](#digital-twin-registry) would: +It allows to start a Discovery Process with only an assetId and its type (like `manufacturerPartId`). +However, in Catena-X some of the data is deemed so sensitive that a central authority can't be +trusted with it. Thus, a decentralized approach is implemented: each Data Provider will run their own DTR. +This poses a challenge for discovery if the BPN of the supplier is not known by the data consumer. After all, a +Data Consumer must still find out the address where to fetch the data from. That's why Catena-X has introduced a +three-step discovery pattern made up of the central microservices Discovery Finder, BPN Discovery (or several of them) +and finally the EDC discovery that is part of the CX-Portal. +The Discovery Finder and the BPN Discovery service are described as part of this Kit. + +## Sample Data + +Generic sample data for relevant data objects is contained in the openAPI-specs of the respective services. This chapter +contains data structures that are more specifically designed for use in the Digital Twin Kit. They are compliant with +the base-specifications (like AAS) but restrict the application even further for use in this Dataspace. + +### Registration at Digital Twin Registry + +The Digital Twin Registry connects an asset (identified by its assetIds) with links to the Submodels. Since Catena-X +uses the EDC as a gateway for all inter-company interaction, the Digital Twin Registry must account for that. By +design, it includes the possibility to add additional context via the fields `subprotocol`, `subprotocolBody` and +`subprotocolEncoding`. `subprotocol` will always be set to `DSP`, short for the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/overview/readme) as +standardized by the IDSA. `subprotocolEncoding` is always set to `plain`. + +There's three relevant inputs to discover a referenced Submodel in Catena-X: + +- The `subprotocolBody` contains two pieces of information, assigned with `=` and separated by `;`: + - *`dspEndpoint`* is the URL of the Control Plane where a Data Consumer can negotiate for access to this Submodel. For + many + connector-implementations, this will end on `/api/v1/dsp`. As this property will be used in the discovery sequence + to construct a `catalog`-request, this variable is equivalent to the `` + in [this example](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/catalog/catalog.binding.https#id-2.1-prerequisites) + in the DSP-spec. + - When calling the /catalog API of that Control Plane, a Consumer should filter for `dcat:Dataset` entries that are + identified by the *`id`* mentioned in the `subprotocolBody`. For communication between two EDCs, the Consumer could + query with the following payload: + + ```json + { + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@type": "CatalogRequest", + "counterPartyAddress": "{{provider-dsp-endpoint}}", + "protocol": "dataspace-protocol-http", + "querySpec": { + "offset": 0, + "limit": 50, + "filterExpression": [ + { + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@type": "edc:Criterion", + "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id", + "operator": "=", + "operandRight": "{{assetId}}" + } + ] + } + } + ``` + +- After having successfully negotiated for a Data Offer associated with the `id`, the Data Consumer can query the Data + Plane of the given EDC to access the data. For that, the Provider must use the URL given in the Submodel-Descriptor's + `href` field and append the additional URL-segment `/$value`. +- In some circumstances (such as the [PCF Kit](../../PCF%20Exchange%20Kit/Software%20Development%20View/page_software-development-view.md#payload-for-requesting-pcf-sub-model)) + the `submodelDescriptors[i]/endpoints[j]/interface` property may be used to signify that the payload of the Submodel + must be retrieved using an API that's not the subset of Submodel-API defined in CX-0002. This leaves the scope of the + DT Kit and must be specified by subsequent standards. + +A full example on the default case is shown in the next section. + +#### Registering a new Twin + +Registration of a new twin is (at least in Catena-X) equivalent to the creation of a new twin. Thus, a Data Provider +should always ensure that there is no AAS-descriptor created for the respective assetIds yet. If there already is one, +the submodel-descriptor should +be [added to the existing shell-descriptor](#registering-a-new-submodel-at-an-existing-twin). + +`POST /shell-descriptors` + +```json +{ + "id": "urn:uuid:e5c96ab5-896a-1234-8761-efd74777ca97", + "idShort": "myAas", + "specificAssetIds": [ + { + "name": "manufacturerPartId", + "value": "123-345-567103", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{BPN of the party privileged}}" + } + ] + } + } + ], + "submodelDescriptors": [ + { + "id": "e5c96ab5-896a-482c-8761-efd74777ca97", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://edc.data.plane/mypath/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/api/v1/dsp", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ] + } + ] +} +``` + +#### Registering a new Submodel at an existing Twin + +`POST /shell-descriptors/{{aasId}}` + +```json +{ + "id": "e5c96ab5-896a-482c-8761-efd74777ca97", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://edc.data.plane/mypath/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/api/v1/dsp", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ] +} + +``` + + + +### Registration at EDC + +Integration between the EDC and AAS-Components in the dataspace is a strict prerequisite for robust discovery and data +access in the Catena-X dataspace. As all data that crosses company-boundaries must be exchanged via an EDC, CX-0002 +provides the necessary normative statements to facilitate interoperable data exchange. + +One relevant question is how the EDC-shielded services of this Kit should register with the Asset endpoint of the EDC +Management API. While the EDC's /v3/assets endpoint is internal to the Data Provider only, the objects are also +available via the /catalog API that is specified in the Dataspace Protocol. + +The EDC uses json-ld. Json-ld is a serialization for RDF graphs (see [Resource Description Framework](https://www.w3.org/RDF/)). +The json-ld `@context` section can declare the namespaces that resources explicitly mentioned in the rest of the +document belong to. It may also define default namespace with `@vocab` for resources without explicitly stated +namespaces. Outside of the "@context" section, the `@type` property always defines the class that an object belongs to. +As stated in the openAPI-specification of the EDC Management API's relevant endpoint, all entries in the +`properties` object and the `privateProperties` object can be chosen freely. The section on the `dataAddress` is +structured depending on the `edc:type` property. The example below is determined by the [HttpDataAddress](https://github.com/eclipse-edc/Connector/blob/main/spi/common/core-spi/src/main/java/org/eclipse/edc/spi/types/domain/HttpDataAddress.java) +class. Its parameters determine the behavior of the EDC's HTTP data plane at runtime. How they should be used is not +subject to standardization since they aren't visible in the Dataspace. Certain values may have to be set in a certain +way to enable the data exchange via the DT Kit. + +It presents the backend resources as `dcat:Dataset`s with properties funnelled through from the assets-API. These +properties can be freely set by the Data Provider. + +For successful discovery of Digital Twins, it is critical to register Submodels and Digital-Twin-Registries in a +harmonized way. The following overview shall explain how the `properties` section could be used. + +- `http://purl.org/dc/terms/type` (mandatory as per CX-0018): denotes the type of Asset that is registered. The + property + points to an RDF resource. In the context of digital twins two predefined resources are of + relevance: `https://w3id.org/catenax/taxonomy#DigitalTwinRegistry` and `https://w3id.org/catenax/taxonomy#Submodel` + +- `https://w3id.org/catenax/common/version` (mandatory as per CX-0002): version-string of the registered type of + resource. + For all endpoints related to the AAS-spec, this must be set to "3.0" as that's the current normative version of the + AAS specification. + +#### Digital Twin Registry as EDC Data Asset + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "http://purl.org/dc/terms/" + }, + "@id": "{{ _.edcAssetId }}", + "properties": { + "dct:type": { + "@id": "cx-taxo:DigitalTwinRegistry" + }, + "cx-common:version": "3.0" + }, + "privateProperties": { + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ _.url_backend }}", + "proxyQueryParams": "true", + "proxyPath": "true", + "proxyMethod": "false", + "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", + "oauth2:clientId": "{{ _.client_id_backend }}", + "oauth2:clientSecretKey": "{{ _.sec_name_vault }}" + } +} +``` + +The property `asset:prop:type` (deprecated and superseded by `dct:type` - see CX-0002) denotes the type of Asset that +is registered. For all DTRs this property had be set to `data.core.digitalTwinRegistry`. Providers may keep +this redundant property for backward compatibility purposes. + +The HttpDataAddress above configures the following behavior: + +- `baseUrl`: After successful negotiation, the data plane will delegate requests here and forward the answer. For the + DTR, + it's critical that the URL inserted here must end before the /shell-descriptors and /lookup segments. +- `proxyPath`: This string can be either "true" or "false". If set to true, the EDC Data Plane will always forward + the URL-segments added to the request to the dataplane to the backend URL. For example: + If `baseUrl="http://mydtr.com/api/v3"` + and `proxyPath="true"` then an authorized request to `http://dataplane.com/shell-descriptors` will be delegated to the + backend + `http://mydtr.com/api/v3/shell-descriptors` +- `proxyQueryParams`: This string can be either "true" or "false". If set to true, the EDC Data Plane will always + forward query parameters to the backend. For the /lookup APIs of the registry, this is critical. +- `proxyMethod`: This string can be either "true" or "false". If "false", the Data Plane will change the HTTP-Verb to + GET for all incoming requests. As there is no scenario in the Catena-X scope where a business partner manipulates + data in a foreign DTR, it should be set to false. + +If a Data Consumer wants to filter a Data Provider's catalog (assuming both use an EDC-based connector), the following +payload can be used against the EDC Management API's `POST /catalog/request` endpoint: + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@type": "CatalogRequest", + "counterPartyAddress": "{{PROVIDER-DSP-ENDPOINT}}", + "protocol": "dataspace-protocol-http", + "querySpec": { + "offset": 0, + "limit": 50, + "filterExpression": [ + { + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@type": "edc:Criterion", + "operandLeft": "'http://purl.org/dc/terms/type'.'@id'", + "operator": "=", + "operandRight": "https://w3id.org/catenax/taxonomy#DigitalTwinRegistry" + } + ] + } +} +``` + +#### Submodel as EDC Data Asset + +A Data Provider may create one Data Asset per Submodel or bundle them into one - yielding a smaller catalogue hence +better performance. The discovery-sequence does not strictly require uniformity here. Not even the typization via the +EDC-property `dct:type` is functionally necessary. The discovery-sequence is still intact since a Data Consumer will +always know the Submodel's location relative to the Data Plane's `baseUrl` from the submodel-descriptor's `href` field. +The EDC-Asset shielding the Submodel is known from the descriptor's `subprotocolBody` containing the Control-Plane-URL +and id of the EDC-Asset. For more details, see section [Submodel Descriptor in the Digital Twin Registry](#registration-at-digital-twin-registry). + +The following shows an example for registration of a single AAS-Submodel as EDC Data Asset. The +`properties` section is analogous to that of the DTR but additionally holds `hasSemantics:semanticId` with the +`hasSemantics`-prefix resolving to `https://admin-shell.io/aas/3/0/HasSemantics/`. It is recommended and shall signify +the meaning of the Submodel's payload. + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "http://purl.org/dc/terms/", + "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" + }, + "@id": "{{ _.assetId }}", + "properties": { + "dct:type": { + "@id": "cx-taxo:Submodel" + }, + "cx-common:version": "3.0", + "aas-semantics:semanticId": { + "@id": "urn:bamm:io.catenax.asset_tracker_links:1.0.0#AssetTrackerLinks" + } + }, + "privateProperties": { + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ _.url_backend }}", + "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", + "oauth2:clientId": "{{ _.client_id_backend }}", + "oauth2:clientSecretKey": "{{ _.sec_name_vault }}", + "proxyQueryParams": "false", + "proxyPath": "true", + "proxyMethod": "false" + } +} +``` + +There is no normative guidance on how to register multiple Submodels bundled together yet. These bundles may include +all the Submodels of a specific semanticId, all Submodels of an asset or any other arbitrary quality. This may be added +to CX-0002 in future iterations. Even though the IDTA specifies a [Submodel Repository API](https://app.swaggerhub.com/apis/Plattform_i40/SubmodelRepositoryServiceSpecification/V3.0.1_SSP-002), in the context of the +Catena-X architecture it is not strictly necessary to adhere to it. Submodels will be found regardless, +given the URL-path relative to the `baseUrl` is appended correctly to the Data Plane's URL in the `href` field. The only +differences are the changed typization. `proxyPath` parameter should be set `"true"` either way. + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "http://purl.org/dc/terms/" + }, + "@id": "{{ _.assetId }}", + "properties": { + "dct:type": { + "@id": "cx-taxo:SubmodelBundle" + }, + "cx-common:version": "3.0" + }, + "privateProperties": { + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ _.url_backend }}", + "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", + "oauth2:clientId": "{{ _.client_id_backend }}", + "oauth2:clientSecretKey": "{{ _.sec_name_vault }}", + "proxyQueryParams": "false", + "proxyPath": "true", + "proxyMethod": "false" + } +} +``` + +### Usage Policies + +For Digital Twin Registries, Data Providers are encouraged to only extend Data Offers that make no explicit checks to +use-case frameworks (formerly known as `FrameworkAgreements`. The DTR is an Enablement Service that should only be +visible once to every Data Consumer in the DSP-Catalog because it is a meta-data broker for data from multiple +use-cases. Registering it with a Constraint that's specific to a particular use-case would restrict it only to a small +subset of the dataspace. Of course, the DTR could be registered once per use-case but that's not recommended as it +bloats the catalog and requires a lot of consumer-side processing. That's why Offers for a DTR should always +be extended to the dataspace using the at least two Constraints: + +1. Check for an active `Membership` credential. This is agnostic to use-cases but still ensures that a Consumer's VP + is valid and issued by a common trust-anchor. +2. using the DTR as a roadsign in the discovery process is legitimate but requires a set of predefined behavior which + is why there's a `purpose` for the DTR. + +Here's an example + +````json +{ + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "Policy", + "permission": [ + { + "action": "use", + "constraint": { + "and": [ + { + "leftOperand": "cx-policy:Membership", + "operator": "eq", + "rightOperand": "active" + }, + { + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.core.digitalTwinRegistry:1" + } + ] + } + } + ] +} +```` + +For Submodel-APIs, Data Providers must follow the guidelines from their use-case-standards which will usually require +using the constraint checking for the associated use-case framework and the corresponding credentials. + +## Data Provisioning + +### Regulatory Compliance and Security + +The services of this Kit will in many instances hold sensitive data. While sound access management is a prerequisite for +every webservice, it is especially important in case of the DTR and Submodels. As they hold competitively sensitive +data,unauthorized access is not only a data leak but a potential violation of regulatory compliance such as anti-trust +law. + +That's why there are a couple shared requirements that DTR-deployments must adhere to: + +- If a Data Consumer has no legitimate interest, a AAS-descriptor must not be returned when requested. +- If a Data Consumer has a legitimate interest, a AAS-descriptor must not include any data (like `specificAssetIds`)of + companies other than the involved Data Provider and Data Consumer. +- If a Data Provider wants to share data publicly, a AAS-descriptor must only contain the + attributes `id`, `submodelDescriptors` + and those `specificAssetIds` that were issued by the Data Provider and contain no hints of existing business + relationships. + +As the above properties are exposed not only via the AssetAdministrationShellRegistry interface but also the Discovery +interface (via the `/lookup/shells` endpoint), it must not serve more data than specified above. + +### Versioning + +Versioning in the Catena-X network is an essential task. This holds true for Digital Twins more specifically, too. The +network builds on several specifications where changes in API or specifications could break existing communication +channels. +In a simple scenario (where the Data Provider offers access to a Submodel via DTR and a Data Consumer GETs both +resources), these are the layers of complexity: + +| Versioned Object | Presence in the DT-Discovery Process | Description | Method to increment | +|--------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataspace Protocol | 12, 22 | The body of the `{{consumerControlPlane}}/v2/catalog/request`-request includes a reference to a versioned endpoint of a business partner's DSP endpoint like `{{providerControlPlane}}/api/v1/dsp` | As the design of the EDC's `/catalog/request`-API is an implementation detail, Consumers must consistently monitor its versioning. As the EDC-Management-API abstracts the DSP-messages, changes in the DSP may reflect in the Management-API but will not always do so. If a Consumer application decides to interact with the dataspace without mediation of the EDC, this changes. | +| AAS Specification | 4, 5, 15, 25 | For all AAS-related EDC-Assets (styled as dcat:Dataset in the catalog), a property cx-common:version must be added referring to the major and minor version of the AAS-spec. | For a major change in the AAS-spec, a new set of Catalog entries must be created by the Data Provider in accordance with the standards. For minor changes (AAS 3.x), Data Providers must signal the version in the `https://w3id.org/catenax/common#version` property of their contract offers and update it with each minor or patch update that's supported. Minor versions must also be signalled in the `submodelDescriptor`.`ìnterface`.`protocol` property. If the Submodel API increments with a major version, a new `interface` object must be added to the `submodelDescriptor`. | +| Data Model Version | 5, 21, 29 | The structure of the Submodel is determined by the aspect-model's URN. It includes a section on versioning. | A new version of the semantic model requires either setup of a new Submodel (with a new Submodel ID and the new semantic ID) or update of an existing submodel-descriptor (with updated semantic ID). This includes updating registration information at the DTR. Rules on backward compatibility need to be considered. It may be requested to offer two Submodel versions at the same time. | + +Here's a list of duties for Data Providers in case they integrate a new Submodel (or version of an existing one) to an +existing +twin: + +- Expose a new Submodel to the Dataspace. If its URL is a subpath of one that's already registered as a EDC-Asset, + there is no need to specifically register it as a new EDC-Asset and create a Contract Definition for it. However, + if there is no such EDC-Asset, that's what a Data Provider must do: create an EDC-Asset, connect it to policies via + the contract-definition-API and let consumers negotiate for it. +- If assetIds are known, the aasId can be discovered via + `GET https://mydtr.com/api/v3/lookup/shells?assetIds=foo&assetIds=bar`. The query-parameters' values are base64url- + encoded `specificAssetId` objects. If multiple shall be logically AND-chained, a Consumer must use the query- + parameter-key `assetIds` multiple times. +- `POST https://mydtr.com/api/v3/shell-descriptors/{{aasId}}/submodel-descriptors` with the (known or obtained) + aasId in the path and the new submodel-descriptor in the body of the request. The attribute `semanticId` is + mandatory for submodel-descriptors in Catena-X. As defined in CX-0002, semanticIds in Catena-X are aspect-model-urns + (see CX-0003) including a version. + +### Patterns for Submodel Deployment + +Data Providers will usually follow one of two patterns: + +1. Digital Twin Repository: Deploying a dedicated Repository for the persistence of digital twin submodels and related + data is the most convenient way to get started with the AAS. It bears the risk of data duplication and introduces + the necessity for synchronization mechanisms while on the other hand reducing computational load on the authoring + systems that the data originates from. +2. Delegation: Wrapping an existing API with the AAS-Submodel API yields as a facade that is compliant to CX-0002. + The wrapper delegates the incoming requests to the respective backend system. This is feasible in the + Catena-X dataspace since offering data to the network requires mappings that are naturally dependent on the data's + source format. More on data integration can be found in the corresponding [CX e.V. guide](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Onboarding/DataIntegrationPatterns_Guide_Final_V1.pdf). Equipping each + Business Application with a Submodel-API-Wrapper will lead to a landscape of multiple Submodel-APIs that are + linked by the DTR and visible in the Dataspace via a DSP-Connector. + +Both approaches are architecturally valid. Data Consumers do not have to be aware about the deployment pattern employed +by the Provider - the traversal and discovery algorithm will work either way. + +### Patterns for DTR Deployment + +While it is generally possible to equip a Business Application not only with a Submodel- but also a DTR-facade, it is +generally bad practice. There should only be a single DTR in a Provider's catalog. If there were multiple, a Consumer +would have no way of knowing which DTR holds the relevant data, forcing him to iterate over all DTRs. This would +exponentially increase the number of HTTP calls necessary to retrieve the relevant data. + +Usually, a DTR will implement a persistence with the specified AAS-APIs for data ingestion specified in the SSP-001 +profile of the AssetAdministrationShellRegistryService by means of POST endpoints, updatable with PUT and PATCH +requests (see [reference implementation](https://github.com/eclipse-tractusx/sldt-digital-twin-registry)). These APIs should only be accessible by the Data Provider (for instance +by introduction of proper access control scopes or setting `proxyMethod = false`, see [registration](#digital-twin-registry-as-edc-data-asset)). Delegation +as backend integration pattern is more inconvenient as the DTR must process and return reproducible IDs not only for +the assets but also for the AAS - this is hard to realize in a pure stateless implementation. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/assets/img/DTKIT_high_level_arch.svg b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/assets/img/DTKIT_high_level_arch.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/assets/img/DTKIT_high_level_arch.svg rename to docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/assets/img/DTKIT_high_level_arch.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/assets/img/DTKIT_pictogram_blue.png b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/assets/img/DTKIT_pictogram_blue.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/assets/img/DTKIT_pictogram_blue.png rename to docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/assets/img/DTKIT_pictogram_blue.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_adoption-view.md new file mode 100644 index 00000000000..df827322a74 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_adoption-view.md @@ -0,0 +1,103 @@ +--- +id: Adoption View Digital Twin Kit +title: Adoption View +description: 'Digital Twin Kit' +sidebar_position: 2 +--- + + + +![DT Kit Pictotogram](/img/kit-icons/digital-twin-kit-icon.svg) + +### Digital Twin KIT + + +## Vision & Mission + +### Vision + +The aim of the Digital Twin Kit is to trace parts and materials across the entire value chain to enable data driven use +cases over all n-tier levels without compromising data sovereignty. This Kit enables data and app providers to deliver +solutions for building data chains and to send quality notifications on all levels and industries. + +The Kits purpose is to provide the Catena-X Automotive Network with a uniform infrastructure to enable data-level +interoperability between Business Partners. Regardless of the data's provenance, the Kit sets the scene +for a comprehensive landscape of distributed Digital Twins of assets (mostly parts) along the entire lifecycle of the +supply chain. + +### Mission + +The Digital Twin Kit bundles the necessary standards, APIs, interaction patterns and reference implementations on how +to build a Digital Twin for an asset. By adopting established standards and integrating them, the Digital Twin Kit leverages +the conceptual and implementation work of existing communities while contributing feedback and Open-Source-Contributions +back to the public. A priority is the seamless integration with other Catena-X developments such as the +[Connector Kit](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit). + +### Customer Journey + +With the Digital Twin Kit, all roles mentioned in the [Operating Model Whitepaper](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/CX_Operating_Modelv2.1_final.pdf) +are given the necessary tooling to format their data and APIs in a standardized manner. + + +## Business Value & Business Processes + +Point-to-Point integration between Business Partners is challenging. On the one hand, all questions of sovereignty, +authorization, authentication must be agreed upon and implemented. In the Catena-X network, that is covered by the +[Connector Kit](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) and the services it relies on. + +What this Kit adds is a set of technologies to reduce the integration efforts on the data level. Data Consumers can +develop their applications against data formats and interfaces that are standardized encouraging client-side reuse. +Consequently, data providers present data agnostic to who will consume the data from. This reduces the investment necessary +to onboard to additional Catena-X use-cases significantly. Consuming applications can be substituted seamlessly as +they are developed against the relevant Catena-X standards - further lowering the bar of entry for new applications in +the ecosystem. + + +## Use Case + +### Status Quo / Today’s challenge + +This Kit's aim is not to solve a dedicated business problem. It is an infrastructure component, critical for scalable +data sharing and integration. It does however deliver a broad set of capabilities that the use cases can leverage, namely: + +- Well-defined API structures extensible by domain models. Each use case will want to share different data but make it +available in a shared manner. (see [Submodel API](https://eclipse-tractusx.github.io/api-hub/)) + +- A distributed infrastructure of central and decentral components integrating on the one hand with backend-systems +in existing enterprise IT and on other hand with the Dataspace. + +- Extensive meta-model to create a virtual representation of assets across their entire lifecycle. + +### Example + +The [Traceability Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Adoption%20View%20Traceability%20Kit#logic--schema) +and the [Data Chain Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Data%20Chain%20Kit/Documentation/irs_arc42) +build on Digital Twins and leverage many of this Kit's content. The Data Chain Kit would be unimagineable without the +pre-defined endpoint- and payload-definition that is the Digital Twin Kit. Likewise, +coupling the chains' elements would be impossible without a unified hierarchical structure running with all participants. +For more information how specifically the Asset Administration Shell is used, consult the Kits. + +## Additional Resources + +### CX-Standards + +Links open html. + +- [CX - 0001 EDC Discovery API](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) *(version 1.0.2)* +- [CX - 0002 Digital Twins in Catena-X](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX)*(version 2.2.0)* +- [CX - 0003 Semantic Aspect Meta-Model](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel)*(version 1.1.0)* +- [CX - 0053 BPN Discovery Service](https://catenax-ev.github.io/docs/next/standards/CX-0053-BPNDiscoveryServiceAPIs) *(version 1.1.0)* + +### Terminology + +CX-0002 includes a figure on how the terms (also used in this Kit) interrelate. Check it out [here](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX#123-asset-administration-shell) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_changelog.md new file mode 100644 index 00000000000..0622869f3c3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_changelog.md @@ -0,0 +1,106 @@ +--- +id: Digital Twin Kit Changelog +title: Changelog +description: 'Digital Twin Kit' +sidebar_position: 1 +--- + +![DT Kit Pictotogram](/img/kit-icons/digital-twin-kit-icon.svg) + +### Digital Twin KIT + +All notable changes to this Kit will be documented in this file. + +## [2.0.1] - 2024-08-01 + +### Changed + +- updated links and bugfixes + +### Removed + +- rendered openApi Docs + +## [2.0.0] - 2024-05-02 + +### Added + +### Changed + +- Changed banner image file location and converted .png image to .svg +- Adopted the changes to R24-05. Breaking changes: + - replacing the property `"asset:prop:type": "data.core.digitalTwinRegistry` with `"http://purl.org/dc/terms/type":"https://w3id.org/catenax/taxonomy#DigitalTwinRegistry` +- Corrected multiple minor inconsistencies and feature requests + +### Removed + +- ./. + +## [1.2.0] - 2024-03-02 + +- Added more details on interaction patterns +- Added guidance on confidentiality classification of properties +- bugfixes, clarifications + +## [1.1.0] - 2023-12-05 + +### Added + +- remarks on versioning +- guidance for adding submodels to existing twins + +### Changed + +- A couple of clarifications and bugfixes for R23-12 +- Version of Kit incremented as minor revision since no breaking changes occurred. + +## [1.0.0] - 2023-08-17 + +### Added + +- version from release + +### Changed + +- couple of bugfixes raised by reviewers + +## [0.2.0] - 2023-08-08 + +

                        Added

                        + +- Additional figure on terminology +- section on entire discovery mechanism +- pictograms + +

                        Changed

                        + +- Clarification on decentralization of registries +- Minor improvements based on stakeholders' feedback +- figures optimized for dark backgrounds +- example data adjusted to standards for CX R3.2 + +

                        Removed

                        + +- ./. + +## [0.1.0] - 2023-07-12 + +

                        Added

                        + +- Initial version of the Kit including adoption, operation and development view incl. all relevant API specifications. + +

                        Changed

                        + +- ./. + +

                        Removed

                        + +- ./. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_software-operation-view.md new file mode 100644 index 00000000000..0976695305b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Digital Twin Kit/page_software-operation-view.md @@ -0,0 +1,53 @@ +--- +id: Operation View Digital Twin Kit +title: Operation View +description: 'Digital Twin Kit' +sidebar_position: 3 +--- + +![DT Kit Pictotogram](/img/kit-icons/digital-twin-kit-icon.svg) + +### Digital Twin KIT + + + +Based on the information provided in this kit, it is possible to run and program against an infrastructure of +Digital Twins the Catena-X-way. This infrastructure empowers Data Consumers to consume the network's data as agreed with +each Data Provider and facilitated by an Operating Company. They run central and decentral services that allow them to +discover each other, exchange information and contextualize it according to a standardized semantics. + +The APIs for digital twins are based on the specifications of the Asset Administration Shell (AAS) as defined in +CX-0002. + +## Deployment + +| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | +|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| +| Discovery Finder | A microservice resolving a type of specific asset identifiers, e.g. `manufacturerPartId` or `intrinsicId` against a set of BPN-, and EDC-Discovery Servers hosted at Catena-X operating companies. These identifiers are often shared across use-cases (see [Industry Core](../Industry%20Core%20Kit/Software%20Development%20View)) but are not specified by the DT Kit and standards. | [Tractus-X Discovery Finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | +| BPN Discovery | A microservice resolving a particular specific asset identifier (consisting of its type - defined above - and the value for a particular asset) against the registered [Business Partner Number](../Business%20Partner%20Kit/page_adoption-view.md#business-value) of its owner. This is useful in discovery when the location of data on a particular asset is unknown. | [Tractus-X BPN Discovery](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | +| EDC Discovery | A microservice that resolves a BPN against a list of EDC endpoints. It is populated during onboarding and is the last step of the discovery sequence preceeding the DSP-interaction starting with the catalog-request. | [Tractus-X Portal including EDC Discovery API](https://github.com/eclipse-tractusx/portal-backend) | CX - 0001 | +| Digital Twin Registry | A registry for digital twins. Here, a provider publicises digital representations (digital twins) of the assets the participant has data on. This data is encapsulated in submodels accessible via instructions that a consumer will find in the Digital Twin Registry (DTR). The DTR adheres to the [AssetAdministrationShellRegistryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/AssetAdministrationShellRegistryServiceSpecification/V3.0_SSP-002#/) and the [DiscoveryServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/DiscoveryServiceSpecification/V3.0.1_SSP-001) and thus contains only meta-data. | [Tractus-X Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 | +| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. It delivers the actual data that the consumer is looking for via a structured endpoint defined by the [SubmodelServiceSpecification](https://app.swaggerhub.com/apis/Plattform_i40/SubmodelServiceSpecification/V3.0_SSP-003) and according to the structured data formats defined in the [Semantic Models Repository](https://github.com/eclipse-tractusx/sldt-semantic-models). | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service),
                        [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk),
                        [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | + +![High Level Architecture of an App leveraging the Digital Twin Kit](assets/img/DTKIT_high_level_arch.svg) + +- IDSA: [International Data Spaces Association](https://internationaldataspaces.org/) +- IDTA: [Industrial Digital Twin Association](https://industrialdigitaltwin.org/) +- OpCo: Operating Company. Also called Core Service Provider A in + the [CX Operating Model](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). + +## Setup Guide + +Detailed guidance on setup of the abovementioned components can be found in the repositories of their linked reference +implementations. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 Contributors of the Eclipse Foundation +- Source + URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitBlockDiagram.png b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitBlockDiagram.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitBlockDiagram.png rename to docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitBlockDiagram.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitBusinessArchitecture.png b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitBusinessArchitecture.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitBusinessArchitecture.png rename to docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitBusinessArchitecture.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.svg b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.svg rename to docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitCustomerJourney.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.drawio.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.drawio.svg rename to docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.drawio.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.svg b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.svg rename to docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/assets/CatenaX_ESS_KitSequenceView.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/changelog.md b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/changelog.md new file mode 100644 index 00000000000..4ebed9b2cb2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/changelog.md @@ -0,0 +1,58 @@ +--- +id: ESS Kit Changelog +title: Changelog +sidebar_position: 1 +--- + +![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) + +## [0.3.0] - 2024-07-11 + +### Added + +- add reference to Code of Conduct that will be published on Web page +- add description of Occasion-related tracking in broken supply chains + +### Changed + +- changed link to video about ESS customer journey + +### Removed + +## [0.2.0] - 2024-05-23 + +### Added + +chapters for Code of Conduct in Adoption View + +### Changed + +- replace picture CatenaX_ESS_KitCustomerJourney +- moved pictures from folder static to folder asset within ESS-Kit + +### Removed + +## [0.1.0] - 2024-03-06 + +### Added + +- Initial installation of the kit + +### Changed + +### Removed + +## Notice + +This work is licensed under the CC-BY-4.0. + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2024 Gris Group +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_adoption-view.md new file mode 100644 index 00000000000..a9cad7bb36f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_adoption-view.md @@ -0,0 +1,236 @@ +--- +id: ESS Kit Adoption View +title: Adoption View +description: 'Environmental and Social Standards Incident Management Kit' +sidebar_position: 2 +--- + +![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) + +## Vision & Mission + +### Introduction + +The German Supply Chain Due Diligence Act came into force on 1 January 2023. This law regulates corporate responsibility for compliance with human rights in global supply chains. These include, for example, protection against child labour, the right to fair wages and the protection of the environment. This legislation can be added to a long list of existing and future legislations that regulate our global supply chains, like the EU Corporate Sustainability Due Diligence Directive (CSDDD), the EU Ecodesign for Sustainable Products Regulation (ESPR), EU Corporate Sustainability Reporting Directive (CRSD), the International Bill of Human Rights, the UN Guiding Principles on Business and Human Rights, the OECD Guidelines for Multinational Enterprises, as well as the ILO core labour standards and the principles of the UN Global Compact. + +Catena-X aims to support supply chain due diligence obligations in a market environment that misses full up- and downstream transparency. This is argued to be relevant for Environmental and Social Standards (ESS) incident tracking, without compromising GAIA-X and Catena-X principles like data sovereignty, interoperability, standardization, and use of federated services. + +The ESS-solution enables companies to search for ESS incidents in their supply chain and thus covers the "occasion-related tracking of ESS-related incidents" for the Supply Chain Act. Basically there are two search directions: The bottom - up search starts at the Incident Originator and works downstream up to the OEM. The top - down search always looks towards the direct suppliers and works upstream. + +### Vision + +As companies governed by environment and social standards (ESS), we would like to determine, if we are affected by an incident reported in the global supply network. Consequently, we could prove to be fully compliant with legal requirements, including but not limited to the German Supply Chain Due Diligence Act. + +### Mission + +The automotive supply network is described as highly complex and globally interwoven. It operates in a heterogeneous political and environmental context with many different ambitions. The current challenges for cross-company ESS incident management are described by: + +- High manual effort of a small set of experts that work in their own silos and focus on company-centric investigation. A problem accentuated at the level of small and medium enterprises (SME), +- Low network collaboration and by that long processing time amongst business partners, +- Lack of trust to share data, amongst many intermediates, +- Varying quality of information and sources. + +Our mission is to streamline the handling of incidents reported to the Catena-X network. The ESS KIT supports cross-company ESS incident management with appropriate processes. This radical change from our organization-centred model would mitigate the challenges listed above. The ESS KIT consists of the following building blocks: + +- Standards to guarantee data sovereignty and data security, like the Connector KIT (EDC), Business Partner KIT and Agents KIT, as well as our standards, +- Standardized data model accompanied with a defined tracing process to reduce processing time for an incident. + +### Business value + +If Catena-X members want to minimize their ESS risk and bring transparency into their supply chains, there is a strong need to collect knowledge and reliable information. Arguably, the primary added value of the ESS KIT is our simplified cross-company communication coupled with the Clearing Agency concept. + +With the Clearing Agency in place, business partners subscribing to the ESS KIT, can with confidence collect incidents from multiple actors and a broad range of sources (e.g. receiving incidents from company's internal incident management systems or from public news reports and automated information gathering). The Clearing Agency, as an independent body will among other activities reduce fraudulent cases and consolidate information of potential incidents. + +The processes of the ESS KIT will transfer information in the respective supply chains to efficiently zero-in on the relevant business partners. So, with the ESS KIT, the members of the Catena-X network are enabled to act quickly due to collaboration and standardization. + +Furthermore, the ESS KIT allows for quick adaptation to new national and internal laws and helps ensure legal compliance through enhanced supply chain transparency and verification. + +Thus, the ESS incident KIT offers a uniform and cross-sectoral grievance mechanism for managing incidents related to specific occasions, filling a gap that currently exists. + +## Use Case + +### Prerequisites + +The scope of our business is the prompt handling of incidents reported to the Catena-X network. The following prerequisites are necessary for the ESS KIT: + +- High number of Catena-X members need to be onboarded to cover our supply chains and increase the success rate of the tracing of incidents, +- Catena-X members agree to a Code of Conduct, +- The member needs to follow the onboarding process. + +### Customer Journey: Occasion-related tracking of ESS-related incidents + +This customer journey describes the process when an incident is reported to the Catena-X network. From the determination that needs to be made regarding its relevance to the business partners and further processing. + +This KIT support **the detection of incidents** from different sources (manual or automated), before being categorized by incident types / sub-types. The unstructured information (text and/or pictures) about each incident will be collected along with country-, company-, material-related data if available (note: no BoM data collected). The quality of the incident data is not guaranteed at this stage and for some cases, the investigation may be challenging due to insufficient information about the supply network. + +The Clearing Agency is prompted to **clear incidents.** This independent body has the tasks among others, to improve quality of data and reduce fraud or fakes. This includes but is not limited to, manual search and input from expert, consolidation of reports of the same incident and finally accept or archive incidents. Once the Clearing Agency found that the incident's originator is a Catena-X member, the Clearing Agency can use Catena-X Services find out the BPN-L, BPN-S and the EDC endpoints of the incident originator. We assume that a unique ESS incident ID will be provided. Then the ESS incident is transferred to the incident originator via the Catena-X network. In case no Catena-X member can be identified as incident originator or L0, the Clearing Agency will maintain the corresponding status "no member found". +If no Catena-X member can be identified, from a Catena-X network perspective, this supply chain is broken or incomplete. This is described in the chapter about Occasion-related tracking in broken supply chains, see below. + +The **investigation of the ESS-related incident** is used to determine the cause of the reported incident. All business partners involved work to identify and confirm the origin of the incident. Once the source is identified and confirmed, a decision is made by the business partners whether to accept or reject the ESS-related incident. + +**The trace of an incident** is operated through the decentral Catena-X supply network. The process moves from business partner to business partner in their supply chain with the incident originator as the starting point for a bottom - up approach and at the OEM for a top - down approach. + +The use case ESS believes that the most promising way to solve an ESS incident will be a bottom - up approach. This is described here. + +It means that the transfer of information is initiated by the L0 who identifies its impacted customers (L1) using the bottom-up search logic (for example Knowledge Agent). The impacted customers (L1) can then push the information down the supply chain (i.e. their impacted customers or L2) and so on until it arrives at the end of the chain (i.e. OEM). + +The trace of an incident follows previously mentioned principles along any obligations enforced by law. For any business partner in the supply chain, its access to the status/information related to a specific incident will depend on its degree of relationship with the impacted company: + +- **Level 0 (L~0~):** the incident report is targeting the company directly. At that level, the incident manager of the L~0~ can consult all the relevant information and will manage the status and response. + +- **Level 1 (L~1~):** those business partners have a direct relationship with the L~0~. As already supported in existing legislations, L~1~ business partners will have access to the status of the incident and the full information of the potential incident at the L~0~. + +- **Level n (L~n~):** those business partners have an indirect relationship with the potential incident originator (L~0~). They will receive from the previous business partner (L~n-1~) the anonymized incident information (anonymized title & description, category, status, etc.) along with the degree of relationship (i.e. their distance to the L~0~). The incident originator's identity (L~0~) and the path from L~0~ to L~n~ in the impacted supply chain will not be communicated, nor documented. + +- **Clearing Agency:** these users can see the status and the original intake of information of all incidents. The Clearing Agency will only be able to identify the targeted business partner (L~0~) who is handling the incident. Finally, if the incident can be closed by the L0, the Clearing Agency will receive a status update. + +**Note:** For the top - down approach with IRS recursive this is not applicable because no information about the ESS incident is transferred between Business Partners. See [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit/) for further details. + +![ESS_KitCustomerJourney](assets/CatenaX_ESS_KitCustomerJourney.svg) + +**Note:** There is an explanatory video published on youtube. [ESS video]() + +### Customer Journey: Occasion-related tracking in broken supply chains + +If no Catena-X member can be identified within the Catena-X network, other external sources could be used to identify the missing suppliers and fill the gaps that are relevant for this ESS incident. + +For each supplier that could be found, the Clearing Agency would need to check against the Catena-X network if a BPN is available or not. The identified supplier (there could be more than one), who is a member of the Catena-X network, will be assigned as the ESS incident moderator for this ESS incident. The incident moderator can be addressed via the EDC endpoint of the Business Partner and is most likely the incident manager of this Business Partner. +Now, the tracing of an ESS incident can continue as described above. The ESS incident moderator shall trace the supply chain both upstream (towards his suppliers) and downstream (towards his customers). For Business Partners, that are members of the supply chain, the Catena-X network and its services can be utilized, for Business Partners, that are not in the Catena-X network other means of communication must be used. + +### ESS Incidents personas + +#### Incident Issuer + +| **Short Description** | **Task / Responsibilities** | +|-----------------------------|-----------------------------| +| Issuer can be any person or institution | Raise ESS-related incident in a structured or unstructured manner | +| Not necessarily an ESS expert | Ambition to make ESS-related issue transparent and visible with as much information as possible | +| Can be either internal (e.g. auditor or employee) or external (e.g. business partner, individual, NGO, automatic-detection) | Committed to provide relevant information to properly address the ESS-related incident to the right business partner/ organizational unit | +| Uses either formal contact point (Catena-X Incident App, Catena-X Webpage, Company Webpage) or any kind of (social) media to issue ESS-related incident | | +| Potential contact to incident manager (ESS), human rights officer/risk management specialist | | + +#### Incident Manager + +| **Short Description** | **Task / Responsibilities** | +|-----------------------------|-----------------------------| +| Operational internal role/ central function that covers incidents as primary responsibility | Recording of ESS-related incidents | +| Follows statutory requirements and incidents through each process step until closure | Assignment of the ESS-related incident to the correct category with as much information as possible. Categories are: Violation of environmental and/or social standards | +| First contact and dispatcher for ESS-related incidents and incident status | Rejection or acceptance of ESS-related incident | +| Incident-Manager to get in contact with (e.g. sustainability@...) | Assignment of ESS-incident to internal business partner | +| SME/Business Partner for human rights officer, sustainability manager product/corporate, audit (internal, external) | Collaboration & cooperation with business partners and internal units | +| Potential contact to incident issuer (ESS) | Agreement of binding measures with relevant SMEs/ Business Partners | + +#### Clearing Agent + +| **Short Description** | **Task / Responsibilities** | +|-----------------------------|-----------------------------| +| Operational internal role/ central function that covers incidents as primary responsibility | Receives incident from various sources | +| First contact and dispatcher for ESS-related incidents and incident status | Reduce fraud / identify fake incidents | +| | Consolidate incidents (no multiples) | +| | Set / maintain central incident status and anonymized information (respectively one-up/one-down, decentral, data-sovereign, "flag" to allow sharing) | +| | Forward information to L0 of cleared ESS incident or archive of ESS incident | +| | Transfer ESS incidents to archive | + +### Semantic models + +Catena-X offers various semantic models depending on the specific application and KIT. They establish a fundamental understanding of the data and its connections, facilitating compatibility between different data sets. The data models of Catena-X prioritize principles such as clarity, standardization, distinction, verifiability, and comprehensiveness. + +The data model follows the Catena-X Standard [CX-0144]() and is modelled following the Standard [CX-0003](). Below, you can find an excerpt of the full data set: + +#### ESS Incident Information + +| **Attribute Name** | **Description** | **Example** | +|-----------------------------|-----------------------------|-----------------------------| +| Category and sub-category  | Environmental and social standards related incident category according to Supply Chain Due Diligence Act  | Environmental (e.g., usage of mercury, usage of harmful chemicals) \| Social (e.g., child labour, work safety, discrimination)  | +| Subject and description  | Title of an incident in the context of ESS (Environmental and Social Standards) with its description  | Child labour in country x for product y reported. Small children under the age of 15 clean barrels with bare hands and under dubious working and payment conditions.  | +| Attachment(s)  | Picture(s) about the reported incident in the context of ESS (Environmental and Social Standards)  | Upload picture about child work in country x for product y or upload other additional documents/reports  | +| Date  | Date and time information when an incident occurred  | 2022-08-31T00:00:00Z  | + +#### Product Information + +| **Attribute Name** | **Description** | **Example** | +|-----------------------------|-----------------------------|-----------------------------| +| Description  | Description of product or component affected by an incident in the context of ESS (Environmental and Social Standards)  | Natural Rubber  | +| Raw material  | Raw material that causes an incident in the context of ESS (Environmental and Social Standards)  | Mercury \| Cobalt \| Natural Rubber  | + +#### Company Information + +| **Attribute Name** | **Description** | **Example** | +|-----------------------------|-----------------------------|-----------------------------| +| Country subdivision  | Region within a country to which an incident in the context of ESS (Environmental and Social Standards) belongs  | Sao Paolo  | +| Coordinates  | Exact geographic position of an incident in the context of ESS (Environmental and Social Standards)  | Longitude and Latitude (will be entered automatically)  | +| Company name  | Name of a company / an organisation that is the originator of an incident in the context of ESS (Environmental and Social Standards)  | ABC company  | +| Address  | Address of ESS originator (street, zip code, city\...)  | Mainroad 1, 73230 Model City  | +| BpnL / BpnS / BpnA  | BPN-L/S/A of the company that causes the incident  | Rubbery Ltd. (BPN-L: BPNL1234567890ZZ) \| Site in Dingolfing (BPN-S) \| Dingolfing Werksstrasse 1, Tor 2.1 (BPN-A)  | + +#### Contact Information + +| **Attribute Name** | **Description** | **Example** | +|-----------------------------|-----------------------------|-----------------------------| +| First and last Name  | Contact name of ESS incident issuer  | Camille Mustermensch  | +| E-Mail Address  | E-Mail address of ESS incident issuer  | | +| Phone number  | Phone number of ESS incident issuer  | +49 89 123456789  | +| Address  | Address of ESS incident issuer  | XYZ-Road, 73230 Kirchheim  | +| Anonymous  | Flag that Incident issuer wants to be anonymous  | Checkbox: ticked / not ticked  | + +## Business process + +### Business architecture + +![ESS_KitBusinessArchitecture](assets/CatenaX_ESS_KitBusinessArchitecture.png) + +### Access & Usage Policies / Code of Conduct + +#### Code of Conduct of the Catena-X Use Case Sustainability / Environmental and Social standards + +In the Catena-X use case sustainability / environmental and social standards, principles are established with the aim of establishing transparent and trustworthy practices within the Catena-X network. +The [Code of Conduct will be published on the Catena-X webpage](https://catenax-ev.github.io/docs/next/non-functional-requirements/assets/CX-NFR-ESS-Codex_v.1.0_EN.pdf) + +## Standards + +### List of standards + +To participate in the ESS Incident Management use-case, the following single standards must be fulfilled and can be consulted in the [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- CX-0001 EDC Discovery API +- CX-0006 Registration and initial on Boarding +- CX-0013 Identity of Member Companies +- CX-0014 Employees and Technical Users +- CX-0015 IAM & Access Control Paradigm +- CX-0018 Dataspace Connectivity +- CX-0049 DID Document Schema + +### ESS incidents Data model + +- [CX-0144 Use case standards for ESS including the ESS data model](https://catena-x.net/de/standard-library) + +**Note:** For a top - down approach with IRS, an ESS incident does not have to exist in the form of the ESS Incident Data Model. The following parameters are sufficient for an ESS investigation: + +- Catena-X ID of the product whose supply chain is to be investigated [Industry Standard KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit) +- BPNS (Business Partner Number Site) of the company under investigation [Business Partner KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/business-partner-kit) + +Nevertheless an investigation should be triggered only for an ESS incident occasion - related search. + +### List of all other standards used + +The following standards were used in the creation of this Code of Conduct and serve as an additional source of information: + +- ILO Code of Practice in Safety and Health +- ILO International Labor Standards +- ISO 14001 +- OECD Due Diligence Guidance for Responsible Supply Chains of Minerals from Conflict-Affected and High-Risk Areas +- OECD Guidelines for Multinational Enterprises +- Universal Declaration of Human Rights +- United Nations Convention Against Corruption +- United Nations Convention on the Rights of the Child +- United Nations Convention on the Elimination of All Forms of Discrimination Against Women +- United Nations Global Compact +- High Conservation Value Resource Network (HCV) +- High Carbon Stock Approach (HCSA) +- Initiative for Responsible Mining Assurance (IRMA) +- Responsible Business Alliance (RBA) +- Drive Sustainability Guiding Principles +- Farm Animal Welfare Committee (FAWC) +- Terrestrial Animal Health Code +- Act on Corporate Due Diligence Obligations in Supply Chains +- Handreichung zur Umsetzung einer Risikoanalyse nach den Vorgaben des Lieferkettensorgfaltspflichtengesetzes (BAFA) diff --git a/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_documentation.md b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_documentation.md new file mode 100644 index 00000000000..0e1416d9ff5 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/ESS-Kit/page_documentation.md @@ -0,0 +1,50 @@ +--- +id: ESS Kit Documentation +title: Documentation +description: 'What do I have to implement?' +sidebar_position: 3 +--- + +![ESS Kit Icon](@site/static/img/kit-icons/ess-kit-icon.svg) + +## Building block view + +The following figure shows the current high-level architecture of the use case "Occasion-related tracking of ESS-related incidents". + +![ESS_KitBlockDiagram](assets/CatenaX_ESS_KitBlockDiagram.png) + +## Sequence view + +This simplified sequence view shows the process starting from an Input Channel. + +As the use case ESS believes that the most promising way to solve an ESS incident will be a bottom - up approach, this process is the basis for the sequence view. + +The Input Channel can be a whistle-blower, a third-party application, or another Input channel of a CatenaX member. Someone reports an incident and maintains as much information as possible about the incident. The incident is processed at the Clearing Agency. It is enriched with information from CatenaX-Services and then transferred to the CXMemberL0 who is the originator of the incident. + +The Incident originator L0 investigates further about the incident and takes appropriate measures. To identify affected Business Partners along the supply chain, that need to be informed, the CXMemberL0 can use a CX trace solution like recursive IRS or Knowledge Agent. The Knowledge Agent can provide the complex search logic that might be needed to find the affected customers. + +To be able to address the affected Business Partners / Customers via EDC CatenaX-Services can be used. + +Now, the incident traverses upwards within the supply chain to the next levels one by one. + +The CXMemberL1 is related directly to L0, so he will receive detailed information about the ESS incident from CXMemberL0. + +The CXMemberLn is not related directly to L0, so he will receive anonymized information about the ESS incident from CXMemberL1. + +As soon as the ESS incident can be closed, the CXMemberL0 informs the Clearing Agency and the Business Partners in the Supply Chain to close it. + +![ESS_KitSequenceView](assets/CatenaX_ESS_KitSequenceView.svg) + +## Notice + +This work is licensed under the CC-BY-4.0. + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2024 Gris Group +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/Success Stories/BatteryPass_Viewer_App.mdx b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/Success Stories/BatteryPass_Viewer_App.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/Success Stories/BatteryPass_Viewer_App.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/Success Stories/BatteryPass_Viewer_App.mdx diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/changelog.md new file mode 100644 index 00000000000..0dc1985fc65 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/changelog.md @@ -0,0 +1,97 @@ +--- +title: Changelog +--- + +## [1.5.0] - 2024-07-25 + +### 24.08 Added + +- Added Digital Product Pass Verification Section in adoption view +- Added Digital Product Pass Tutorial Section adoption view & software view +- Added Digital Product Passport as Enabler for Circular Economy Whitepaper reference + +### 24.08 Updated + +- Updated DPP model to version v5.0.0 +- Updated BatteryPass to v6.0.0 +- Updated TransmissionPass to v3.0.0 +- Updated DPP Verification add-on in the software development view. + +## [1.4.0] - 2024-05-15 + +### 24.05 Added + +- Add new route to ECO-Pass APIs +- Add Electric Drive Passport model v1.0.0 +- Add Chemical Material Passport model v1.0.0 +- Add passport creation instruction +- Added reference to the digital product pass verification feature coming in 24.05 +- Added description of digital product pass addons + +### 24.05 Updated + +- Update example JSON Objects +- Update Figures +- Update Semantic Models sections +- Update DPP model version to v4.0.0 +- Update BP model version to v5.0.0 +- Update Transmission pass model to v2.0.0 +- Update attribute names + +### 24.05 Removed + +- Remove direct links to standards + +### 24.05 Fixed Issues + +- Fix Typos +- Fix section names +- Fix example json objects +- Fixed points related to digital twin and policy configuration in software dev view + +## [released] + +## [1.0.0] - 2024-03-08 + +### 24.03 Added + +- Added EcoPass KIT Logo +- Added `Digital Product Pass v3.0.0` aspect and explanations +- Added the operation guide based on the Digital Product Pass Admin Guide +- Added `Digital Product Pass v3.0.0` aspect and explanations +- Added new sequence diagrams in software architecture +- Added detailed data retrieval flow +- Added Battery Pass Success Story + +### 24.03 Updated + +- Updated battery pass model to latest version `v4.0.0` +- Updated Business Architecture Diagram + +## [0.1.0] - 2023-08-11 + +### 23.08 Added + +- move KIT to Tractus-X repository +- Updated Software Architecture guide with descriptive documentation + +### 23.08 Issues Fixed + +- Corrected links paths to absolute path + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-adoption-view.md new file mode 100644 index 00000000000..eb9a25d51dd --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-adoption-view.md @@ -0,0 +1,1809 @@ +--- +title: Adoption View +--- + +![EcoPass KIT Pictotogram](/img/kit-icons/ecopass-kit-icon.svg) + +## Introduction + +The EcoPass KIT will be the key enabler for various stakeholders to use digital product passports, which represent a digital collection of specific information about a physical product in a standardized exchange format. This data is governed by agreed-upon ownership and access rights, which are conveyed through the Eclipse Data Space Connector (EDC). The primary purpose of the product passport is to enable the electronic registration, processing and sharing of product-related details among various entities in the supply chain, including several businesses and authorities. The demand for interoperable product passports exists worldwide, driven by the need to establish sustainable and transparent supply chains across different types of products, for which the adoption of standards will become crucial. +In this context, Catena-X offers a decentralized ecosystem supported by standards and principles like data sovereignty, which can effectively implement such a product passport system. The objective of the EcoPass KIT is therefore to: + +- Provide a comprehensive overview of the business context and benefits of product passports. +- Offer guidelines for industry stakeholders. +- Provide a detailed description and offer tools to implement product passports. + +## Vision & Mission + +### Vision: Empowering Sustainability – One Product at a Time + +The EcoPass KIT envisions a future where sustainability is at the core of every product's lifecycle, from design and manufacturing to usage and end-of-life. By fostering transparency, traceability and informed decision-making, we aim to inspire solution and service providers to create innovative, eco-friendly products that reduce environmental impact and drive the global economy towards a circular model. + +### Mission: Unleashing Circularity Potential + +The EcoPass KIT enables the scalable usage of digital product passports in order to address the pressing issue of inefficient resource usage and lack of product transparency. With growing concerns over environmental impact, limited resources and waste generation, there is an urgent need for a comprehensive solution to drive sustainable practices across the value chain. The KIT offers unified data models, a reference application for passport utilization as well as the required API. Low entry barriers will allow you to adapt digital product passports rapidly and pay your contribution to a fully circular value chain without the necessity of vast expertise or resources. Designed for multiple products, the KIT offers scalability, high-quality product information and a set of tools for regulatory compliance. Our mission is to unlock the circular potential of every component and material, fostering a culture of sustainability, innovation, and shared responsibility among all stakeholders. + +All described specifications in the KIT are based on [Catena-X standards](https://catena-x.net/de/standard-library) such as the Asset Administration Shell, SSI and decentral Digital Twin Registry. They refer to other Catena-X KITs like the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/docs/kit/adoption-view/Adoption%20View) (EDC), [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit/) (Item Relationship Service = IRS) and [Business Partner KIT](https://eclipse-tractusx.github.io/docs-kits/category/business-partner-kit/) to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. + +## Business Value + +Following this mission, the EcoPass KIT serves as an instrumental tool promoting sustainable and circular value chains. The improved transparency, traceability and accountability offered with digital product passports will facilitate informed decision-making for various stakeholders. This will bring ethical sourcing, efficient use of resources and reduction of environmental impacts to a new level. By making use of the Catena-X standards defined within the EcoPass KIT, product passports will ensure interoperability for stakeholders and systems to communicate seamlessly. This standardized language is crucial to improve efficiency, lower operational costs and create faster data processing. It ensures a consistent approach to data collection, storage and visualization to enhance the accuracy, reliability and comparability of information. +The following section will highlight the five major advantages of the Catena-X EcoPass KIT, which are also displayed below. + +![AdoptionView Business Value](./resources/adoption-view/adoption-view-BusinessValue.svg) + +**Seamless Integration and Collaboration**: By leveraging the EcoPass KIT, service providers can easily integrate with the Catena-X marketplace, promoting efficient collaboration and exchange of information with other businesses in the network. The unified data model and API specification simplifies the process, reducing the time and resources needed for integration and fostering interoperability between various players. + +**Enhanced Consumer Trust and Brand Loyalty**: Utilizing the KIT to develop solutions for the Catena-X marketplace allows service providers to showcase their commitment to transparency and sustainability. This fosters consumer trust and brand loyalty, as increasingly conscious customers prefer products and services that align with their values and make a positive impact on the environment. + +**Data-Driven Decision Making**: The EcoPass KIT enables service providers to harness the power of high-quality data sets from various sources in the Catena-X network. This wealth of information supports data-driven decision-making, helping businesses optimize their processes, reduce waste and identify opportunities for growth and innovation. Leveraging the dynamic data attributes within a passport, the product's evolving condition can be reflected, which offers a highly valuable increase of knowledge about the product’s behavior, quality and performance. + +**Regulatory Compliance and Risk Mitigation**: By offering solutions based on the KIT, service providers can help businesses comply with evolving regulations and industry standards. The increased transparency and traceability provided by digital product passports facilitate compliance management, offer the creation of certificates, and reduce the risks associated with non-compliance, such as penalties and reputational damage. + +**Competitive Advantage through Innovation**: The KIT's foundation for value-added services and innovative solutions provides service providers with a unique competitive edge in the Catena-X marketplace. By developing and offering cutting-edge products and services that cater to the growing demand for sustainable and transparent solutions, service providers can differentiate themselves in a crowded market and seize new business opportunities. + +## Use Case Explanation + +### Today's Challenges + +Today's globalized supply chains often struggle with transparency, data fragmentation and inefficiencies through the lack of digitally available product information. Traceability becomes difficult, hindering the ability to track products' origins and ensure accountability. Risk management and compliance efforts are compromised, impacting product quality and sustainability. Customer expectations for transparency and sustainability information remain unmet, potentially leading to dissatisfaction and loss of market share. Moreover, supply chains lack the resilience and responsiveness needed to adapt to disruptions effectively. +Embracing a digital product passport can address these challenges, enabling transparent, efficient and sustainable supply chains. Implementing the EcoPass KIT can enable companies to address these challenges by creating a comprehensive, accurate and up-to-date record of their products' lifecycles. This information can be used to improve resource efficiency, optimize recycling processes and reduce waste, ultimately driving the adoption of circular economy principles. + +### How can the EcoPass KIT help to address regulatory challenges? + +- Manufacturers are required to disclose information regarding the environmental impact of their products under the European Union's (EU) Ecodesign Directive. The EcoPass KIT can assist producers in adhering to this rule by offering a digital record of the environmental impact of their products. +- Companies are required to provide information regarding their efforts to address forced labor and human trafficking in their supply chains under the California Transparency in Supply Chains Act (CTSCA). The EcoPass KIT's digital record of a company's supply chain operations can assist businesses to comply with this law. +- Certain manufacturers of products are required to take back and recycle their products at the end of their functional lifespans under the German Waste Management Act (Kreislaufwirtschaftsgesetz). The EcoPass KIT, which offers a digital record of the goods that have been returned and recycled, can assist producers in adhering to this obligation. + +### Ecopass KIT benefits for value chain partners and solution providers + +Stakeholders along the value chain, as well as solution providers can reap the benefits of utilizing KITs in their organization. The Figure below shows an overview of these benefits, further explanation can be found below the illustration. + +![ValueChain Benefits](./resources/adoption-view/adoption-view-ValueChainBenefits.svg) + +**Value Chain Partners** can benefit from the EcoPass KIT especially by bringing the product transparency to a next level which will allow for several areas to increase the company’s value. Multiple risks (e.g. regulatory compliance) can be mitigated, cost and process efficiency may be improved, the strategic knowledge about products increases and the possibility for new business is being established. + +1. **Regulatory Compliance**: Improve compliance with regulations and industry standards by utilizing a digital product passport to demonstrate responsible sourcing, production and waste management practices. +2. **Enhanced Transparency**: Visibility of the product's condition, origins and components will lead to better decision-making and higher resource efficiency. +3. **Efficient Data Management**: Adopting a digital product passport will reduce administrative burdens and facilitate seamless data exchange between stakeholders. +4. **Increased Accountability**: A clear chain of custody for products fosters accountability among value chain participants for product quality, safety and sustainability. +5. **Risk Mitigation**: Comprehensive product data helps value chain participants to proactively identify and mitigate risks, ensuring higher product quality and safety standards. +6. **Strengthened Customer Trust**: Offering transparency of business practices and sustainability efforts builds trust with customers and enhances brand loyalty. +7. **Supply Chain Optimization**: Data-driven insights enable the optimization of supply chain processes to support the integration of sustainable approaches. +8. **Foster Collaborations**: Connecting and sharing information across the value chain facilitates collaboration with other stakeholders to promote joint efforts towards sustainability challenges. + +**Solution Providers** will gain a head start in delivering comprehensive and efficient digital product passport solutions. The pre-built features accelerate time-to-market, reduce costs and ensure a reliable, scalable and compliant system. In addition, solution providers can leverage a KIT as the basis to build their own customized solutions and to offer their customers innovative and value-driven digital product passport services in an efficient and simplified way. + +1. **New Market & Customer Base**: The possibility of developing innovative solutions and providing them through the Catena-X marketplace fosters new market opportunities and scalability of the customer base. +2. **Accelerated Time-to-Market**: The KIT provides the thematical and technical basis to build solutions, significantly reducing the time and resources required to develop digital product passport solutions. +3. **Flexibility and Customization**: While the KIT offers a solid foundation, it is designed to allow solution providers for customizing and tailoring the platform to meet specific needs and preferences of the target market and value chain participants. +4. **Risk Mitigation**: The predefined KIT tools support solution providers in reducing the risk of development errors and vulnerabilities. +5. **Cost Efficiency**: The KIT's standardized data model and open interface simplify the process of connecting to the Catena-X network, reducing the investment needs for integration. +6. **Competitive Advantage**: Adopting the KIT quickly positions solution providers in the market faster with cutting-edge services gaining a competitive advantage. +7. **Alignment with Industry Standards**: The KITs adhere to industry standards, making it easier for solution providers to align with existing supply chain ecosystems and collaborate with other stakeholders. +8. **Data Utilization**: The wealth of data available in the Catena-X network is leveraged to drive innovation and develop data-driven solutions tailored to the unique needs of various industries. + +#### Battery Pass: A real-world example + +In the automotive industry, a Battery Passport or Digital Product Passport for batteries plays a crucial role in ensuring transparency, traceability, and sustainability in the battery supply chain. Here's a real-world example of how a digital product passport might be set up for a battery used in electric vehicles (EVs), including its benefits, illustrated below: + +![BP realWorldExample](./resources/adoption-view/adoption-view-BatteryPass_a_example.svg) + +1. **Battery Manufacturing**: During the production stage, the battery manufacturer collects and records relevant data, such as the battery's unique identifier, type and model, manufacturing date and location, energy capacity and raw materials composition, including the content of critical elements like lithium, cobalt and nickel. +2. **Supply Chain Transparency**: Information about the battery's sourcing, manufacturing and distribution processes is documented, ensuring compliance with environmental and social standards. This includes data on the origin of raw materials, labor practices and the environmental footprint of each stage of the supply chain. +3. **Vehicle Integration**: When the battery is integrated into an electric vehicle, the Battery Pass is linked to the car's unique identification number (VIN), allowing seamless tracking and communication between the battery, the vehicle and relevant stakeholders. +4. **In-Use Performance Tracking**: As the vehicle is used, the Battery Pass continuously collects data on the battery's performance, such as its state of charge, charging cycles and degradation over time. This information is essential for the vehicle owner, car manufacturer and service providers to monitor the battery's health and optimize its lifespan. +5. **End-of-Life Management**: When the battery reaches the end of its useful life, the Battery Passport provides detailed instructions for proper disposal and recycling, ensuring compliance with regulations and facilitating the recovery of valuable materials. The data stored in the Battery Passport helps recycling facilities to efficiently process the battery, reducing waste and promoting a circular economy. + +Throughout this process, the Battery Passport serves as a single, secure, and easily accessible source of information for various stakeholders, such as vehicle manufacturers, suppliers, service providers, regulators and vehicle owners. By implementing a digital product passport like the Battery Pass in the automotive industry, companies can promote transparency, traceability, and sustainability, ultimately contributing to a more eco-friendly and circular economy. +For more information please read the [Battery Pass Viewer App Success Story](./Success%20Stories/BatteryPass_Viewer_App.mdx)! + +### How the KIT can help + +The EcoPass KIT addresses the real-world problem of battery traceability and sustainability in the automotive industry by providing a standardized, easy-to-implement solution for creating and managing digital product passports. Here's how the EcoPass KIT can help and scale in this context: + +1. **Standardization and Interoperability**: The EcoPass KIT offers a unified data model and is planning an API specification, allowing for seamless integration across different stakeholders, including manufacturers, suppliers, service providers and regulatory bodies. This standardization promotes interoperability and streamlines communication throughout the battery lifecycle. +2. **Simplified Adoption**: By providing a comprehensive and easy-to-use KIT, EcoPass can lower the barrier to entry for businesses of all sizes, enabling them to implement digital product passports without extensive technical expertise or resources. This can encourage widespread adoption of the solution, resulting in a larger-scale positive impact on sustainability and traceability. +3. **Scalable Solution**: The EcoPass KIT is designed to accommodate various product types, sizes and applications, ensuring its relevance and adaptability to the evolving automotive industry. This scalability allows the KIT to be utilized for a wide range of battery technologies, facilitating its adoption across diverse sectors. +4. **Enhanced Data Quality and Analysis**: The EcoPass KIT enables the collection and management of high-quality data throughout the product lifecycle. This wealth of information can be used by stakeholders to make data-driven decisions, optimize processes and identify opportunities for innovation and improvement in battery design, manufacturing and recycling. +5. **Facilitated Regulatory Compliance**: With the EcoPass KIT in place, businesses can more easily comply with the evolving regulations and industry standards related to battery traceability and sustainability. The digital product passport provides a comprehensive record of the battery's lifecycle, supporting compliance management and reducing the risk of penalties and reputational damage. + +By providing a standardized, scalable and easy-to-adopt solution, the EcoPass KIT will play a significant role in addressing the challenges of product traceability and sustainability in the automotive industry, promoting a more transparent, environmentally friendly and circular economy. + +## Semantic Models + +Depending on the use case and related KIT, Catena-X provides different semantic models that help to structure and make use of data via semantic information. These models help to provide a basic meaning to the data and their relationship, thereby enabling interoperability between data sets. Catena-X data models rely on principles as understandability, standardization, accuracy, differentiation, auditability, comprehensiveness, and provision of insights to drive improvement actions. The KIT entails the main data models of a Digital Product Passport and Battery Passport, whereat both are justified with an underlying regulation. + +Other specific product passports which are further described in the EcoPass KIT are the [battery](#battery-passport), [transmission](#transmission-passport) and [electric drive](#electric-drive-passport). All of them depend on the generic Digital Product Passport data model. Further data models will follow. + +The goal of these passports is to create unified data models that can be used and adapted across the automotive industry. These data models are modelled according to the [CX-0003](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) SAMM Standard in Version 1.1.0. For detailed information please follow the embedded links to the Catena-X Standard library. + +### Digital Product Passport + +#### Digital Product Passport Introduction + +Digital Product Passports address three needs by the industry: First, they gather all relevant information about a product in a single, digital tool. Second, digital product passports answer increasing regulatory requirements and demand for sustainability information along the value chain of a product. And third, Digital product passports are crucial enablers for circular economies due to their ability to provide comprehensive and transparent information about the lifecycle of automotive products. They play a critical role by fostering transparency, enhancing recycling and reuse, improving maintenance and repairs, and facilitating regulatory compliance. +In the following whitepaper, the role of digital product passports is discussed in relation to the current situation in the automotive industry. + +[Link to the Whitepaper "Digital Product Passports as enablers for Circular Economy".](https://catena-x.net/fileadmin/user_upload/Publikationen_und_WhitePaper_des_Vereins/2407_DPP_Circular_Economy_WP_v1.pdf) + +The collected data is defined via standards specified by the Catena-X network and obtained from the industry. The content of the Product Passport is product-related information that is useful and necessary for the consumer, and other actors who will deal with the product till end of its life, and is limited to the required minimum of the necessary information. +The data model in version `v.5.0.0` corresponds to the Digital Product Passport information required by the proposed Ecodesign Regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)) from March 30th, 2022. In the future, delegated acts for specific product groups would require a product passport to be available for each product. The data model will be updated, as newer versions of the regulation will be published. The latest to the model corresponding version of the document was the [provisional agreement](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CONSIL:ST_5147_2024_INIT) between the EU Council and the Parliament from January 9th, 2024. The text is informal, but the content of the final regulation was agreed between these two institutions. + +It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. + +The Digital Product Passport is the core model and can be used as the root class for other, specific, product models. The latest model `v.5.0.0` consists out of the following information: + +- Passport metadata +- Product identification +- Product operation +- Product handling +- Product characteristic +- Sustainability information +- Materials information +- Commercial information +- Sources (documents) +- Additional data + +References to shared aspects are the following: + +- urn:samm:io.catenax.batch:3.0.0 +- urn:samm:io.catenax.shared.part_classification:1.0.0 +- urn:samm:io.catenax.part_type_information:1.0.0 +- urn:samm:io.catenax.shared.business_partner_number:2.0.0 +- urn:samm:io.catenax.serial_part:3.0.0 +- urn:samm:io.catenax.shared.quantity:2.0.0 +- urn:samm:io.catenax.shared.uuid:2.0.0 +- and indirect references from the above mentioned aspects + +In addition, the Digital Product Passport data model offers the following advantages: + +- **Self-describing**: Which means it has all the details necessary to comprehend what it includes. Different systems can easily interpret the Passport as a result. +- **Extendable**: New information can be added without much difficulty. As a result, the Passport will be able to adapt to the changing requirements. +- **Common semantics**: The model of a generic passport is established in Catena-X which other passes can build upon. + +#### Link to current Digital Product Passport model + +The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.generic.digital_product_passport). For each version there is a separated directory containing the ttl-file and generated samples. + +#### Example Digital Product Passport Payload + +
                        + Payload + +```json +{ + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" + }, + "characteristics" : { + "generalPerformanceClass" : "A", + "physicalState" : "solid", + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" + } + }, + "lifespan" : [ { + "value" : 36, + "unit" : "unit:day", + "key" : "guaranteed lifetime" + } ] + }, + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] + }, + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + }, + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" + } + }, + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + }, + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + } + }, + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } + }, + "additionalData" : [ { + "description" : "Description of an attribute", + "label" : "Maximum permitted battery power", + "type" : { + "typeUnit" : "unit:volume", + "dataType" : "array" + }, + "data" : "23", + "children" : [ { + "description" : "Description of an attribute", + "label" : "Maximum permitted battery power", + "type" : { + "typeUnit" : "unit:volume", + "dataType" : "array" + }, + "data" : "23" + } ] + } ], + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } + }, + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLbi7tAJ8UiMsF" + } + }, + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] + }, + "status" : "original", + "durabilityScore" : "A" + } +} +``` + +
                        + +### Battery Passport + +#### Battery Passport Introduction + +The Catena-X standards, which are crucial to create a more sustainable battery business, serve as the foundation for the data model behind the Battery Passport. The Battery Passport assists in enhancing the traceability and sustainability of batteries by offering a thorough record of a battery's life cycle. This will mitigate the battery industry's environmental effect and make it easier to recycle batteries. + +Due to requirements of the regulation [(EU) 2023/1542](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542) for batteries and waste batteries, a data model for Battery Passport was created, which increases the efficiency of circular economy ecosystems of all partners in the value network. The battery passport is a tool for the exchange of information and enables tracking and tracing of batteries usage information. +The Battery Passport is a standardized data model that will enable stakeholders to access the relevant data. The version of the Battery Passport Data Model `v.6.0.0` consists out of the following information: + +- Passport metadata +- Product identification +- Product operation +- Product handling +- Product characteristic +- Sustainability information +- Materials information +- Commercial information +- Sources (documents) +- Conformity information +- Safety information +- Performance information + +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- and indirect references from the above mentioned aspect + +It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([(EU) 2023/1542](https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. + +#### Link to current Battery Pass model + +The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.battery.battery_pass). For each version there is a separated directory containing the ttl-file and a generated samples. + +#### Example Battery Passport Payload + +
                        + Payload + +```json +{ + "characteristics" : { + "physicalDimension" : { + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" + } + }, + "warranty" : { + "lifeValue" : 36, + "lifeUnit" : "unit:day" + } + }, + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" + }, + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] + }, + "identification" : { + "chemistry" : "Nickel Cobalt Manganese (NCM)", + "idDmc" : "34567890", + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + }, + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" + } + }, + "category" : "SLI" + }, + "performance" : { + "rated" : { + "roundTripEfficiency" : { + "depthOfDischarge" : 90.5, + "temperature" : 20.0, + "50PercentLife" : 89.0, + "initial" : 96.0 + }, + "selfDischargingRate" : 0.25, + "performanceDocument" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "testReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "temperature" : { + "lower" : -18.0, + "upper" : 60.0 + }, + "lifetime" : { + "report" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "cycleLifeTesting" : { + "temperature" : 20.0, + "depthOfDischarge" : 90.5, + "appliedDischargeRate" : 4.0, + "cycles" : 1500, + "appliedChargeRate" : 3.0 + }, + "expectedYears" : 8 + }, + "power" : { + "at20SoC" : 35000.0, + "temperature" : 20.0, + "value" : 40000.0, + "at80SoC" : 39000.0 + }, + "resistance" : { + "temperature" : 20.0, + "cell" : 0.025, + "pack" : 0.55, + "module" : 0.2 + }, + "voltage" : { + "temperature" : 20.0, + "min" : 2.5, + "nominal" : 3.7, + "max" : 4.2 + }, + "energy" : { + "temperature" : 20.0, + "value" : 0.5 + }, + "capacity" : { + "temperature" : 20.0, + "value" : 4.0, + "thresholdExhaustion" : 80.0 + } + }, + "dynamic" : { + "selfDischargingRate" : 0.25, + "roundTripEfficiency" : { + "remaining" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + } + }, + "operatingEnvironment" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "stateOfCharge" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "performanceDocument" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "fullCycles" : { + "value" : 1500, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "power" : { + "remaining" : { + "value" : 40000.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + } + }, + "negativeEvents" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "resistance" : { + "increase" : { + "cell" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "pack" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "module" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + } + }, + "remaining" : { + "cell" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "pack" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "module" : { + "value" : 0.3, + "time" : "2023-12-07T10:39:13.576+01:00" + } + } + }, + "capacity" : { + "fade" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "throughput" : { + "value" : 4.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "capacity" : { + "value" : 4.0, + "time" : "2023-12-07T10:39:13.576+01:00" + } + }, + "energy" : { + "remaining" : { + "value" : 0.5, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "soce" : { + "value" : 50.0, + "time" : "2023-12-07T10:39:13.576+01:00" + }, + "throughput" : { + "value" : 0.5, + "time" : "2023-12-07T10:39:13.576+01:00" + } + } + } + }, + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "hazardous" : { + "cadmium" : { + "concentration" : 5.3, + "location" : "Housing", + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "materialUnit" : "unit:partPerMillion", + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "other" : [ { + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "materialIdentification" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ], + "location" : "Housing", + "materialUnit" : "unit:partPerMillion" + } ], + "mercury" : { + "concentration" : 5.3, + "location" : "Housing", + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "materialUnit" : "unit:partPerMillion", + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "lead" : { + "recycled" : 12.5, + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "location" : "Housing", + "concentration" : 5.3, + "materialUnit" : "unit:partPerMillion" + } + }, + "active" : { + "nickel" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "lithium" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "cobalt" : { + "location" : "Housing", + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "other" : [ { + "location" : "Housing", + "materialIdentification" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ], + "recycled" : 12.5, + "critical" : true, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "lead" : { + "recycled" : 12.5, + "critical" : true, + "impactOfSubstances" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "location" : "Housing", + "concentration" : 5.3, + "materialUnit" : "unit:partPerMillion" + } + }, + "composition" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "location" : "Housing", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + }, + "safety" : { + "usableExtinguishAgent" : [ { + "fireClass" : "A, B", + "document" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "media" : "Dry Powder" + } ], + "safeDischarging" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "meaningOfLabels" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "dismantling" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "removalFromAppliance" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "safetyMeasures" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } + }, + "conformity" : { + "declarationOfConformityId" : "0978234-34567890-01", + "thirdPartyAssurance" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "resultOfTestReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "declarationOfConformity" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "dueDiligencePolicy" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "operation" : { + "intoServiceDate" : "7345-31-31", + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNL6XI3KZ55MzYB" + } + }, + "sustainability" : { + "documents" : { + "separateCollection" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "sustainabilityReport" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "euTaxonomyDisclosureStatement" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "wastePrevention" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "carbonFootprint" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "status" : "original" + } +} +``` + +
                        + +### Transmission Passport + +#### Transmission Passport Introduction + +In July 2023, the European Commission presented a proposal for a regulation addressing the whole life cycle of vehicles, from design to end-of-life, aimed at improving design and end-of-life management of vehicles for a more resource-efficient automotive sector. It would set circularity requirements on vehicle design and production concerning reusability, recyclability, recoverability and the use of recycled content. It would also lay down requirements on information and labelling of parts, components and materials in vehicles. + +As preparation for the implementation of the proposed regulation and its requirements, manufacturers and OEMs within the Catena-X network decided on developing data models for the most commonly used products. + +The Transmission Passport `v.3.0.0` corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a transmission. The consumers can see at a glance the relevant data about the transmission which is installed in the specified vehicle. By incorporating circularity parameters, the Transmission Passport aims to enhance transparency and promote a circular economy within the European Union. Detailed descriptions can be found in the Ecodesign for Sustainable Products Regulation Proposal (ESPR). +The Transmission Passport model `v.3.0.0` includes the following product specific information: + +- Type of drive +- Transmission performance information +- Torque converter information +- Speed resistance information +- Standard gear ratio information +- Transmission spreading information +- Transmission oil information +- Electric machine information +- Electric performance information + +Product unspecific information incudes following information: + +- Passport metadata +- Product identification +- Product operation +- Product handling +- Product characteristic +- Sustainability information +- Materials information +- Commercial information +- Sources (documents) + +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- and indirect references from the above mentioned aspect + +It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. + +#### Link to current Transmission Passport model + +The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.transmission.transmission_pass). For each version there is a separated directory containing the ttl-file and a generated samples. + +#### Example Transmission Passport Payload + +
                        + Payload + +```json +{ + "specific" : { + "serviceHistory" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "oil" : { + "oilType" : [ "Transmission Oil XY" ], + "oilCapacity" : 8.9 + }, + "torqueConverter" : [ "NW 200 TTD" ], + "driveType" : [ "full hybrid" ], + "spreading" : 6.79, + "torque" : 500, + "power" : 300, + "standardGearRatio" : [ { + "gearRatio" : 4.1567, + "gear" : "1" + } ], + "speedResistance" : [ { + "ratedSpeed" : 7800, + "gear" : "1" + } ], + "electricalPerformance" : { + "applicable" : true, + "electricalMachine" : { + "torque" : { + "max" : 180, + "maximumAvailability" : 10, + "continuous" : 178 + }, + "power" : { + "max" : 22, + "continuous" : 16, + "maximumAvailability" : 10 + }, + "speed" : 16700, + "voltage" : 52 + } + } + }, + "generic" : { + "characteristics" : { + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" + } + }, + "warranty" : 60, + "lifeTime" : 500000 + }, + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" + }, + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] + }, + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + }, + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" + } + }, + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + }, + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + } + }, + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } + }, + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } + }, + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLvO2y5Eu4L2hi" + } + }, + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] + }, + "status" : "original", + "durabilityScore" : "A" + } + } +} +``` + +
                        + +### Electric Drive Passport + +#### Electric Drive Introduction + +In July 2023, the European Commission presented a proposal for a regulation addressing the whole life cycle of vehicles, from design to end-of-life, aimed at improving design and end-of-life management of vehicles for a more resource-efficient automotive sector. As preparation for the implementation of the proposed regulation and its requirements, manufacturers and OEMs within the Catena-X network decided on developing data models for the most commonly used products. As well as the transmission, the electric drive is one of such a component. + +The data model corresponds to the [digital product passport](#digital-product-passport) information required by the proposed Ecodesign Regulation and describes the data that is collected and available during the lifespan of a electric drive. The consumers can see at a glance the relevant data about the electric drive which is installed in the specified vehicle. The Electric Drive Passport model `v.2.0.0` includes the following product specific information: + +- General information +- System and performance data +- Inverter information +- E-Machine information +- Transmission information +- Cooling and lubricants information +- Specific documents + +Product unspecific information incudes following information: + +- Passport metadata +- Product identification +- Product operation +- Product handling +- Product characteristic +- Sustainability information +- Materials information +- Commercial information +- Sources (documents) + +References to shared aspects are the following: + +- urn:samm:io.catenax.generic.digital_product_passport:5.0.0 +- urn:samm:io.catenax.transmission.transmission_pass:3.0.0 +- urn:samm:io.catenax.shared.quantity:2.0.0 +- and indirect references from the above mentioned aspects + +It is important to note that the data model contains information/data fields, which are mandatory for the fulfilment of the regulation ([ESPR-2022](<(https://commission.europa.eu/energy-climate-change-environment/standards-tools-and-labels/products-labelling-rules-and-requirements/sustainable-products/ecodesign-sustainable-products_en)>)). It is also worth mentioning that sharing information within the network is based on decentralized technologies and is always based on the individual decision of each provider. + +#### Link to current Electric Drive model + +The semantic models are located [here](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.electric_drive.electric_drive_passport). For each version there is a separated directory containing the ttl-file and a generated samples. + +#### Example Electric Drive Payload + +
                        + Payload + +```json +{ + "specific" : { + "eMachine" : { + "ratedSpeed" : 8000.0, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "permanentMagnetType" : "Ceramic", + "statorDiameter" : 450.0, + "id" : "1785030A72B5752", + "technology" : "ESM" + }, + "transmission" : { + "transmissionId" : "384502A54FC9", + "gearboxStructure" : "Planetary", + "oil" : { + "oilType" : [ "Transmission Oil XY" ], + "oilCapacity" : 8.9 + } + }, + "inverter" : { + "maximumPhaseCurrent" : 700.0, + "inverterCurrent" : 500.0, + "softwareVersion" : "2.525.b" + }, + "generalInformation" : { + "compatibleVehicleTypes" : [ "battery-electric vehicle" ], + "service" : { + "history" : [ "2020-02-15" ], + "lastServiceDate" : "2022-03-03" + } + }, + "systemAndPerformance" : { + "torque" : { + "maximum" : { + "value" : 300.0, + "maximumAvailability" : 10 + }, + "maxAxle" : { + "value" : 300.0, + "maximumAvailability" : 10 + }, + "continuous" : 178 + }, + "gearRatio" : 4.1567, + "power" : { + "maximum" : { + "value" : 200.0, + "ECER85" : 195.0, + "maximumAvailability" : 10 + }, + "continuousRegenerated" : 5.0, + "maxRegenerated" : { + "maxValue" : 200.0, + "maximumAvailability" : 10 + }, + "continuous" : 16 + }, + "voltage" : 400.0 + }, + "electricDriveDocuments" : { + "requiredToolsForDismantling" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "technicalDismantlingInstructions" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + }, + "coolingAndLubricants" : { + "maximumOilPressure" : 4.82633, + "oilCapacityEdrive" : 50.0, + "maximumOilTemperature" : 80.5, + "coolingTopology" : "air-cooled", + "oilTypeEdrive" : "5W-30", + "oilModule" : true, + "minimumOilPressure" : 2.068427 + } + }, + "generic" : { + "metadata" : { + "backupReference" : "https://dummy.link", + "registrationIdentifier" : "https://dummy.link/ID8283746239078", + "economicOperatorId" : "BPNL0123456789ZZ", + "lastModification" : "2000-01-01", + "predecessor" : "urn:uuid:00000000-0000-0000-0000-000000000000", + "issueDate" : "2000-01-01", + "version" : "1.0.0", + "passportIdentifier" : "urn:uuid:550e8400-e29b-41d4-a716-446655440000", + "status" : "draft", + "expirationDate" : "2030-01-01" + }, + "characteristics" : { + "generalPerformanceClass" : "A", + "physicalState" : "solid", + "physicalDimension" : { + "volume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "grossWeight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "diameter" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "grossVolume" : { + "value" : 20.0, + "unit" : "unit:cubicMetre" + }, + "width" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "length" : { + "value" : 20.0, + "unit" : "unit:millimetre" + }, + "weight" : { + "value" : 20.0, + "unit" : "unit:gram" + }, + "height" : { + "value" : 20.0, + "unit" : "unit:millimetre" + } + }, + "lifespan" : [ { + "value" : 36, + "unit" : "unit:day", + "key" : "guaranteed lifetime" + } ] + }, + "commercial" : { + "placedOnMarket" : "2000-01-01", + "purpose" : [ "automotive" ] + }, + "identification" : { + "batch" : [ { + "value" : "BID12345678", + "key" : "batchId" + } ], + "codes" : [ { + "value" : "8703 24 10 00", + "key" : "TARIC" + } ], + "type" : { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + }, + "classification" : [ { + "classificationStandard" : "GIN 20510-21513", + "classificationID" : "1004712", + "classificationDescription" : "Generic standard for classification of parts in the automotive industry." + } ], + "serial" : [ { + "value" : "SN12345678", + "key" : "partInstanceId" + } ], + "dataCarrier" : { + "carrierType" : "QR", + "carrierLayout" : "upper-left side" + } + }, + "sources" : [ { + "header" : "Example Document XYZ", + "category" : "Product Specifications", + "type" : "URL", + "content" : "https://dummy.link" + } ], + "materials" : { + "substancesOfConcern" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "hazardClassification" : { + "category" : "category 1A", + "statement" : "Causes severe skin burns and eye damage.", + "class" : "Skin corrosion" + }, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentrationRange" : [ { + "max" : 2.6, + "min" : 2.1 + } ], + "location" : "Housing", + "concentration" : 5.3, + "exemption" : "shall not apply to product x containing not more than 1,5 ml of liquid", + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + }, + "materialComposition" : { + "applicable" : true, + "content" : [ { + "unit" : "unit:partPerMillion", + "recycled" : 12.5, + "critical" : true, + "renewable" : 23.5, + "documentation" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "concentration" : 5.3, + "id" : [ { + "type" : "CAS", + "name" : "phenolphthalein", + "id" : "201-004-7" + } ] + } ] + } + }, + "handling" : { + "applicable" : true, + "content" : { + "producer" : [ { + "id" : "BPNL0123456789ZZ" + } ], + "sparePart" : [ { + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + } ] + } + }, + "operation" : { + "import" : { + "applicable" : true, + "content" : { + "eori" : "GB123456789000", + "id" : "BPNL0123456789ZZ" + } + }, + "other" : { + "id" : "BPNL0123456789XX", + "role" : "distributor" + }, + "manufacturer" : { + "facility" : [ { + "facility" : "BPNA1234567890AA" + } ], + "manufacturingDate" : "2000-01-31", + "manufacturer" : "BPNLBfN4ucXtBZdg" + } + }, + "sustainability" : { + "reparabilityScore" : "B", + "productFootprint" : { + "material" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "carbon" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ], + "environmental" : [ { + "lifecycle" : "main product production", + "rulebook" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ], + "unit" : "kg CO2 / kWh", + "performanceClass" : "A", + "manufacturingPlant" : [ { + "facility" : "BPNA1234567890AA" + } ], + "type" : "Climate Change Total", + "value" : 12.678, + "declaration" : [ { + "contentType" : "URL", + "header" : "Example Document XYZ", + "content" : "https://dummy.link" + } ] + } ] + }, + "status" : "original", + "durabilityScore" : "A" + } + } +} +``` + +
                        + +## Creation of new passports + +The process for the creation can be structured like following: + +- Preparation phase +- Research phase +- Documentation phase +- Approval phase I. +- Data modelling phase +- Approval phase II. +- Release phase +- Communication & Standardization + +In case of a new proposal, the checking of the already existing passports or aspect models is necessary. If none of the already existing passports or aspect models comply with the proposed requirements a new passport must be requested. + +In case of request from one of the involved companies, the checking of the already existing passports or aspect models is necessary. If none of the already existing aspect models fulfil the request a new aspect model must be requested. + +Development teams should be formed and designated. The team members must be from at least two different companies, that has involvement in the production of the product which the aspect model was requested for. From each of the involved companies subject matter experts should get involved. Involvement of a legal expert is necessary. The lifecycle of the product and the related scenarios should be discovered and documented. Scenarios should be assigned to the responsible parties. All responsible parties should validate their data availability. + +Collection of possible data attributes must be documented in a shared file. The possible data attributes should be aligned with the already existing, related aspect models to avoid duplications. After the list of the possible attributes are agreed on by the responsible parties, for testing and validation purposes other companies should be involved. + +In case of a new or changed aspect model, the changes need to be submitted and requested from the association. The approval is dependent on many different factors. + +Linking with other already existing data models, if reasonable, is mandatory. The data model must be created with the catena-x conform modelling language. + +To get the approval, specific requirements have to be fulfilled. Several iterations between modelling adjustments and reviews can be made. + +Note: Data model creation and standardization will be supported in the association + +![Image: Passport Creation](./resources/adoption-view/passport_model_creation.svg) + +## Business Architecture + +The Business Architecture illustrates the interaction between the EcoPass KIT and other KITs, components, data models, and artifacts used for identity and access management, illustrated by the Figure below. + +![Image: Business Architecture](./resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg) + +The core of the network is to provide interoperability between different applications. For this reason, a common semantic is indispensable. In the Catena-X ecosystem, it has been agreed to use the description language SAMM to describe data models. +To additionally provide a standardized interface, the open standard of the International Digital Twin Association (IDTA) is used, abbreviated as IDTA. This [standard](https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01002-3-0_SpecificationAssetAdministrationShell_Part2_API.pdf) corresponds to the Asset Administration Shell (AAS 3.0). +It is used to discover digital twins and exchange actual usage data. The registration and search of digital twins is done by using the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit) which reference implementation is the [Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/tree/main) in Tractus-X. +To control access to both usage and meta data, the EcoPass KIT relies on the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/docs/kit/adoption-view/Adoption%20View/). Interactions between two parties occur exclusively peer-to-peer via the standardized interfaces of the Connector KIT, based on the International Data Space Protocol. +Data sovereignty is enabled by so-called verifiable credentials. These rely on the technology of Self-Sovereign Identity (SSI) and are enabled through the Connector KIT. In short, consumers must present their signed credentials, defined by a data provider, before a data contract (and thus a data exchange) can take place. It should be mentioned that this concept is still in the prototype phase as of Release 3.2 and will be expanded in future releases. + +## Digital Product Pass Verification + +The Digital Product Pass Reference Implementation has a concept and implementation for the Certification and Verification of Data Aspects in Catena-X. This concept may help adopters from the EcoPass KIT, containing guidelines on how to verify data integrity, after it has been retrieved from the EDC. + +This Catena-X Data Certification/Verification Framework aims to create a second layer of trust over the EDC data exchanges between consumers and data providers. It enables auditors to verify specific attributes or complete aspect models for data providers and allowing consumers to retrieve and verify the "validity" of the verification done. Using a simple wallet, a Data Provider is able to certify its attributes or the complete semantic models from Catena-X and include it in a Verifiable Credential, which can then be verified on the Data Consumer side. + +The concept is the First Aspect Model Verification/Certification Concept in Catena-X. It aims to provide a "lighthouse" for any other aspect model verification/certification that MUST be done in Catena-X using SAMM Aspect Models. +It provides a generic concept for Attribute Verification/Certification by external/internal auditors, and also provides a Self-Testification option for Data Providers to certify their data while still maintaining data sovereighty at all costs. By using the EDC connector for the data exchanges the concept uses the current Catena-X Architecture: + +- [eclipse-tractusx/digital-product-pass/dpp-verification](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification) + +Furthermore, it gives guidance and ready to use components for verifying the data received from their Data Providers. The Digital Product Pass Add-on offers the consumers components like the simple-wallet, an MVP decentral wallet able to issue and verify aspect model Verifiable Credential Documents. It also provides a proof of concept (PoC) in the dpp-backend and dpp-frontend components for complete data payloads to be verified. + +## Tutorials + +The Digital Product Pass Reference Implementation: [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) offers a tutorial for understanding the E2E journey of the EcoPass KIT. This tutorial was presented at the Second Tractus-X Community Days at the Digital Product Pass Introduction Workstream, it contains valuable and technical explanations on how to configure the Digital Twins and the Passport Aspects at the submodel server, easing the learning process of the adopters: + +- [eclipse-tractusx/digital-product-pass/dpp-tutorial](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-tutorial) + +For more information about the Reference Implementation and how the KIT can be adoped consult the [Software Development View](./page-software-development-view.md). + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- Source URL: diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-development-view.md new file mode 100644 index 00000000000..7f5c81a55be --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-development-view.md @@ -0,0 +1,636 @@ +--- +title: Development View +--- + +![EcoPass KIT Pictotogram](/img/kit-icons/ecopass-kit-icon.svg) + +## Introduction + +### General Development Information + +The developer view provides developers with resources to utilize the EcoPass KIT effectively. On the one side developers can learn how to integrate the EcoPass KIT into their applications and to make use of the product passport exchanging feature via the Catena-X network. On the other side, IT-Administrators will learn how to provide the needed passport data and which components are required. +Thereby, this KIT covers various aspects, starting from how the available API Endpoints can be utilized for data models and how to make them available in the Catena-x Data Space. + +### Architecture Overview + +The following Figure shows how the EcoPass KIT (represented by Digital Product Passport Frontend and Backend) is embedded in the overall architecture. + +[![EcoPassKIT IT Arch Picture](./resources/development-view/ecoPassContext.svg)](./resources/development-view/ecoPassContext.svg) + +## Data Retrieval Flow + +In order to achieve a better understanding of the EcoPass KIT data retrieval flow, we can detail a specific example where an user wants to retrieve a specific passport for a asset in Catena-X using the EcoPass KIT (reference implementation [`digital-product-pass`](https://github.com/eclipse-tractusx/digital-product-pass)). + +In the data retrieval flow example below we will imagine that an user wants to retrieve the data related to a Catena-X Digital Product Pass ID he has in his product as form of QR Code and ID: + +[![Sequence Diagramm](./resources/development-view/developmentview-sequence-diagramm.svg)](./resources/development-view/developmentview-sequence-diagramm.svg) + +| ID | CX:XYZ78901:IMR18650V1 | +| --- | ---------------------- | + +As defined in the standard CX-0096 Triangle Document for Digital Product Pass the search id used has the following semantic: + +```html + +CX:: + +``` + +| ID | Description | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `CX` | The "**CX**" argument is the one that indicates that this ID is a Catena-X Search Identificator. | +| `` | The "**manufacturerPartId**" makes reference to the id type of the product. It is the identification the manufacturer gives to a specific part he produced. | +| `` | The "**partInstanceId**" stands to the specific id of the product. This id needs to be registered in the digital twin from the aspect. An example value in case of batteries would be the *batteryDMC_Code*. | + +> *Note*: This identifications as defined in the standard MUST be added to the Digital Twin. For more information consult the [Operation View Guide](./page-software-operation-view.md). + +### Prerequisites + +In order to retrieve data in the Catena-X Network a number of services need to be available and have data register on them. Otherwise the data retrieval would simply not work because the consumer application would not "find" the specific searched asset even if it would be registered in the provider side. + +| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/en/standard-library) | +| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | +| Discovery Finder | A microservice resolving a type of identifiers against a set of BPN-Discovery Servers. Responsible to give the search endpoints for a type of id | [eclipse-tractusx/sldt-discovery-finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | +| BPN Discovery | A microservice resolving a particular assetId against the registered BPN of its owner. Responsible for indicating the BPNs for the IDs registered by the providers | [eclipse-tractusx/sldt-bpn-discover](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | +| EDC Discovery | A microservice that resolves a BPN against an EDC endpoint. Responsible for giving the EDC endpoints of one or more BPNs | [eclipse-tractusx/portal-backend](https://github.com/eclipse-tractusx/portal-backend) - [Code Implementation](https://github.com/eclipse-tractusx/portal-backend/blob/aca855c857aed309cbca03f4f694283629197110/src/administration/Administration.Service/Controllers/ConnectorsController.cs#L178C1-L190C63) | CX - 0001 | +| Digital Twin Registry | An exhaustive list of all Submodel Servers, with link to their assets, adhering to the AAS Registry API. Responsible for having the Digital Twins of the provider and indicating the endpoints to the Passport Aspects. | [eclipse-tractusx/sldt-digital-twin-registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) OR [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) | CX - 0002 | +| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. Where the Passport Aspects are stored | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service), [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk), [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | +| EDC | Main gateaway to the network. In this use case two EDC need be existing, one connected to the Digital Product Pass (EcoPass KIT) [EDC Consumer] and another to the Provider Catena-X components [EDC Provider] | [eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) | CX - 0018 OR [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) | +| Digital Product Pass | The [**EcoPass KIT**] reference implementation. The application responsible for retrieving the passports and interacting with the services listed above. | [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) | CX - 0143 | + +> *Note*: The diagrams match the architecture proposed in the [Digital Product Pass](https://github.com/eclipse-tractusx/digital-product-pass) reference implementation [Arc42](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md) and [Data Retrieval Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data%20retrieval%20guide/Data%20Retrieval%20Guide.md). Using the discovery services from Catena-X + +Here is a diagram of the data retrial flow necessary to retrieve any data from the Catena-X Network without any optimizations: + +[![Data Retrieval Flow](./resources/development-view/dataRetrievalFlow.svg)](./resources/development-view/dataRetrievalFlow.svg) + +### 1. Discovery Phase + +At the beginning we start calling the `Discovery Service` which is responsible for giving us the urls from the `BPN Discovery` and the `EDC Discovery` this two service give us first a `BPN or Business Partner Number` for a specific `id` and the `EDC Discovery` will give you a list of EDC registered by one company's `BPN`. + +### 2. Digital Twin Registry Search Phase + +Once we have a list of `EDCs` we need to find which of this EDCs contain the `Digital Twin Registry` component. We can filter which `EDCs` contain the `Digital Twin Registry` by simply calling for the catalog with the `type` condition of the contract that must have the `data.core.digitalTwinRegistry` standardized type. + +Once we have the list of DTRs we need to negotiate each contract retrieve in the catalog so that we can have the `Contract Agreement Id` which is given by the EDC once the contact is signed and agreed. This id will be used later to request the transfer for the `EDR` token for accessing the `Digital Twin Registry` through the `EDC Provider Data Plane Proxy`. + +### 3. Digital Twin Search Phase + +We need to search for the `Digital Twins` inside of the `Digital Twin Registries`, and once we found it we can start the negotiation for the `submodelDescriptor` we are searching for that can be for example a: `Digital Product Pass`, `Battery Pass`, `Single Level BOM as Built` or a `Transmission Pass`. + +### 4. Data Negotiation and Transfer Phase + +Once we have the submodel we are going to call the [`subprotocolBody`] url of the `endpoint interface` with name `SUBMODEL-3.0`. This will provide for us the asset id to negotiate with the EDC Provider. Once this asset is negotiated we will request for the `transfer` and `EDR` token will be sent to the backend by the EDC Provider, allowing us to query the dataplane url contained in the `href` field of the endpoint interface. And in this way we will retrieve the data using the `EDC Provider Data Plane Proxy`. + +## Technical Detailed Phases + +## 1. Discovery Phase + 2. Digital Twin Registry Search Phase + +At the discovery phase the digital product pass application (EcoPass KIT) will search in the Discovery Service for the following keys: + +| Key | Service Name | +| ------------------ | --------------------- | +| bpn | EDC Discovery Service | +| manufacturerPartId | BPN Discovery Service | + +By searching for this keys the application will find the necessary services and will be able to search for the information needed to start the search for digital twin registries. + +After the discovery phase, the search for digital twin registries is one of the core phases to be done when retrieving data in Catena-X. It is necessary for filtering the EDCs which contain the digital twin registry assets, allowing an optimized search without high waiting times. + +Once the negotiation for the digital twin registries assets are done we would be able to retrieve a catalog for the user to search the serialized Id (key: partInstanceId, example value: batteryDMC_code). + +### Prerequisites for Discovery Phase + Digital Twin Registry Search API + +The following information is required to enable the decentralized search for digital twin registries: + +| Name | Example | Description | +| --------------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Search Id Type | *manufacturerPartId* | The search id type is required first of all to know in which `BPN Discovery` services to search. After this same id will be introduced in the `Discovery Service` and we will obtain a list of `BPN Discovery Endpoints`. After this same id will be introduce as the *`type`* attribute in each `BPN Discovery`. | +| Search Id Value | *XYZ78901* | The search id value is required for searching in the `BPN Discovery` services. One example could be the `product type id` of a company, which is owned by an unique `BPN` reducing the complexity of the search. | + +### Sequence Diagram + +This sequence diagram represents the digital twin search and the discovery phases. For more information [go to explanation](#2-digital-twin-registry-search-phase) +[![Sequence Diagram](./resources/development-view/developmentview-sequence-diagramm.svg)](./resources/development-view/developmentview-sequence-diagramm.svg) + +> **NOTE**: For learning how to register the assets and the digital twin registry and operate the EcoPass KIT visit the [Operation View](./page-software-operation-view.md) + +## 3. Digital Twin Search Phase Details + +The digital twin searching phase involves searching in every digital twin registry for the desired digital twin asset. In this digital twin we will find the necessary information for requesting the contract information for the "digital twin submodels". + +### Prerequisites for Digital Twin Search API + +The following information is required for enabling the digital twin search, in order to start the data transfer phase: + +| Name | Example | Description | +| ---------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Specific Asset Id Type | *partInstanceId* | The specific asset id type is used to search in the `digital twin registry` for a specific digital twin. It is basically the `name` of "specificAssetId" object located at the [`digital twin`](#aas-30-digital-twin-example) `specificAssetIds` property. The `*partInstanceId*` is used as an example most of the time, since the digital twin registry implemented a hotfix that allows companies say who can access to their `partInstanceId` fields. Now allowing the *"PUBLIC_READABLE"* property. | +| Specific Asset Id Type | *IMR18650V1* | The specific asset id value is added in the `digital twin lookup` when calling the `EDC Provider Proxy`. It basically points to the value of the *`Specific Asset Id Type`* property. | + +[![Digital Twin Search](./resources/development-view/ecoPassSearchSequence.svg)](./resources/development-view/ecoPassSearchSequence.svg) + +## 4. Data Negotiation and Transfer Phase Details + +The **Data Negotiation and Transfer Phase** is the phase responsible for the final data transfer and negotiation. In this phase we retrieve the data using the EDC. + +### Prerequisites for Negotiate and Transfer API + +The following information is required for enabling the digital twin search, in order to start the data transfer phase: + +| Name | Example | Description | +| -------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Contract with Policy | [Contract Example](#contract-example) | To start the contract negotiation we need to agree on a policy for the a specific contract. This needs to be selected by the one that is requesting the data. | + +### Sequence Diagram for Negotiate and Transfer + +[![Negotiation and Transfer](./resources/development-view/ecoPassNegotiationAndTransferSequence.svg)](./resources/development-view/ecoPassNegotiationAndTransferSequence.svg) + +## Authentication and Authorization + +The authentication is administrated by the `IAM Services` from the Portal defined in the CX - 0001 Standard + +The backend APIs are authenticated by using a `JWT Token` in the request as `Bearer` token. The frontend is responsible for obtaining this token in the portal federated IAM. + +The EcoPass KIT has two authorization methods: + +| Authorization Type | Description | +| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Portal Roles | Each digital product pass application contains an specific "AppId" provided by the portal in the Marketplace registration. And this Id shall be added to the configuration of the DPP Application in order to authenticate the user. If the end user contains any role added in the portal it will have access to the application if enabled. | +| Business Partner Number (BPN) | The digital product pass application contains a check for the "BPN" of the end user. An option is also to allow the user to login if he is belonging to the company of the configured "EDC" so no user can act in name of a specific company. | + +> **NOTE**: The authorization can be configured in the EcoPass KIT configuration so that it matches the business interests of the operator. + +For more information on how the Authentication & Authorization is done consult the reference implementation [`Digital Product Pass Arc42`](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md#authentication--authorization) + +## API Specification + +### Open API specification + +The Digital Product Pass / EcoPass KIT Open API specification is available at the swagger hub from Tractus-X: + +[https://app.swaggerhub.com/apis/eclipse-tractusx-bot/digital-product-pass/2.1.3](https://app.swaggerhub.com/apis/eclipse-tractusx-bot/digital-product-pass/2.1.3) + +### EcoPass APIs + +The APIs below are the ones contained in the `Digital Product Pass Backend` reference implementation. Which can be reused for retrieving aspects from the Catena-X Network. + + | API | Method | Description | Parameters | + | -------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | + | **/api/contract/create** | POST | The `/api/contract/create` api is responsible for calling the `BPN Discovery` service searching for the BPN of a `manufacturerPartId` and validating if there is any `Decentral Digital Twin Registry` available for the BPN number found in the `EDC Discovery` service. | [Go to Params](#apicontractcreate) | + | **/api/contract/search** | POST | At the **/api/contract/search** API the user can search for a serialized Id and get its contract. The `Backend` will search for the Digital Twin and will return the contract for the first one that is found. A `sign token` (a sha256 hash) is returned also and acts like a "session token" allowing just the user that created the process to sign or decline the contract. | [Go to Params](#apicontractsearch) | + | **/api/contract/agree** | POST | Once the user has the contract he can call the `/api/contract/agree` API to start the negotiation process and the transfer of the passport. This means that the user accepted the policy and the frame-contracts contained in the contract policy. | [Go to Params](#apicontractagree) | + | **/api/contract/decline** | POST | The other option rather than `/agree` is the `/decline` API, that basically blocks the process and makes it invalid. This means that the user declined the specific contract that was found for this process. | [Go to Params](#apicontractdecline) | + | **/api/contract/cancel** | POST | The user can use `/cancel` to interrupt the negotiation process once it is signed by mistake if is the case. It will be only valid until the negotiation is made. | [Go to Params](#apicontractcancel) | + | **/api/contract/status/``** | GET | After the user signs the contract he can use the `/status` API to get the process status and see when it is ready to retrieve the passport using the API `/data`. | [Go to Params](#apicontractstatusprocessid) | + | **/api/data** | POST | The API `/data` will decrypt the passport file that is encrypted using the session token "sign token", and will delete the file so that it is returned just once to the user and can not be accessed anymore. So a new passport will be always need to be requested. | [Go to Params](#apidata) | + | **/api/data/request** | POST | The Single API `/data/request` calls the necessary above APIs in order to retrieve the passport with auto-sign capability, it calls the create API, then search API, signs with the agree API and retrieves the data with the data API. The authentication is done with an API Key received as an HTTP header. | [Go to Params](#apidatarequest) | + +#### Parameters + +##### /api/contract/create + +| Parameter | Value Name | Mandatory or Optional Value | +| --------- | ---------------- | --------------------------- | +| id | searchIdValue | [REQUIRED] | +| type | searchIdTypeName | manufacturerPartId | + +##### /api/contract/search + +| Parameter | Value Name | Mandatory or Optional Value | +| --------- | --------------------- | --------------------------- | +| id | serializedIdValue | [REQUIRED] | +| idType | serializedIdTypeName | partInstanceId | +| processId | processIdentification | [REQUIRED] | + +##### /api/contract/agree + +| Parameter | Value Name | Mandatory or Optional Value | +| ---------- | ---------------------- | ------------------------------------------------------------------------------- | +| processId | processIdentification | [REQUIRED] | +| contractId | contractIdentification | [REQUIRED] | +| policyId | policyIdentification | If no policyId is specified then the first policy of the contract will be taken | +| token | searchSessionToken | [REQUIRED] | + +##### /api/contract/decline + +| Parameter | Value Name | Mandatory or Optional Value | +| --------- | --------------------- | --------------------------- | +| processId | processIdentification | [REQUIRED] | +| token | searchSessionToken | [REQUIRED] | + +##### /api/contract/cancel + +| Parameter | Value Name | Mandatory or Optional Value | +| ---------- | ---------------------- | --------------------------- | +| processId | processIdentification | [REQUIRED] | +| contractId | contractIdentification | [REQUIRED] | +| token | searchSessionToken | [REQUIRED] | + +##### /api/contract/status/{processId} + +| Parameter | Value Name | Mandatory or Optional Value | +| --------- | --------------------- | --------------------------- | +| processId | processIdentification | [REQUIRED] | + +##### /api/data + +| Parameter | Value Name | Mandatory or Optional Value | +| ---------- | ---------------------- | --------------------------- | +| processId | processIdentification | [REQUIRED] | +| contractId | contractIdentification | [REQUIRED] | +| token | searchSessionToken | [REQUIRED] | + +#### /api/data/request + +##### API Key + +Header: + +`X-Api-Key: ` +> *NOTE*: This can be changed in the configuration + +##### API Parameters + +| Parameter | Value Name | Mandatory or Optional Value | +|-----------------|------------------------|-----------------------------| +| id | searchIdValue | [REQUIRED] | +| idType | searchIdTypeName | manufacturerPartId | +| discoveryId | serializedIdValue | [REQUIRED] | +| discoveryIdType | serializedIdTypeName | partInstanceId | +| children | searchForChildren | true/false [OPTIONAL] | +| semanticId | semanticIdentification | semanticId [OPTIONAL] | + +##### The Single API Data Retrieval + +The Single API `/api/data/request` permits to get data from a Catena-X Provider by abstracting of all the separated APIs needed to do so. Authenticating with an defined API Key and with the mandatory and given serialized and discovery identifications, this API will +create the process and check for the viability of the data retrieval, searches for a passport with the given serialized id, automatically signs the contract retrieved from provider and start negotiation, waits for the negotiation +to be done and returns the data negotiated and transferred. In short, it's the set of the various APIs in one with auto-sign functionality to agile the data retrieval in a simple way. + +> [!IMPORTANT] +> +> The policy selection in the single api is not enabled, in this way the first contract and policy available for the asset will be selected. **Using a policy managment system is recommended** in order to allow this API to retrieve data assuring the policies are checked and compliant with your bussiness. + +#### External API calls + +| Service | Method | Path | Params | +| ------------------------------- | ------ | -------------------------------------------------- | ------------------------------------------------------------------------- | +| Discovery Service [CX-0053] | POST | /api/administration/connectors/discovery/search | key:manufacturerPartId (BPN Discovery) & key:bpn (EDC Discovery) | +| BPN Discovery Service [CX-0053] | POST | /api/administration/connectors/bpnDiscovery/search | key:manufacturerPartId | +| EDC Discovery Service [CX-0001] | POST | /api/administration/connectors/discovery/search | `{[]}` | +| Digital Twin Registry [CX-0002] | GET | /lookup/shells | key:partInstanceID, value: batteryDMC-Code or Product Identification Code | +| Digital Twin Registry [CX-0002] | GET | /shell-descriptors/{digitalTwinId} | key:partInstanceID, value: batteryDMC-Code or Product Identification Code | + +## Reference Implementations + +A reference implementation and a corresponding documentation can be found [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main). + +This reference includes a frontend and a backend allowing users to look up and display Battery Passport assets. +The Helm charts of this reference implementation are located [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/charts/digital-product-pass). + +### Documentation in the context development + +The following represents a collection of relevant documentation regarding the presented adaptation and all related services: + +**[EDC Domain Model](https://github.com/eclipse-edc/Connector/blob/main/docs/developer/architecture/domain-model.md)** + +**[Reference Implementation:](https://github.com/eclipse-tractusx/digital-product-pass/)** + +- **[Arc42 (Main Architecture Document)](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/arc42/Arc42.md)** + +- **[CX Data Retrieval Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data%20retrieval%20guide/DataRetrievalGuide.md)** + +## Add-ons + +The digital product pass reference implementation can have a series of add-ons that enhance the experience of the applicaiton by using other components from Catena-X. + +### Item Relationship Service Add-on + +The Digital Product Pass applicaiton can be integrated with the [Item Relationship Service (IRS)](https://github.com/eclipse-tractusx/item-relationship-service). The drill down of components will be enabled and if the submodels are configured correctly, in the `dpp-frontend` component you will be see which childs in a "1 level" deep available. Respecting the one up and one down principle from Catena-X. + +The configuration details can be found in the [Operation View](./page-software-operation-view.md). + +### Digital Product Pass Verification Add-on + +The Digital Product Passport Verification add-on is basically a concept for Certifying data in Catena-X as a auditor, how to provider certify data enabeling the verification as a data provider and how consumers verify this same data when retriving them from their data providers. + +The focus is on proving a process, artifacts and technologies, based on the existing SSI concept, aiming to enable Certification/Verification processes in Catena-X using wallets. + +The documentation from the Digital Product Pass Verification Add-on is available [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification). The concept enables the verification of the Data in the Reference Implementation using a [simple wallet](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-verification/simple-wallet), a functional wallet that can: + +- Sign verifiable credentials with JsonWebSignature2020 proofs +- Verify verifiable credentials with JsonWebSignature2020 proofs +- Manage private and public keys, providing via DID Documents public keys in JsonWebKey2020 format + +Additionally the simple wallet contains a extension for creating JSON-LD @contexts using Catena-X SAMM Models Schemas. This allows the verifiable credentials with the semantic models to be valid JSON-LDs documents and enables the context of the existing and future modeled documents. + +![Verification Addon Screenshot](./resources/development-view/verificationAddon.png) + +### Business Partner Data Management Add-on + +When passports are retrieved from the data providers not all the company data is available to be visualized and shown. In order to eliminate the need to maintain models which contain references to companies in Catena-X the new models contain the `BPNS` and `BPNL` from the companies. Which can be translated into Address and Company information using the [https://github.com/eclipse-tractusx/bpdm](https://github.com/eclipse-tractusx/bpdm) reference implementation. + +> [!IMPORTANT] +> +> Companies need to be onboarded in the portal and the information needs to be visible in the Central BPDM Pool Service, where the company information like address is found. +> +> *Additionally*: Technical User credentials must be provided in order to enable the access to the service. + +### Data Sovereignty Add-on + +In order to retrieve data following the Catena-X Data Sovereighnty guidelines, an addon was developed and can be enabled in the helm chart configuration for configuring the polices which are allowed to be used, with additional asset policy selection in the `dpp-frontend` component. + +A guide for using this configuration add-on can be found [here](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/data-sovereignty/PolicyConfigGuide.md). + +## Want to know more about Catena-X Digital Product Passes? + +### Digital Product Pass Tutorial + +For the Second Tractus-X Community Days there was prepared a tutorial for understanding and using the Digital Product Pass application. + +You can find it [here](https://github.com/eclipse-tractusx/digital-product-pass/tree/main/dpp-tutorial), there you will find information and guides on how to: + +- Deploy the Application +- Create Digital Product Pass Aspect Models +- Create Digital Twins for Digital Product Passports +- Understand how to consume data +- Learn how to create digital product passport QR codes. + +## Attachments + +### AAS 3.0 Digital Twin Example + +```json +{ + "description": [ + { + "language": "en", + "text": "Battery Digital Twin" + } + ], + "displayName": [], + "globalAssetId": "urn:uuid:efcb5f8d-f31c-4b1f-b090-9c878054554d", + "idShort": "Battery_BAT-XYZ789", + "id": "urn:uuid:3d050cd8-cdc7-4d65-9f37-70a65d5f53f5", + "specificAssetIds": [ + { + "name": "manufacturerId", + "value": "BPNL000000000000", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL000000000000" + }, + { + "type": "GlobalReference", + "value": "PUBLIC_READABLE" + } + ] + } + }, + { + "name": "manufacturerPartId", + "value": "XYZ78901", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL000000000000" + }, + { + "type": "GlobalReference", + "value": "PUBLIC_READABLE" + } + ] + } + }, + { + "name": "partInstanceId", + "value": "BAT-XYZ789", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "BPNL000000000000" + } + ] + } + }, + { + "key" : "assetLifecyclePhase", + "value": "AsBuilt" + }, + { + "key" : "digitalTwinType", + "value": "PartInstance" + } + ], + "submodelDescriptors": [ + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https:////urn:uuid:1ea64f49-8b2b-4cd2-818e-cf9d452c6fea", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "SerialPart", + "id": "urn:uuid:1ea64f49-8b2b-4cd2-818e-cf9d452c6fea", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:bamm:io.catenax.serial_part:1.0.1#SerialPart" + } + ] + }, + "description": [], + "displayName": [] + }, + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https:////urn:uuid:09d5d8a9-9073-47b6-93c6-80caff176dca", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "urn:uuid:09d5d8a9-9073-47b6-93c6-80caff176dca", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:bamm:io.catenax.single_level_bom_as_built:1.0.0#SingleLevelBomAsBuilt" + } + ] + }, + "description": [], + "displayName": [] + }, + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https:////api/public/data/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "digitalProductPass", + "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.generic.digital_product_passport:4.0.0#DigitalProductPassport" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Digital Product Passport Submodel" + } + ], + "displayName": [] + } + ] +} + +``` + +### Contract Example + +```json +{ + "@id": "dpp-asset", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "ZGVmYXVsdC1jb250cmFjdC1kZWZpbml0aW9u:cmVnaXN0cnktYXNzZXQ=:MTIxMjYzMzgtYzhkMC00MGQ4LTkxYWMtZmY2ZTY0ZTQ5ZmM0", + "@type": "odrl:Set", + "odrl:permission": [ + { + "odrl:action": "USE", + "odrl:constraint": { + "odrl:and": [ + { + "odrl:leftOperand": "cx-policy:Membership", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" + }, + { + "odrl:leftOperand": "cx-policy:FrameworkAgreement", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "circulareconomy:1.0" + }, + { + "odrl:leftOperand": "cx-policy:UsagePurpose", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "cx.circular.dpp:1" + } + ] + } + } + ], + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "registry-asset" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "bc491229-1b41-49a9-9101-a430a4907e6e" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "bc491229-1b41-49a9-9101-a430a4907e6e" + } + ], + "asset:prop:type": "data.core.digitalTwinRegistry", + "description": "Digital Twin Registry for DPP", + "id": "registry-asset", + "contenttype": "application/json" +} + +``` + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-operation-view.md new file mode 100644 index 00000000000..c41c7d9164e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/page-software-operation-view.md @@ -0,0 +1,469 @@ +--- +id: Operation View EcoPass Kit +title: Operation View +description: 'EcoPass Kit Operation View' +--- + +![EcoPass KIT Pictotogram](/img/kit-icons/ecopass-kit-icon.svg) + +## EcoPass KIT + +Based on the information provided in this kit, it is possible to run and program against an infrastructure of Digital Product Pass the Catena-X-way. This infrastructure empowers Data Consumers to consume the network's data as agreed with each Data Provider and facilitated by an Operating Company. They run central and decentral services that allow them to discover each other, exchange information and contextualize it according to a standardized semantics. + +| Service Name | Description | Reference Implementation | [Standardized in](https://catena-x.net/de/standard-library) | +| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- | +| Portal/IAM | The central component of the Catena-X network. The Federated IAM from Catena-X is provided by the portal where you can manage the users and roles for the applications. | [Portal](https://github.com/eclipse-tractusx/portal-backend) | CX - 0015 | +| Discovery Finder | A microservice resolving a type of identifiers against a set of BPN-Discovery Servers. Responsible to give the search endpoints for a type of id | [eclipse-tractusx/sldt-discovery-finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | CX - 0053 | +| BPN Discovery | A microservice resolving a particular assetId against the registered BPN of its owner. Responsible for indicating the BPNs for the IDs registered by the providers | [eclipse-tractusx/sldt-bpn-discover](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | CX - 0053 | +| EDC Discovery | A microservice that resolves a BPN against an EDC endpoint. Responsible for giving the EDC endpoints of one or more BPNs | [eclipse-tractusx/portal-backend](https://github.com/eclipse-tractusx/portal-backend) - [Code Implementation](https://github.com/eclipse-tractusx/portal-backend/blob/aca855c857aed309cbca03f4f694283629197110/src/administration/Administration.Service/Controllers/ConnectorsController.cs#L178C1-L190C63) | CX - 0001 | +| Digital Twin Registry | An exhaustive list of all Submodel Servers, with link to their assets, adhering to the AAS Registry API. Responsible for having the Digital Twins of the provider and indicating the endpoints to the Passport Aspects. | [eclipse-tractusx/sldt-digital-twin-registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | CX - 0002 OR [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) | +| Submodel Server | The data source adhering to a subset of the Submodel API as defined in AAS Part-2 3.0. Where the Passport Aspects are stored | [FA³ST-Framework](https://github.com/FraunhoferIOSB/FAAAST-Service), [Eclipse Basyx](https://github.com/eclipse-basyx/basyx-java-sdk), [AASX Server](https://github.com/admin-shell-io/aasx-server) | CX - 0002 | +| EDC | Main gateaway to the network. In this use case two EDC need be existing, one connected to the Digital Product Pass (EcoPass KIT) [EDC Consumer] and another to the Provider Catena-X components [EDC Provider] | [eclipse-tractusx/tractusx-edc](https://github.com/eclipse-tractusx/tractusx-edc) | CX - 0018 OR [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) | +| Digital Product Pass | The [**EcoPass KIT**] reference implementation. The application is responsible for retrieving the passports and interacting with the services listed above. | [eclipse-tractusx/digital-product-pass](https://github.com/eclipse-tractusx/digital-product-pass) | CX - 0143 | + +## Configuration Guide + +In order to get the Digital Product Pass working, an EDC needs to be configured and assets need to be created so that the application is able to perform the communications. + +> **NOTE:** +*This documentation is based on the Digital Product Pass Admin Guide. For the complete information check the CX-0096-TriangleForDigitalProductPass Standard or the [Admin Guide](https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/admin%20guide/Admin_Guide.md)* + +## EDC Provider Configuration + +When configuring your EDC Provider you need to take into consideration the following guidelines and formats: + +> **NOTE:** +*Please take into consideration following our Postman Collection while setting your EDC Provider* + +### Documentation Description + +**All variables are written in the following notation: _**{{ VARIABLE_NAME }}**_** + +All the configurations are in JSON notation and follow the [EDC Configuration from Catena-X](https://github.com/eclipse-tractusx/tractusx-edc) and the [Eclipse Foundation](https://github.com/eclipse-edc/Connector). + +### Asset Configuration + +When configurating your EDC provider you will be able to set some assets which refer to a certain endpoint. + +> **INFO:** *All public assets must be registered in a SubModel from a Digital Twin in the Digital Twin Registry.* + +#### Variables + +| Name | Description | Example Value | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| AssetId | Combination of Digital Twin and Sub Model UUIDs | **Example value for asset**: urn:uuid:0ec8cf2b-f58e-3f13-b5ef-e7dd01d15b19
                        **Example value for registry**: digital-twin-registry | +| Description | Simple description of the asset | Battery Passport Test Data | +| DataProviderEndpointUrl | URL to the endpoint which stores and serves the data, basically a Database that retrieves plain text/json data for a certain API | **Example value for asset**: [https://submodel.server.url/{{path}}/{{DigitalTwinSubmodelId}}](https://submodel.server.url/{{path}}/{{DigitalTwinSubmodelId}})
                        **Example value for registry**: [https://dpp-base.url/semantics/registry/api/v3.0](https://dpp-base.url/semantics/registry/api/v3.0) | +| DigitalTwinId | Id from the Digital Twin | urn:uuid:de98db6e-8e05-5d8e-8ae8-9f702cf5c396 | +| DigitalTwinSubmodelId | Sub Model Id registered in the Digital Twin Registry | | + +#### Format and Fields + +> [!IMPORTANT] +> +> Follow the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) configuration for the assets regarding the submodel server. Which shall give the url to retrieve the submodels as defined in the digital product pass standard [CX-0096] + +Example: + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "{{AssetId}}", + "properties": { + "description": "{{Description}}", + "contenttype": "application/json", +"dct:type": { + "@id": "cx-taxo:Submodel" + } + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "proxyPath": "true", + "proxyBody": "true", + "proxyMethod": "true", + "proxyQueryParams": "true", + "baseUrl": "{{DataProviderEndpointUrl}}" + } +} +``` + +When configurating your EDC provider you will be able to set some assets which refer to a certain endpoint. + +### Policies Configuration + +> [!TIP] +> +> Follow the latest [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) configuration regarding the policies! The information included here in this guide intends to show which contraints needs to be included in the policy configuration. Like example: `Membership: Active` and `FrameworkAgreement.sustainability` + +Policies are important for configuration the **access, prohibitions, obligations and permissions to certain assets.** + +A policy can have more and less configurations, depending on the restrictions you want to give to each asset. + +Here we specify a simple policy with just the USAGE permission, so we are able to retrieve the whole asset without obligations and prohibitions. + +#### Usage Policies + +| Policy Name | Description | +| ----------------------- | ------------------------------------------------------------------------------------ | +| Usage Permission Policy | In order to use/access the assets from the EDC Provider the Usage Policy is required | + +> **NOTE:** +*At the moment only Usage Permission Policies are assigned to assets, however restriction policies could be also configured if it is required for a specific use case.* + +#### Policies Variables + +| Name | Description | Example Value | +| -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | +| PolicyId | UUID that identifies the policy in the EDC Connector | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | +| PermissionType | DID Permission Type | PolicyDefinitionRequestDto | +| PermissionActionType | Defines the action allowed when the permission is assigned to an asset. In case of the usage policy the value "USE" is necessary | "USE" | +| BPN | Consumer's Business Partner Number | BPNL000000000000 | + +#### Policies Format and Fields + +To allow partners to access information use this policy with the BPN number included: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "{{PermissionType}}", + "@id": "{{PolicyId}}", + "policy": { + "@type": "Policy", + "odrl:permission" : [{ + "odrl:action": "{{PermissionActionType}}", + "odrl:constraint": { + "odrl:constraint": { + "@type": "LogicalConstraint", + "odrl:or": [ + { + "@type": "Constraint", + "odrl:leftOperand": "BusinessPartnerNumber", + "odrl:operator": "EQ", + "odrl:rightOperand": "{{BPN}}" + } + ] + } + } + }] + } +} +``` + +For framework agreement and membership in Catena-X configure this policy: + +```json +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "{{PermissionType}}", + "@id": "{{PolicyId}}", + "policy": { + "@type": "Policy", + "odrl:permission" : [ + { + "odrl:action":"{{PermissionActionType}}", + "odrl:constraint": { + "@type": "LogicalConstraint", + "odrl:and": [ + { + "@type": "Constraint", + "odrl:leftOperand": "Membership", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" + }, + { + "@type": "Constraint", + "odrl:leftOperand": "FrameworkAgreement.sustainability", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" + } + ] + } + } + ] + } +} + +``` + +### Contract Definition Configuration + +Contract definitions allow us to expose the assets and link them to a contract policy and an access policy. + +> **INFO:** *Remember that all **policies and assets** you bind to a contract **must be defined in the same EDC Connector** and linked through their ID in the configuration from the contract.* + +#### Contract Definition Variables + +| Name | Description | Example Value | +| -------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| ContractDefinitionId | UUID that identifies the policy in the EDC Connector | 76b50bfc-ec19-457f-9911-a283f0d6d0df | +| AssetId | Combination of Digital Twin and Sub Model UUIDs | **Example value for asset**: urn:uuid:0ec8cf2b-f58e-3f13-b5ef-e7dd01d15b19
                        **Example value for registry**: digital-twin-registry | +| AccessPolicyId | Policy that allows/restricts/enforces asset access constraints | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | +| ContractPolicyId | Policy that allows/restricts/enforces contract constraints | ad8d2c57-cf32-409c-96a8-be59675b6ae5 | + +#### Contract Definition Format and Fields + +> **INFO:** *For testing purposes and in order to ease the access to your assets we are going to define the **same policy as accessPolicy and as contractPolicy**. However, you are recommended to configure two separated policies and specify them adapting each one of them to your specific needs.* + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "{{ContractDefinitionId}}", + "@type": "ContractDefinition", + "accessPolicyId": "{{AccessPolicyId}}", + "contractPolicyId": "{{ContractPolicyId}}", + "assetsSelector" : { + "@type" : "CriterionDto", + "operandLeft": "https://w3id.org/edc/v0.0.1/ns/id", + "operator": "=", + "operandRight": "{{AssetId}}" + } +} +``` + +### Digital Twin Registration + +> **INFO:** *You need to be able to request tokens for the **Catena-X Central IAM** in order to **configure Digital Twins** in the Registry.* + +Once you finish the configuration, to make the endpoint public configure your digital twin in the following way: + +> [!IMPORTANT] +> +> The information displayed here is just an example how to configure you digital twin registry aspect so that the DPP Application can retrieve it. For more detailed and updated guidelines check also the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) + +#### Digital Twin Variables + +| Name | Description | Example Value | +| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| DigitalTwinId | Manually generated DID that contains a UUID | 32aa72de-297a-4405-9148-13e12744028a | +| DigitalTwinSubmodelId | Sub Model Id registered in the Digital Twin Registry | 699f1245-f57e-4d6b-acdb-ab763665554a | +| PartInstanceId | Battery passport DMC code or the part instance Id | X123456789012X12345678901234566 | +| manufacturerPartId | The Part Id given by the manufacturer, it idenfies the type of the product | XYZ78901 | +| EDCProviderUrl | URL to the endpoint which contains the EDC Provider | [https://edc.control.plane/](https://edc.control.plane/) | +| BPN | OPTIONAL: The endpoint address can include a BPN number, which shall lead to the EDC Provider, and return the contracts when called from an EDC Consumer | BPNL000000000000 | +| SubmodelIdShort | EXACT STRING REQUIRED: The submodel id of the battery passports needs to be exactly the string: "batteryPass" | **batteryPass** | +| BammModelVersionId | The semantic version of the asset passport model, currently the version v4.0.0 is used | urn:samm:io.catenax.battery.battery_pass:4.0.0#BatteryPass | + +> **INFO:** *It is important that the "SubmodelIdShort" is set in the correct format and that the EDCProviderUrl points to an valid EDC Provider, that provides valid contracts configured in the structure defined here.* + +#### Digital Twin Format and Fields + +```json +{ + "description": [ + { + "language": "en", + "text": "Battery Passport shell descriptor" + } + ], + "idShort": "Battery_{{PartInstanceId}}", + "id": "{{DigitalTwinId}}", + "specificAssetIds": [ + { + "name": "manufacturerPartId", + "value": "{{manufacturerPartId}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{BPN}}" + }, + { + "type": "GlobalReference", + "value": "PUBLIC_READABLE" + } + ] + } + }, + { + "name": "partInstanceId", + "value": "{{PartInstanceId}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{BPN of partner}}" + } + ] + } + }, + { + "key" : "assetLifecyclePhase", + "value": "AsBuilt" + } + ], + "submodelDescriptors":[ + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://edc.data.plane/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "{{body with information required by subprotocol}}", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "batteryPass", + "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.battery.battery_pass:4.0.0#BatteryPass" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Battery Passport Submodel" + } + ], + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://edc.data.plane/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:3e4a5957-f226-478a-ab18-79ced49d6195;dspEndpoint=https://edc.control.plane/", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "digitalProductPass", + "id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.generic.digital_product_passport:3.0.0#DigitalProductPassport" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Digital Product Passport Submodel" + } + ] + } + } + ] + } +``` + +> **NOTE:** +*The BPN number is not required for the configuration of the endpoint, just **make sure that the host is pointing to the EDC Provider**.* + +### Digital Twin Registry Configuration + +When configuring the digital twin registry behind the EDC Provider you should follow this EDC Registration guidelines: + +#### Digital Twin Registry Variables + +| Name | Description | Example Value | +| ------------ | ------------------------------------------- | ----------------------------------------- | +| registryUrl | The base url from the digital twin registry | | +| registryAssetId | The name from the asset for the registry | digital-twin-registry | + +#### Digital Twin Registry Format and Fields + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "{{registryAssetId}}", + "properties": { + "type": { + "@id": "DigitalTwinRegistry" + }, + "version": "3.0", + "asset:prop:type": "data.core.digitalTwinRegistry" + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{registryUrl}}", + "proxyQueryParams": "true", + "proxyPath": "true", + "proxyMethod": "true", + "proxyBody": "true" + } +} +``` + +## Item Relationship Service Integration + +In order to enable the drill down in passports retrieved by the Digital Product Pass Application you will need to first deploy the IRS [Item Relationship Service](https://github.com/eclipse-tractusx/item-relationship-service) and connect it to the Digital Product Pass application. + +For creating relationships between the digital twins register "singleLevelBomAsBuilt" and "singleLevelBomAsUsage" aspects which can be found here: [SingleLevelBomAsBuilt](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built) and [SingleLevelUsageAsBuilt](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built) + +> **IMPORTANT**!: The proxy configuration needs to be enabled exactly like it is configured in the dataAdress property above. + +The rest of the assets can be configured in the same way as the normal assets. + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BatteryPass_a_example.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-BusinessValue.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg new file mode 100644 index 00000000000..63060f703e0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg @@ -0,0 +1,4 @@ + + + +
                        EcoPass KIT Business Architecture
                        Used Verifiable Credentials
                        Data Models
                        EcoPass KIT
                        Discovery Finder
                        Digital Twin KIT
                        EDC Discovery Service
                        BPN Discovery Service
                        IAM (Shared IDP
                        Keycloak)
                        Sustainability Credential
                        BPN Credential
                        Membership Credential
                        + Other Credentials
                        Connector KIT
                        Data Chain KIT
                        Managed Identity
                        Wallets
                        Digital Twins in Catena-X
                        Battery Pass
                        Digital Product Pass
                        + Other Passports
                        Single Level Bom As Built
                        refers
                        refers
                        use
                        use
                        use
                        use
                        use
                        use
                        use
                        use
                        consume
                        consume
                        consume
                        consume
                        consume
                        consume
                        consume
                        consume
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-EcoPassKITBusinessArch.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/adoption-view-ValueChainBenefits.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/passport_model_creation.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/passport_model_creation.svg new file mode 100644 index 00000000000..7ff6f8bd74a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/passport_model_creation.svg @@ -0,0 +1,3 @@ + + +
                        Yes
                        Yes
                        Yes
                        Yes
                        Yes
                        Yes
                        Proposal of new regulation
                        Proposal of new regu...
                        Is there a specific passport already?
                        Is there a sp...
                        No
                        No
                        Company request
                        Company request
                        Is there a specific aspect model already?
                        Is there a sp...
                        No
                        No
                        Designating a development team
                        (min. 2 companies)
                        Designating a develo...
                        Request/demand for new aspect model
                        Request/deman...
                        Collection of data requirements
                        Collection of data r...
                        Legal requirements
                        Legal requirements
                        Other requirements
                        Other requirements
                        Company requirements
                        Company requirements
                        Documenting possible data attributes
                        Documenting possible...
                        Consulting within the development team
                        Consulting within th...
                        Searching for subject matter experts from the companies
                        Searching for subjec...
                        Consulting within the companies 
                        Consulting within th...
                        Consulting within the development team
                        Consulting within th...
                        Is there any other already existing related aspect model?
                        Is there any othe...
                        Alignment with last version of the Generic DPP & core models
                        Alignment with last...
                        Creating an excel table of the possible data attributes
                        Creating an excel ta...
                        Alignment with last verison of other related aspect models
                        Alignment with last...
                        No
                        No
                        Yes
                        Yes
                        Providing predetermined information about data attributes
                        Providing predetermi...
                        Involvement of other companies
                        Involvement of other...
                        Finalizing the data attributes
                        Finalizing the data...
                        Creating/Changing
                        a data model
                        Creating/Changing...
                        Communication strategy toward the association
                        Communication strate...
                        Standardization
                        Standardization
                        Use it
                        Use it
                        Is it compliant with the proposed changes?
                        Is it complia...
                        No
                        No
                        Is it compliant with the proposed changes?
                        Is it complia...
                        Use it
                        Use it
                        Yes
                        Yes
                        No
                        No
                        Checking of the already existing passports
                        Checking of the alre...
                        Checking of the already existing aspect models
                        Checking of the alre...
                        Is there any additional information from the other companies?
                        Is there any addi...
                        No
                        No
                        Yes
                        Yes
                        Indication
                        Indication
                        Preparation phase
                        Preparation phase
                        Research phase
                        Research phase
                        Documentation phase
                        Documentation phase
                        Data modeling phase
                        Data modeling phase
                        Communication & Standardization
                        Communication & Stan...
                        Acceptance of
                        the idea of the new/changed
                        model 
                        Acceptance of...
                        Approval Idea
                        Approval Idea
                        Approval
                        Approval
                        Semantic
                        check of the
                        model
                        Semantic...
                        Review by the business team
                        Review by the busine...
                        Release of the model
                        Release of the model
                        Release phase
                        Release phase
                        Was the model accepted by the business and modeling side?
                        Was the model acc...
                        Are there
                        semantic
                        changes
                        required?
                        Are there...
                        Yes
                        Yes
                        Yes
                        Yes
                        No
                        No
                        No
                        No
                        Text is not SVG - cannot display
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/passport_model_creation.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/adoption-view/passport_model_creation.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg similarity index 99% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg index 86f819ddfc8..45fd4a763aa 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg @@ -1,4 +1,4 @@ -
                        EcoPass KIT Data Retrieval Flow
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        Discovery Service
                        BPN Discovery
                        EDC Discovery
                        Digital Twin Registries Assets Search
                        Negotiate Contracts for
                        Digital Twin Registries
                        Search Digital Twin in
                        Digital Twin Registries
                        Request Asset
                        Contracts in the Catalog
                        of the EDC Provider
                        Negotiate Contract
                        Request Transfer for the Data
                        Retrieve Data from the EDC Provider Data Plane Proxy
                        DATA
                        Digital Twin Registry
                        Search Phase
                        Digital Twin
                        Search Phase
                        Data Negotiation
                        and Transfer Phase
                        Discovery
                        Phase
                        ID
                        CX:<manufacturerPartId>:<partInstanceId>
                        \ No newline at end of file +
                        EcoPass KIT Data Retrieval Flow
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        Discovery Service
                        BPN Discovery
                        EDC Discovery
                        Digital Twin Registries Assets Search
                        Negotiate Contracts for
                        Digital Twin Registries
                        Search Digital Twin in
                        Digital Twin Registries
                        Request Asset
                        Contracts in the Catalog
                        of the EDC Provider
                        Negotiate Contract
                        Request Transfer for the Data
                        Retrieve Data from the EDC Provider Data Plane Proxy
                        DATA
                        Digital Twin Registry
                        Search Phase
                        Digital Twin
                        Search Phase
                        Data Negotiation
                        and Transfer Phase
                        Discovery
                        Phase
                        ID
                        CX:<manufacturerPartId>:<partInstanceId>
                        \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/dataRetrievalFlow.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/developmentview-sequence-diagramm.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg.license new file mode 100644 index 00000000000..1190244f279 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassContext.svg.license @@ -0,0 +1,16 @@ +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/digital-product-pass diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassNegotiationAndTransferSequence.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/ecoPassSearchSequence.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png new file mode 100644 index 00000000000..bf34184ce63 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/development-view/verificationAddon.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/img/EcoPassKIT_pictogram.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/styles.module.css b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/styles.module.css similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/styles.module.css rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/styles.module.css diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryLogo.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App1.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/BatteryPass_Viewer_App2.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png.license new file mode 100644 index 00000000000..b4e2c813d8f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View1_Module.png.license @@ -0,0 +1,16 @@ +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/digital-product-pass \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png rename to docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png.license b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png.license new file mode 100644 index 00000000000..b4e2c813d8f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Eco_Pass_KIT/resources/success-stories/DigitalProductPass_DEMO_View2_Components_Module.png.license @@ -0,0 +1,16 @@ +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 CGI Deutschland B.V. & Co. KG +- SPDX-FileCopyrightText: 2023, 2024 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. für ihre Institute IPK und IPK +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 Henkel AG & Co. KGaA +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/digital-product-pass \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Data Chain Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx new file mode 100644 index 00000000000..da062ecb192 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_aspect-models.mdx @@ -0,0 +1,533 @@ +--- +id: Aspect Models Development View Industry Core Kit +title: Aspect Models +description: "Industry Core KIT" +sidebar_position: 2 +--- + + + +import Notice from '../part_notice.mdx' +import AspectModelOverview from './part_aspect-model-overview.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +Aspect models are mostly easy to create by transforming a company's internal data into the target aspect model. Transformations are mostly straightforward in these cases. If necessary, special steps in creating aspect models are mentioned in the corresponding sections. + + + +### PartTypeInformation + +A Part Type Information represents an item in the Catena-X Bill of Material (BOM) on a type level in a specific version. +It replaces the aspect model PartAsPlanned 2.0.0 (https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.part_as_planned/2.0.0) + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.part_type_information/1.0.0 + +#### Example: Aspect Model `PartTypeInformation 1.0.0` for a part type + +```json +{ + "catenaXId" : "580d3adf-1981-44a0-a214-13d6ceed9379", + "partTypeInformation" : { + "partClassification" : [ + { + "classificationStandard": "GIN 20510-21513", + "classificationID": "1004716", + "classificationDescription": "Generic standard for classification of parts in the automotive industry." + }, + { + "classificationStandard": "OEM Part Classification 1022-102", + "classificationID": "Exterior mirror", + "classificationDescription": "OEM standard for classification of parts." + } + ], + "manufacturerPartId" : "123-0.740-3434-A", + "nameAtManufacturer" : "Mirror left" + }, + "partSitesInformationAsPlanned" : [ + { + "functionValidUntil" : "2024-01-29T12:00:00.123+02:00", + "catenaXsiteId" : "BPNS1234567890ZZ", + "function" : "production", + "functionValidFrom" : "2024-01-29T12:00:00.123+02:00" + } + ] +} +``` + +### SingleLevelBomAsPlanned + +The single-level Bill of Material represents one sub-level of an assembly and does not include any lower-level subassemblies. In as planned lifecycle state all variants are covered (\"120% BoM\"). If multiple versions of child parts exist that can be assembled into the same parent part, all versions of the child part are included in the BoM. If there are multiple suppliers for the same child part, each supplier has an entry for their child part in the BoM. + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_planned/3.0.0 + + +#### Example: Aspect Model `SingleLevelBomAsPlanned 3.0.0` for a Catalog Part + +```json +{ + "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", + "childItems": [ + { + "validityPeriod": { + "validFrom": "2023-03-21T08:17:29.187+01:00", + "validTo": "2024-07-01T16:10:00.000+01:00" + }, + "catenaXId": "urn:uuid:055c1478-0395-47m8-94de-7cf802c5724a", + "quantity": { + "value": 5, + "unit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] +} +``` + +### SingleLevelUsageAsPlanned + +The aspect provides the information in which parent part(s)/product(s)the given item is to be assembled into or used. This could be a 1:1 relationship in terms of a e.g. a brake component or 1:n for e.g. coatings. The given item as well as the parent item must refer to a part type twin representing a generic part, e.g. a catalog part. +If one input product is regarded as an alternative to another input product (from same or different supplier), the relation should still be built, but marked with "IsOnlyPotentialParent". + +Aspect model in GitHub: +- Version 2.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_planned/2.0.0 + + +#### Example: Aspect Model `SingleLevelUsageAsPlanned 2.0.0` for a Catalog Part + +```json +{ + "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", + "parentItems": [ + { + "validityPeriod": { + "validFrom": "2023-03-21T08:17:29.187+01:00", + "validTo": "2024-07-01T16:10:00.000+01:00" + }, + "catenaXId": "urn:uuid:055c1478-0395-47m8-94de-7cf802c5724a", + "quantity": { + "value": 2, + "unit": "unit:litre" + }, + "businessPartner": "BPNL50096894aNXY", + "createdOn": "2022-02-03", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "customers": [ + "BPNL50096894aNXY" + ] +} +``` + +#### Creation of Aspect Model SingleLevelUsageAsPlanned + +The SingleLevelUsageAsPlanned aspect can only be completed by combining supplier and customer information. Only the supplier will create and update the Usage aspects. The missing information can be provided by the customer(s) with the help of Unique ID Push notifications. + +For better understanding, simplified names "parents", "child", "customers" are used in the description. + +These expressions “parents”, “child” and “customers” can be translated into the attributes of the aspect model. + +Translation into SingleLevelUsageAsPlanned aspect: + +“parents” -> “catenaXId” in “parentItems” +“child” -> overall “catenaXId” in aspect +“customers” -> “businessPartner” in “customers” + +1. Supplier creates Digital Twin for his own part type or material with corresponding “part” aspect (partType). In addition, the supplier creates a singleLevelUsageAsPlanned aspect and attaches it to that Digital Twin. At this point of time the singleLevelUsageAsPlanned aspect cannot contain “parents” information, only “child” (unique ID of own product) and “customers” (BPNL of customers). +2. The customer plans tp produce a product or material and creates a Digital Twin for it. When the customer plans to use the supplier part or material to produce the new product, he does not create an additional Digital Twin for the supplier product. Instead, the customer sends an appropriate notification to the supplier. This could happen when creating the singleLevelBomAsPlanned aspect, because at this point of time all information is available at the sender side. The customer sends a notification to the supplier, containing the missing “parents” information for that input product (“child”), both specified by the uniqueId, plus optional additional information like quantity and dates. “Parents” is the to be produced product at the customer, “child” is the to be used product coming from the supplier. +3. Supplier receives notification from customer and updates own singleLevelUsageAsPlanned aspect with the “parents” and additional information, if provided, like quantity and dates. + +The customer MAY give access to the supplier for the Digital Twin and the partType aspect but it is not requested. The only information that is shared via notification is the catenaXID of the product to be used by the customer, plus quantity and date. + +The customer MAY NOT give access to the singleLevelBomAsPlanned aspect that belongs to the Digital Twin of his own product because it may also contain information relating to other suppliers that may not be shared. + + +### SerialPart + +A serialized part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a serial numbers or a similar identifier (e.g. VAN) or a combination of multiple identifiers (e.g. combination of manufacturer, date and number) + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.serial_part/3.0.0 + +#### Example: Aspect Model `SerialPart 3.0.0` for a Vehicle + +```json +{ + "localIdentifiers": [ + { + "key": "manufacturerId", + "value": "BPNL7588787849VQ" + }, + { + "key": "partInstanceId", + "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" + }, + { + "key": "van", + "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU", + "sites": [ + { + "catenaXsiteId": "BPNS1234567890ZZ", + "function": "production" + } + ] + }, + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "partTypeInformation": { + "manufacturerPartId": "95657362-83", + "nameAtManufacturer": "Vehicle Model A", + "partClassification": [ + { + "classificationStandard": "GIN 20510-21513", + "classificationID": "1004712", + "classificationDescription": "Generic standard for classification of parts in the automotive industry." + }, + { + "classificationStandard": "OEM Part Classification 1022-102", + "classificationID": "Electric vehicle", + "classificationDescription": "OEM standard for classification of parts." + } + ], + } +} +``` + +#### Example: Aspect Model `SerialPart 3.0.0` for a Serialized Part (Non-Vehicle) + +```json +{ + "localIdentifiers": [ + { + "key": "manufacturerId", + "value": "BPNL7588787849VQ" + }, + { + "key": "partInstanceId", + "value": "NO-574868639429552535768526" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU", + "sites": [ + { + "catenaXsiteId": "BPNS1234567890ZZ", + "function": "production" + } + ] + }, + "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", + "partTypeInformation": { + "manufacturerPartId": "95657362-83", + "customerPartId": "798-515297795-A", + "nameAtManufacturer": "High Voltage Battery", + "nameAtCustomer": "High Voltage Battery", + "partClassification": [ + { + "classificationStandard": "GIN 20510-21513", + "classificationID": "1004713", + "classificationDescription": "Generic standard for classification of parts in the automotive industry." + }, + { + "classificationStandard": "OEM Part Classification 1022-102", + "classificationID": "Traction Battery", + "classificationDescription": "OEM standard for classification of parts." + } + ], + } +} +``` + +#### Creation of Aspect Model SerialPart + +The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding part. + +### Batch + +A batch is a quantity of (semi-) finished products or (raw) material product that have been produced under the same circumstances (e.g. same production location), as specified groups or amounts, within a certain time frame. Every batch can differ in the number or amount of products. Different batches can have varied specifications, e.g., different colors. A batch is identified via a Batch ID. + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.batch/3.0.0 + +#### Example: Aspect Model `Batch 3.0.0` for a Batch of Raw Material + + ```json +{ + "localIdentifiers": [ + { + "value": "BID12345678", + "key": "batchId" + }, + { + "value": "BPNL7588787849VQ", + "key": "manufacturerId" + }, + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU", + "sites": [ + { + "catenaXsiteId": "BPNS1234567890ZZ", + "function": "production" + } + ] + }, + "catenaXId": "580d3adf-1981-44a0-a214-13d6ceed9379", + "partTypeInformation": { + "partClassification": [ + { + "classificationStandard": "GIN 20510-21513", + "classificationID": "1004714", + "classificationDescription": "Generic standard for classification of parts in the automotive industry." + }, + { + "classificationStandard": "OEM Part Classification 1022-102", + "classificationID": "Two-component adhesive", + "classificationDescription": "OEM standard for classification of parts." + } + ], + "manufacturerPartId": "123-0.740-3434-A", + "nameAtManufacturer": "PA66-GF30" + } +} +``` + +#### Creation of Aspect Model Batch + +The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding batch. + +### JustInSequencePart + +A just-in-sequence part is an instantiation of a (design-) part, where the particular instantiation can be uniquely identified by means of a combination of several IDs related to a just-in-sequence process. + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.just_in_sequence_part/3.0.0 + +#### Example: Aspect Model `JustInSequencePart 3.0.0` for a non-serialized component + +```json +{ + "localIdentifiers": [ + { + "key": "manufacturerId", + "value": "BPNL7588787849VQ" + }, + { + "key": "jisNumber", + "value": "894651684" + }, + { + "key": "parentOrderNumber", + "value": "OEM-A-F8LM95T92WJ9KNDD3HA5P" + }, + { + "key": "jisCallDate", + "value": "2022-01-24T09:13:34" + } + ], + "manufacturingInformation": { + "date": "2022-02-04T14:48:54", + "country": "DEU", + "sites": [ + { + "catenaXsiteId": "BPNS1234567890ZZ", + "function": "production" + } + ] + }, + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "partTypeInformation": { + "partClassification": [ + { + "classificationStandard": "GIN 20510-21513", + "classificationID": "1004715", + "classificationDescription": "Generic standard for classification of parts in the automotive industry." + }, + { + "classificationStandard": "OEM Part Classification 1022-102", + "classificationID": "Front row seat", + "classificationDescription": "OEM standard for classification of parts." + } + ], + "manufacturerPartId": "84816168424", + "nameAtManufacturer": "Black Leather Front Row Seat for Vehicle Model B", + } +} +``` + +> Please note that if a just-in-sequence part is also a serialized part, SerialPart should be used instead. + +#### Creation of Aspect Model JustInSequencePart + +The only special step in creating this aspect model is the initial creation of the Unique ID for the corresponding part. + +### SingleLevelBomAsBuilt + +The aspect provides the child parts (one structural level down) which the given object assembles. + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_bom_as_built/3.0.0 + +#### Example: Aspect Model `SingleLevelBomAsBuilt 3.0.0` for a Serialized Part + +```json +{ + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "childItems": [ + { + "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03", + "businessPartner": "BPNL50096894aNXY", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] +} +``` + +#### Aspect Model `SingleLevelBomAsBuilt 3.0.0` for a Batch + +```json +{ + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "childItems": [ + { + "catenaXId": "urn:uuid:d60b99b0-f269-42f5-94d0-64fe0946ed04", + "quantity": { + "value": 5.0, + "unit": "unit:kilogram" + }, + "hasAlternatives": false, + "createdOn": "2022-02-03", + "businessPartner": "BPNL50096894aNXY", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ] +} +``` + +#### Creation of Aspect Model SingleLevelBomAsBuilt + +The creation of the aspect model SingleLevelBomAsBuilt is more complicated. This aspect model contains the Unique ID of the manufacturer's part (attribute catenaXId) which is created - as described above - when the part's SerialPart or Batch aspect model is created. But it also contains the Unique IDs of the built-in parts (attributes childItems.catenaXId), as shown in the example above. + +For the build-in parts (child items), their Unique ID is not known to the manufacturer initially. Only known are the local identifiers that are printed on the physical part (serialized part or batch), i.e., manufacturer (BPN), manufacturer part ID and serial or batch number. To get the Unique ID of a built-in part, a data provider therefore has to do the following: + +- Get all necessary local IDs for the built-in part: + - manufacturer (BPN), manufacturer part ID and serial number for serialized parts + - manufacturer (BPN), manufacturer part ID and batch number for batches +- The next step is about getting the Unique ID of all built-in parts. There are two ways: + - Unique IDs for built-in parts might already be available locally if Unique ID Push is supported by the data provider and the suppliers of the built-in parts. + - Query a supplier's Digital Twin Registry to find the digital twin for this built-in part + +### SingleLevelUsageAsBuilt + +The aspect provides the information in which parent part instance(s)/product(s) the given item is assembled into or used. This could be a 1:1 relationship in terms of e.g. a brake component or 1:n for e.g. coatings. The parent item must refer to an object from the as built lifecycle phase, the child item may refer to an object from the as built or the as planned lifecycle phase. If one input part instance is regarded as an alternative to another input part instance (from same or different supplier), the relation should still be built, but marked with "IsOnlyPotentialParent". + +Aspect model in GitHub: +- Version 3.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.single_level_usage_as_built/3.0.0 + +#### Example: Aspect Model `SingleLevelUsageAsBuilt 3.0.0` for a Serialized Part + +```json +{ + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "parentItems": [ + { + "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", + "isOnlyPotentialParent": false, + "quantity": { + "value": 1.0, + "unit": "unit:piece" + }, + "createdOn": "2022-02-03", + "businessPartner": "BPNL50096894aNXY", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "customers": [ + "BPNL50096894aNXY" + ] +} +``` + + + +#### Aspect Model `SingleLevelUsageAsBuilt 3.0.0` for a Batch + +```json +{ + "catenaXId": "urn:uuid:580d3adf-1981-44a0-a214-13d6ceed9379", + "parentItems": [ + { + "catenaXId": "urn:uuid:055c1128-0375-47c8-98de-7cf802c3241d", + "isOnlyPotentialParent": false, + "quantity": { + "value": 25.0, + "unit": "unit:kilogram" + }, + "createdOn": "2022-02-03", + "businessPartner": "BPNL50096894aNXY", + "lastModifiedOn": "2022-02-03T14:48:54.709Z" + } + ], + "customers": [ + "BPNL50096894aNXY" + ] +} +``` + +#### Creation of Aspect Model SingleLevelUsageAsBuilt + +The SingleLevelUsageAsBuilt aspect can only be completed by combining supplier and customer information. Only the supplier will create and update the Usage aspects. The missing information can be provided by the customer(s) with the help of notifications. + +For better understanding, simplified names "parents", "child", "customers" are used in the description. + +These expressions “parents”, “child” and “customers” can be translated into the attributes of the aspect model. + +Translation into SingleLevelUsageAsBuilt aspect (mapping): + +- “parents” -> “catenaXId” in “parentItems” +- “child” -> overall “catenaXId” in aspect +- “customers” -> “businessPartner” in “customers” + +1. Supplier creates Digital Twin for his own produced part or material with corresponding “part” aspect (partInstance or similar). In addition, the supplier creates a SingleLevelUsageAsBuilt aspect and attaches it to that Digital Twin. At this point of time the SingleLevelUsageAsBuilt aspect cannot contain “parents” information, only “child” (unique ID of own product) and “customers” (BPNL of customers). +2. The customer produces a new product or material and creates a Digital Twin for it. When the customer uses the supplier part or material to produce the new product, he does not create an additional Digital Twin for the supplier product. Instead, the customer sends an appropriate notification to the supplier. This could happen when creating the SingleLevelBomAsBuilt aspect, because at this point of time all information is available at the sender side. The customer sends a notification to the supplier, containing the missing “parents” information for that input product (“child”), both specified by the uniqueId, plus optional additional information like quantity and dates. “Parents” is the produced product at the customer, “child” is the used product coming from the supplier. +3. Supplier receives notification from customer and updates own SingleLevelUsageAsBuilt aspect with the “parents” and additional information, if provided, like quantity and dates. +In case of a batch, the customer can use one batch to create several products. In that case, either several notifications can be sent, or one notification may contain several “parents” relations. +In case of a batch, parts of it can also be sold to several customers. So, the supplier has to put several “customers” into the SingleLevelUsageAsBuilt aspect and has to be ready to receive notifications from several customers that result in an update of the aspect +The customer MAY give access to the supplier for the Digital Twin, partType or similar aspect but it is not requested. The only information that is shared via notification is the catenaXID of the product that has been manufactured by the customer plus quantity and date. + +The customer MAY NOT give access to the SingleLevelBomAsBuilt aspect that belongs to the Digital Twin of his own produced product because it may also contain information relating to other suppliers that may not be shared. + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx new file mode 100644 index 00000000000..8c0799906d0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_digital-twins.mdx @@ -0,0 +1,399 @@ +--- +id: Digital Twins Development View Industry Core Kit +title: Digital Twins +description: "Industry Core KIT" +sidebar_position: 1 +--- + + + +import Notice from '../part_notice.mdx' +import UniqueIDPush from './part_uniqueidpush.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +Industry Core uses digital twins to make a company's data available to other Catena-X partners. Basics about digital twins with which you should be familiar to understand this section are described in the [Digital Twin KIT](../../../../../docs-kits/category/digital-twin-kit). + +### Register Digital Twins + +In Industry Core, different types of parts, e. g. serialized parts, batches, JIS parts or catalog part, are registered in a company's DTR as digital twins. + +#### Regulatory Compliance and Security + +To enforce a strict need-to-know principle (and to prevent data from being exposed to non-authorized partners in the Catena-X network), the visibility of digital twins and the content of the attribute `specificAssetIds` of digital twins must be restricted to authorized partners only. The actual implemenetation depends on the DTR product used by the Catena-X partner. More details can be found in the [Digital Twin KIT](../../../../../docs-kits/category/digital-twin-kit). + +#### Handling of Digital Twins at Contract Manufacturing + +Contract manufacturing refers to the practice of outsourcing the production of vehicles or components to external manufacturers through formal agreements. This is a common business model and process in the automotive industry and therefore needs to be considered within Catena-X. + +- The creation of a DT has to be agreed first between the contracting authority and the contracting manufacturer. Regardless of who of the two parties creates the digital twin, it must always be created in the contracting authority's DTR. This in turn means that the contracting authority is always the owner of the digital twin of a part that is manufactured by a contract manufacturer. +- The contract manufacturer does not necessarily need to be a member of Catena-X, as it is often intended to remain confidential if a part is produced by a contract manufacturer. The contracting authority bears responsibility for the externally manufactured parts towards their customers, and therefore all communication, such as Quality Notifications, takes place via the contracting authority. +- If the contract manufacturer is not part of Catena-X, the required data are provided by the contractor outside of Catena-X, and the contracting authority creates the digital twin and performs the Look-up of the child parts to ensure traceability. + +#### Unique ID for Parts + +In the Industry Core, a Unique ID uniquely identifies a particular real-world asset. Currently, these are: serialized parts (including vehicles), batches, JIS parts (Just-in-Sequence) and also catalog parts. + +A Unique ID is a URN and has the following format: `urn:uuid:`, i.e., the NID is "uuid" and the NSS is a UUID Version 4 (as described here: https://en.wikipedia.org/wiki/Universally_unique_identifier). + +The Unique ID mus be created by the manufacturer of the part. At the latest, it must be created when the digital twin for this part is created as the Unique ID is part of the digital twin information. + +Unique IDs are used in several places in the Industry Core, e.g., as `globalAssetId` for digital twins or as `catenaXId` in aspect models. + +#### Conventions for Creating Digital Twins + +The following general conventions apply for all digital twins: + +- id: The AAS ID must be a UUIDv4 in URN format: `urn:uuid:`; +- globalAssetId: the Unique ID of the real-world part for which a digital twin is created. + +> :warning: AAS ID and Unique ID are different identifiers, although they share the same format (UUID) and therefore look the same. A Unique ID identifies real-world assets, whereas a AAS ID identifies a digital twin of such an asset. Do not use the same value for Unique ID and AAS ID for a digital twin. + +> :raised_hand: **Unique ID Push:** Once a digital twin was registered (initially created), optionally a Unique ID Push notification can be send from the manufacturer (creator of the digital twin) to the customer of the part to inform it that a new digital twin is available. + +#### Property specificAssetIds + +Specific asset IDs are used to identify digital twins when looking up or searching for these digital twins. This is a required step by a customer of a part to connect the digital twins of their parts with the digital twins of the suppliers' child parts. To a customer, only the information printed on a real-world part is available and can be used for the lookup. Mandatory specific asset IDs ensure that at least this information is available for the digital twin. + +The following conventions for specific asset IDs apply to all digital twins: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                        Key Availability Description Type
                        manufacturerId Mandatory The Business Partner Number (BPNL) of the manufacturer of the part. BPNL
                        manufacturerPartId Mandatory The ID of the type/catalog part from the manufacturer. String
                        customerPartId Optional The ID of the type/catalog part from the customer.
                        The main reason why this propertiy is optional is that it cannot be guaranteed that every manufacturer knows the customerPartId for their parts. In case the manufacturer knows the customer and the corresponding CustomerPartID of its part though, it is required to add this information for easier lookup and to enable further processes.
                        + +
                        String
                        digitalTwinType Mandatory + The type of the digital twin: +
                        • "PartInstance" for serialized parts, batches, and JIS parts
                        • "PartType" for catalog parts
                        + digitalTwinType was added to allow data consumers to search for all digital twins of a particular type, e.g, only for catalog parts by using digitalTwinType="PartType" as filter. Without this filter, a search for a particular manufacturer part ID would not only return the digital twin of the catalog part, but also all digital twins of instances of this catalog part, i.e., of the corresponding serial parts. +
                        String
                        + +**For serialized parts, additionally the following conventions apply:** + +| Key | Availability | Description | Type | +| :------------- | :----------- | :------------------------------------------------------------------------------------------- | :----- | +| partInstanceId | Mandatory | The serial number of the part from the manufacturer. | String | +| intrinsicId | Mandatory | This the unified technical key for searching a digital twin of a part. In this case the
                        partInstanceId is used as the intrinsicId. | String | +| van | Optional | **Only for vehicles:** The pseudonymized vehicle identification number (VIN) of the vehicle. | String | + +**For batches, additionally the following conventions apply:** + +| Key | Availability | Description | Type | +| :------------- | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- | +| batchId | Mandatory | The number of the batch from the manufacturer. | String | +| intrinsicId | Mandatory | This the unified technical key for searching a digital twin of a batch. In this case the
                        batchId is used as the intrinsicId. | String | + +**For just-in-sequence (JIS) parts, additionally the following conventions apply:** + +| Key | Availability | Description | Type | +| :---------------- | :----------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----- | +| parentOrderNumber | Optional | A number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. | String | +| jisNumber | Mandatory | A number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number. | String | +| jisCallDate | Optional | The date of the just-in-sequence call-off as stated on the call-off document itself.
                        The value must be compliant to ISO 8601: `YYYY-MM-DD` or `YYYY-MM-DDThh:mm:ss` or `YYYY-MM-DDThh:mm:ss±hh:mm` | Date | +| intrinsicId | Mandatory | This the unified technical key for searching a digital twin of a just-in-sequence (JIS) part. In this case a composition of `jisNumber`, `parentOrderNumber` (if available), `jisCallDate` (if available) is used as the intrinsicId. This information is typically known upfront to the supplier `jisNumber`, `partOrderNumber` and `jisCallDate` for just-in-sequence parts. | String | + +> :raised_hand: **Lookup of Digital Twins** +> The lookup for parts can use the customerPartId or the manufacturerPartId. Both, manufacturer and customer must agree upon what part ID will be used for the lookup. Otherwise, when the customer would use the customerPartId for the lookup, but the manufacturer would only provide the manufacturerPartId in its digital twins, the lookup would fail every time. **This is decision that a customer must agree upon with each of their suppliers individually.** +> In order to provide a standardised way to look-up digital twins, the specificAssetIDs are extended by a unified technical key, the intrinsicId. This ensures a correct semantic filling of all other existing attributes in the specificAssetIDs, as the partInstanceId was previously used as an overarching search field, which resulted in the partInstanceId being filled with a batch number for a batch, for example. +Nevertheless, a search for digital twins can still be used via the corresponding the primary fields from a business point of view, such as partInstanceId or batchId. + +standardised identification of a digital twin based on technical key attributes +Correct semantic filling of all existing fields in the specificAssetIDs (e.g. filling of the partInstanceIDs attribute for JisParts) + +#### Submodel Descriptors + +To enforce a strict need-to-know (and prevent data from being exposed to non-authorized parties), the visibility of entries in the attribute `specificAssetIds` must be protected, i.e.,their visibility must be restricted to authorized parties only. For that, the attribute `externalSubjectId` must be used. Detailed information about this can be found in the [Digital Twin KIT](../../../../kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Discovery/get-all-asset-links-by-id). + +##### Submodel Descriptors + +Submodel descriptors must be compliant with the guildeines from the [Digital Twin KIT](../../../../../docs-kits/category/digital-twin-kit) as well as the following additional conventions: + +- `id`: The submodel ID must be a UUIDv4 in URN format: "urn:uuid:<UUIDv4>"; +- `idShort`: the name of the aspect model in camel case, e.g. for aspect SerialPart: "serialPart". + +The actual access information for the Connector is part of the endpoint attribute in the submodel descriptor. + +```json +{ + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://connector.data.plane/{publicContextPath}/{providerPath}/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "dspEndpoint=https://connector.control.plane/{catalogPath};id=123", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { "type": "NONE", "key": "NONE", "value": "NONE" } + ] + } +} +``` + +The following conventions apply for the endpoint: + +- `interface`, `endpointProtocol`, `endpointProtocolVersion`, `subprotocol`, `subprotocolBodyEncoding`, and `securityAttributes` are set as defined in the CX-0002 standard. +- `href`: The endpoint address for the logical operation GetSubmodel that is invoked by a data consumer to get the submodel. It must have the following format: + - `https://connector.data.plane/{publicContextPath}`: Address of the Connector data plane that is providing the submodel. `{publicContextPath}` is configured in the Connector settings and defaults to `/api/public`. + - `{providerPath}`: This string is forwarded to the backend data service by the Connector data plane. Together with the Connector asset information (see below) it must contain all information for the backend data service to return the requested submodel. The actual path depends on the type of backend data service that the data provider uses to handle the request. More details follow below. + - `submodel`: This `submodel` string is also forwarded to the backend data service. As AAS Profile SSP-003 of the Submodel Service Specification is mandatory for this release, `href` must have the suffix `/submodel` representing the invokation of the GetSubmodel operation. +- `subprotocolBody`: a semicolon-separated list of parameters used to negotiate the required contract agreement. + - `dspEndpoint`: Base URL of the [catalog service](https://docs.internationaldataspaces.org/ids-knowledgebase/v/dataspace-protocol/catalog/catalog.binding.https#id-2.1-prerequisites) endpoint of a DSP Connector. The consumer Connector can use: + - `catalog/request` to fetch the full catalog and search for the dataset in the catalog or + - `catalog/datasets/{id}` to only fetch offers for the dataset with a particular dataset ID. + - `id`: The ID of the Connector asset for which a contract negotiation should be intiated. This ID is also called dataset ID as it is stored as `https://www.w3.org/ns/dcat/dataset.@id` in a catalog entry. This ID must be set by the data provider when creating the asset. Do not confuse this Connector asset ID (dataset ID) with other IDs that might be defined additionally for a Connector asset, e.g., `https://w3id.org/edc/v0.0.1/ns/id` (often refered to as `edc:id`). + +With this approach, the Connector asset structure must no longer follow the "one asset per submodel" rule (as in Release 3.1 and before), but gives data providers more flexibility how to create assets for their digital twins and submodels based on how they use `{providerPath}`. + +##### Option 1: Same Connector Asset Structure as in Release 3.1 + +Submodels of digital twins are registered in the Connector the same way as for release 3.1: One asset is created for every submodel of a digital twin. + +- `href` must have the following format: `https://connector.data.plane/{publicContextPath}/submodel` +- `subprotocolBody` must have the following format: `dspEndpoint=https://connector.control.plane/{catalogPath};id={datasetId}` with `{datasetId}` the ID of the Connector asset for the submodel. + +Here's an example how such a submodel descriptor could look like: + +```json +"submodelDescriptors": [ + { + "idShort": "serialPart", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://connector.data.plane/api/public/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "dspEndpoint=https://connector.control.plane/api/v1/dsp;id=urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { "type": "NONE", "key": "NONE", "value": "NONE" } + ] + } + } + ] + } +] +``` + +In this example, the `{providerPath}` part in the `href` is empty, as the Connector asset referenced in `subprotocolBody` directly points to a service returning the correct submodel (set up correctly with its dataAddress in the data provider's Connector). + +##### Option 2: Connector Asset Structure on Catalog Part Level + +A data provider can link several submodel endpoints to the same Connector asset (referenced by its ID). This allows to create only one asset (per aspect model) for a catalog part and link all submodels (of the same aspect model) for serialized parts of the catalog part to the same asset. The data provider would still need to create separate assets per aspect model as in most cases different usage policies are used for aspect models. + +If a data provider no longer creates assets on the level of submodels, the Connector can no longer authorize a request on a submodel-level. For example: If assets are created per catalog part, the Connector can only authorize if the requestor is allowed to see parts of these type in general; if the requestor is allowed to see a actual serialized part, must be authorized by the backend data service executing the request. + +Here's an example how such a submodel descriptor could look like: + +```json +"submodelDescriptors": [ + { + "idShort": "serialPart", + "id": "urn:uuid:7effd7f4-6353-4401-9547-c54b420a22a0", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://connector.data.plane/api/public/urn%3Auuid%3A7effd7f4-6353-4401-9547-c54b420a22a0/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "dspEndpoint=https://connector.control.plane/api/v1/dsp;id=urn:uuid:1475f313-0a83-4e2b-b705-a100eebcb7d7", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { "type": "NONE", "key": "NONE", "value": "NONE" } + ] + } + } + ] + } +] +``` + +The the `{providerPath}` part of the `href` property contains the information for the backend data service which digital twin's submodel to return while the asset ID is used for several endpoints. The path part here is just an example as it depends on the type of backend data service the data provider uses. + +The above options are only two examples how a submodel's endpoint can be created. As long as it's compliant with the above conventions (including CX-0002) a data provider can also use any other asset structure. + +##### Data Consumption with AAS Submodel Descriptor Endpoints + +A data consumer must first identify the correct submodel descriptor for a Catena-X data transfer. For Catena-X submodel descriptors, the `subprotocol` attribute must have the value "DSP". Then, the data consumer must use the information in the `subprotocolBody` to perform a contract negotiation for the asset referenced by `id` with the Connector of the data provider specified by `dspEndpoint` and afterwards initiate the data transfer. + +Further information about the data transfer of submodels can be found in the [Digital Twin KIT](../../../../../docs-kits/category/digital-twin-kit). + +### Lookup in the Digital Twin Registry + +For a data provider, there are currently the following steps where they have to lookup digital twins of other partners in the Catena-X network. + +- The data provider must use the local IDs for a serialized part or batch (manufacturer, part number, serial or batch number) and for a just-in-sequence part (manufacturer, parentOrderNumber, jisNumber, jisCallDate) to lookup the AAS ID of the digital twin of this serialized part, batch or just-in-sequence part. The AAS descriptor with this ID contains the Unique ID of the serialized part, batch or just-in-sequence (as globalAssetId) that is used to create SingleLevelBomAsBuilt submodel. + +- The data provider must use the local IDs for a catalog part (manufacturer, part number) to lookup the AAS ID of the digital twin of this catalog part. The AAS descriptor with this ID contains the Unique ID of the catalog part (as globalAssetId) that is used to create the SingleLevelBoMAsPlanned submodel. + +For a data consumer, there are currently the following steps where they have to lookup digital twins of other partners in the Catena-X network. + +- The data consumer in the Traceability use case in most cases will use the Unique ID of a part to lookup the digital twin (more precisely, its AAS ID) of this part. +- The data consumer from another use case (e.g., Circular Economy), might either use the Unique ID of a part (if known) or the local IDs of a part to lookup the part's digital twin (AAS ID) depending on what is available in the use case. + +#### Lookup up a Digital Twin with Local IDs + +The local IDs of a serialized part (manufacturer, part number, serial number) are stored as specific asset IDs in the AAS descriptor of the digital twin. From the Digital Twin Registry API, the following function can be used for this lookup `GET /lookup/shells`. + +All Asset identifier key-value-pairs used as parameter to this lookup function are passed to the API separately via the parameter `assetIds` in Base64 format. An example query would look like this: `/lookup/shells?assetIds=ewogICJuYW1lIjogIm1hbnVmYWN0dXJlcklkIiwKICAidmFsdWUiOiAiQlBOTDc1ODg3ODc4NDlWUSIKfQ==&assetIds=ewogICJuYW1lIjogIm1hbnVmYWN0dXJlclBhcnRJZCIsCiAgInZhbHVlIjogIjk1NjU3MzYyLTgzIgp9&assetIds=ewogICJuYW1lIjogInBhcnRJbnN0YW5jZUlkIiwKICAidmFsdWUiOiAiTk8tNTc0ODY4NjM5NDI5NTUyNTM1NzY4NTI2Igp9` + +**The assetIds value looks like this unencoded (but with additional spaces and linebreaks):** + +- First `assetIds` parameter: + ```json + { + "name": "manufacturerId", + "value": "BPNL7588787849VQ" + } + ``` +- Second `assetIds` parameter: + ```json + { + "name": "manufacturerPartId", + "value": "95657362-83" + } + ``` +- Third `assetIds` parameter: + ```json + { + "name": "partInstanceId", + "value": "NO-574868639429552535768526" + } + ``` + +The lookup (for serialized parts/batches as well as catalog parts) can use the customer or the manufacturer part ID (manufacturerPartId or manufacturerPartId). + +- For a digital twin, adding the customer part ID to the specific asset IDs is optional. The main reason for this is that it cannot be guaranteed that every manufacturer knows the customer part ID for their parts. But, if they know it, it is recommended to always add the customer part ID to the specifiAssetId property for easier lookup (by customers). +- A customer that wants to do a lookup for a supplier's digital twin, must first decide what ID they want to use for the lookup. This depends on the information that is available to them. + - If the customer knows the manufacturer part id, they should use the manufacturer part ID for the lookup as the manufacturer part ID is guaranteed to be available in the digital twin (as the manufacturer part ID is a mandatory property). + - If the customer does not know the manufacturer part id, they must use the customer part ID (i.e., their own part id). In that case they must make sure that their suppliers register their digital twins with this information (as the customer part ID is optional) as part of the specific asset IDs. This is decision that a customer must agree upon with each of their suppliers individually. + +As a result, the AAS ID of the digital twin with this local IDs is returned. The AAS ID can then be used to retrieve details about the digital twin, i.e. the digital twin's AAS descriptor including submodel descriptors. + +**Example result for looking up a digital twin with local IDs:** + +```json +["urn:uuid:c227a880-b82b-40f7-846c-3942ddf26c29"] +``` + +Note that this query can return more than one AAS ID depending on the local IDs uniquely identifying a digital twin or not. + +Currently, even if more than one digital twin is returned in a lookup, these digital twins should have different submodels assigned to them. These submodels should be disjunct and not overlap. This means that you can use the submodel to filter out the correct digital twin. + +- If there are returned more than one digital twin with the same submodel (based on their semanticId), this is considered an error. Processing should be canceled and an error message should be reported. + +The next section describes to modify the lookup to additionally restrict the results to digital twins with a specific submodel type based on it's semanticId. + +#### Implicit Connection Between a Part Type Twin and the Corresponding Part Instance Twins + +To find the corresponding part instance twins to a given part type twin, it is possible to use the lookup functionality. Searching for the specific asset IDs `manufacturerId` and `manufacturerPartId` and `digitalTwinType = "PartInstance"` of the given part type twin will find all corresponding part instance twins. + +To find the corresponding part type twin to a given part instance twin, it is possible to search for the specific asset IDs `manufacturerId`, `manufacturerPartId` and `digitalTwinType = "PartType"` of the given part instance twin. + +To find the corresponding part instance twins to a given part instance twin, it is possible to search for the specific asset IDs `manufacturerId`, `manufacturerPartId` and `digitalTwinType = "PartInstance"` of the given part instance twin. + +### Unique ID Push + +Once the digital twin was created, optionally a Unique ID Push notification can be send by the manufacturer of the part to the customer of the serialized part of batch to inform the customer that information about a serialized part or batch is available as a digital twin. This is an optional process and both, the manufacturer of a part as well as the customer of the part must support Unique ID Push notifications. + +For more information, see [Unique ID Push Notifications](#unique-id-push-notifications) + +#### Query a Digital Twin Registry to find the digital twin for this built-in part + +- Querying digital twins is described in [Lookup in the Digital Twin Registry](#lookup-in-the-digital-twin-registry) + - Note that the query parameters differ depending on what type of digital twin is looked up. + - Regardless of whether you want to search for serialised parts, batches or just-in-sequence (JIS) parts, you can currently use the intrinsicId as a standardised technical key to look up digital twins. You can find the corresponding filling of this attribute in the tables above, depending on which specification is involved. + - However, if you already know the specification of the digital twin you are looking for before the look up, you can also carry out a search using the corresponding key attributes, like partInstanceId, batchId or a composition of `jisNumber`, `parentOrderNumber` (if available), `jisCallDate` (if available). The partInstanceId with search parameter value serial number should be used for serialised parts, the batchId with search parameter value batch number for batches and a composition of `jisNumber`, `parentOrderNumber` (if available), `jisCallDate` (if available) with their corresponding search parameter values for JIS parts. + - To understand why, take a look at how these digital twins are created, especially their [specific asset IDs](#property-specificassetids). + - The result of this query will be the AAS ID of the digital twin. +- Use this AAS ID to get the AAS Descriptor including all Submodel Descriptors of this digital twin. The AAS Descriptor contains the Submodel Descriptor SerialPart or Batch (depending on the digital twin type). +- Fetch the submodel SerialPart or Batch (depending on the digital twin type) from the Connector that is referenced in the corresponding Submodel Descriptor. +- The submodel then contains the Unique ID of the built-in part in its catenaXId attribute. + +These steps have to be repeated for all built-in parts by the manufacturer. After that, the manufacturer has all information to create the SingleLevelBomAsBuilt. + +#### Publish Traceability Data Offers in the Connector + +With the flexible approach described above, the actual asset structure for submodels in the Connector is no longer restricted by use case conventions and can be decided by the data provider. + +#### Data Provider Tasks + +Basically, as a data provider you have to do the following + +- Implement a Backend Data Service (BDS) for every asset that is provided via the Connector. It does not have to be a different BDS for each asset - you can use the same BDS for several assets (to be verified). +- The BDS must support the Asset Administration Shell Profile SSP-003 of the Submodel Service Specification (see standard CX-0002 for more details). +- The BDS must use the REST API data plan for data transmission. +- The BDS must verify that it only returns data to the data consumer that is compliant to the asset and data offer for which data is queried and authorize the request accordingly. + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_policies.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_policies.mdx new file mode 100644 index 00000000000..5daa686e299 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/page_policies.mdx @@ -0,0 +1,72 @@ +--- +id: Policies Development View Industry Core Kit +title: Policies +description: "Industry Core KIT" +sidebar_position: 3 +--- + + + +import Notice from '../part_notice.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +The Policies are used to increase data sovereignty by limiting the access and usage of data. In the following, access +and usage policies with their usage in the EDC are described. An explanation of Policy-handling mechanics in the EDC +is available in the [EDC docs](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md#access--usage-policies). +For general conventions about Usage Policies in Catena-X, check the [Connector Kit](../../../category/connector-kit). + +### Usage Policies / Contract Policies + +Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way +of formulating policy payloads. To further define and restrict the possibilities of the ODRL language, it is recommended +to create separate, more specific ODRL profiles. For Catena-X, the profile is published [here](https://github.com/catenax-eV/cx-odrl-profile). + +#### FrameworkAgreement + +As described in the Connector Kit, there is a Credential issued for each Use Case Framework. As the Industry Core (IC) +is not a use-case but rather a set of foundational models and technologies, there is no specific Framework Agreement for +it. + +#### UsagePurpose + +Instead, there's a set of purposes for the Industry Core. These purposes can be used in all use-cases that build on it, +and for instance be chained with the FrameworkAgreementConstraint for the Traceability use-case. +The complete list is formalized in the CX-ODRL-Profile. Here's an example constraint for the IC's foundational purpose: + +```json +{ + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.core.industrycore:1" +} +``` + +As the IC in turn relies on a set of other components and concepts. The `cx.core.industrycore:1` purpose however should +only be used on offers leading to aspects, usually behind a Submodel API. Despite the fact that the Digital Twin +Registry (as defined in the [DT Kit](../../../category/digital-twin-kit/)) is +a mandatory component of the Industry Core, it should be exposed only with the purpose `cx.core.digitalTwinRegistry:1`. + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx new file mode 100644 index 00000000000..7ee08781d09 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_aspect-model-overview.mdx @@ -0,0 +1,37 @@ +--- +sidebar_class_name: hidden +--- + + + +The following section shows an overview of all aspect models that are currently attached to part type or part instance twins by Catena-X use cases. + +| Digital Twin Type | Aspect Model | Mandatory Version | Optional Versions | KIT | Standard | +| :-- | :-- | :-- | :-- | :-- | :-- | +| PartType | PartTypeInformation | 1.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| | SingleLevelBomAsPlanned | 3.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| | SingleLevelUsageAsPlanned | 2.0.0 | | Industry Core | CX-0126 Industry Core: Part Type v2.0.0 | +| PartInstance | SerialPart | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | Batch | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | JustInSequencePart | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | SingleLevelBomAsBuilt | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | SingleLevelUsageAsBuilt | 3.0.0 | | Industry Core | CX-0127 Industry Core: Part Instance v2.0.0 | +| | TractionBatteryCode | 2.0.0 | | Traceability | CX-0125 Traceability Use Case v2.0.0 | +| | SoftwareInformation | 1.0.0 | | Traceability | N/A | +| | CertificateSigningRequests | 1.0.0 | | Traceability | N/A | diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx new file mode 100644 index 00000000000..4e7f9049c64 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/Software Development View/part_uniqueidpush.mdx @@ -0,0 +1,228 @@ +--- +sidebar_class_name: hidden +--- + + + +### Unique ID Push + +Unique ID Push notifications provide the possibility to push specific information to a business partner in the value chain (one level up or one level down). This can help to provide faster information to reduce necessary information collection activities (connect-to-parent) or to provide information that is not available at all at the receiver side (connect-to-child). + +The solution is based on notification assets in the EDC (which is the same approach that is used for quality incidents). The notification receiver creates a notification asset in the EDC and the notification sender sends his notifications to this notification asset. As this notification asset is a general EDC asset - as for all EDC assets - access policies, usage policies and contract definitions must be created. + +> :raised_hand: It is important to understand that the receiver creates EDC asset and policies, and thus, the sender of the Unique ID push notification must check during the EDC negotiation process if the conditions the receiver offers are acceptable for the sender. + +Currently there are two types of Unique ID Push Notifications available: "Connect to Parent" and "Connect to Child". + +##### Connect to Parent + +Unique ID Push notifications of type "connect-to-parent" are a way for a manufacturer to notify a customer as soon as possible when a new digital twin for a part is available. + +The sender of the notification is the supplier of a part item and the receiver of the notification is the customer of that part item. The Unique ID of that part is sent in the notification. + +##### Connect to Child + +Unique ID Push notifications of type "connect-to-child" are a way for a manufacturer to notify a supplier when the supplier's part has been used (or is to be used in the case of part type) in the assembly or production of the manufacturer's product. This will result in an update of the corresponding SingleLevelUsage aspect at the supplier side. + +The sender of the notification is the customer of a part item or type and the receiver of the notification is the supplier of that part item or type. The Unique ID of that part, quantity and dates are sent in the notification. + +Connect to Parent and Connect to Child notifications can be applied to Digital Twins for part instances and for part types. + +#### Prerequisites and Constraints + +In order to be able to push Unique ID(s) of part(s) to the correct partner, it is required that the sender pushing the Unique ID notification is aware of the BPN of the receiver of the notification or has enough data in its context to use BPDM functions to determine the BPN Number of the receiver. + +For actively pushing Unique ID notifications, an EDC is required and the data provider needs to be enabled to execute the complete process including EDC communication and HTTP Push (i.e., HTTP POST) of the payload. + +Secondly, EDCs are being used for the exchange and it is currently required to offer a HTTP POST API to receive the Unique ID notifications push at the receiver's side. This API needs to be registered in the EDC Catalog as a data offer and requires specific properties to be set to standardized values, as this allows discoverability. Details still tbd. + +#### Unique ID Push Process Overview + +##### Connect to Parent + +How the actual process is triggered is application specific. It is recommended to trigger the push of Unique IDs towards the customer after the Goods Issue has been booked, since commonly at that point the serial numbers/batch numbers of the parts being delivered are fixed in the logistics process and shall be contained in delivery documents, EDI Messages and/or any internal representation of the received items (non-Catena-X communication). + +The Unique ID push is initiated by the supplier (acting as sender) towards their customer (acting as receiver). Since the Unique ID of the asset (i.e., serial unit / batch) is unknown in the logistics process, the message needs to include local identifiers to be matched towards the information from the delivery documents and furthermore the internal data of the recipient's traceability solution. + +Upon receipt of the message, the customer needs to match the local identifiers with its internal traceability records and attach each Unique ID to the respective data set. How this is done is depending on the customer's internal systems: + +- If there is an object for incoming deliveries, this event could be updated. + Alternatively, if only production events are tracked, the data could be integrated at this point into the data provisioning pipeline's data structure for consumed materials. +- In the end this enables the customer to integrate the child parts into the SingleLevelBomAsBuilt aspect. + +![Unique ID Push Process](../assets/unique_id_push_process.png) + + + +##### Connect to Child + +How the actual process is triggered is application specific. It is recommended to trigger the push of "connect-to-child" towards the supplier earliest after the singleLevelBom aspect (AsBuilt oder AsPlanned) has been created, since at that point all relevant information is available. It is also possible to collect "connect-to-child" notification content at customer side and send this in a list to the supplier, e.g. once a day or once a week. + +The Unique ID push is initiated by the customer (acting as sender) towards their supplier (acting as receiver). The body information comes from the corresponding singleLevelBom aspect. + +Upon receipt of the message, the supplier needs to update the corresponding singleLevelUsageAspect(s) at his side. All information required can be taken from the body in the notification. + +#### Schema of Unique ID Push Notifications + +The Unique ID Push notifications have a standardized format. Schemas of these notifications are described in detail in the Unique ID Push Open API specification. The standardized version of this API is [2.0.0](../openapi/unique-id-push.yaml). Version [2.1.0](../openapi/unique-id-push_2-1-0.yaml) is not (yet) standardized, but backwards compatible, and extends v2.0.0 with the Connect-to-Child feature. + +##### Connect to Parent + +- For the `context` field in the notification header, use the following string for Unique ID Push notifications as described in this KIT: `IndustryCore-UniqueIDPush-ConnectToParent:`. + +- Adding the customer part ID to the notification is optional. The main reason for this is that it cannot be guaranteed that every manufacturer knows the customer part ID for their parts. But, in case the manufacturer knows the customer and the corresponding customer part ID of its part though, it is required to always add the customer part ID to the notification. + +##### Connect to Child + +- For the `context` field in the notification header, use the following string for Unique ID Push notifications as described in this KIT: `IndustryCore-UniqueIDPush-ConnectToChild:`. + +#### Notification Receiver + +Here is a short overview what the receiver has to do when they want to support Unique ID Push notifications. This is an optional feature. + +- ** Connect to Parent ** The receiver in this scenario is the customer of a part. +- ** Connect to Child ** The receiver in this scenario is the supplier of a part. +- The receiver must create a EDC asset in their EDC that works as the endpoint for receiving notifications. Also, access & usage policies as described below must be configured. +- The EDC in which the notification EDC asset was created must be registered at the EDC Discovery (so that the sender can find the partner's EDC which should receive notifications) +- When the Receiver receives a Unique ID Push notification, it must process this notification after it was received by the EDC (in a Backend Data Service) +- How the Receiver processes the notification is up to them, but the following steps are recommended: + - Verify the correctness of the data in the notification (i.e., the receiver is actually the customer of this part). + - Store the notification data for later. + - **Connect to Parent** Use this data when the digital twin for the part into which the delivered part is built into is created instead of doing a lookup to a supplier's Digital Twin Registry. + - **Connect to Child** Use this data to update the corresponding singleLevelUsage aspect + +##### EDC Asset + +For the EDC asset for receiving Unique ID Push notifications, the following properties must be set: + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "{{ _.assetId }}", + "properties": { + "dct:type": { "@id": "cx-taxo:{{ _.notificationType }}" }, + "cx-common:version": "2.1" + } +} +``` + +Properties `https://purl.org/dc/terms/type` and `https://w3id.org/catenax/ontology/common#version` are used to classify the asset and are explained in the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT#registration-at-edc) in more detail. + +For `{{ _.notificationType }}`, use +- `UniqueIdPushConnectToParentNotification` for the Connect-To-Parent notification asset and +- `UniqueIdPushConnectToChildNotification` for the Connect-To-Child notification asset. + +> :raised_hand: Note that the API version can be different depending on what Unique ID Push API version your company supports. + +##### EDC Policies + +**Access Policies** +A data provider can decide on its own what access policies they want to define for their notification asset. Based on the purpose of the asset, all suppliers of the data provider should in general be allowed to send notifications to this asset. Therefore, either a public access policy or a BPN-based access policy (allowing all suppliers) should be used. + +**Usage Policies** +In general, a data provider is free to decide which usage policies to define for its assets. For notifications, though, the data provider is actually the receiver of notifications, i.e., the usage policy here has the purpose to define what the data provider does or is allowed to do with the notifications. It's something the sender of the notification has to rely on and accept when sending its notification. + +Keep in mind that usage policies currently aren't technically enforced by the EDC or other components. + +> :raised_hand: **Usage Policy for Unique ID Push** +> The Unique ID push notification endpoints are protected with a purpose-based usage policy and "cx.core.industrycore:1" as purpose. + +##### Backend Data Service to Process Unique ID Push Notifications + +The receiver must setup a backend data service that provides an HTTP Endpoint for notifications. All endpoints are described in detail in the Unique ID Push Open API specification. The standardized version of this API is [2.0.0](../../../../openApi/industrycore/unique-id-push.yaml). Version [2.1.0](../../../../openApi/industrycore/unique-id-push_2-1-0.yaml) is not (yet) standardized, but backwards compatible, and extends v2.0.0 with the Connect-to-Child feature. + +#### Notification Sender + +Here is a short overview what the sender has to do when they want to support Unique ID Push notifications. This is an optional feature. + +##### Connect to Parent (Sender = Supplier) +- The Sender in this scenario is the manufacturer or supplier of a part. +- When a new digital twin for a part was created, the manufacturer is responsible to send a Unique ID Push notification for this twin to the customer of this part. +- It is recommended to send this notification as soon as possible, i.e., directly after the digital twin was created. + +##### Connect to Child (Sender = Customer) +- The Sender in this scenario is the consumer of the supplied part. +- When the supplied part is used in the production or assembly at the customer side, the customer is responsible to send a Unique ID Push notification for the twin of the used part to the supplier of this part. This is known by the customer when the singleLevelBom aspect is created or updated. +- This notification can be sent immediately or collected to be sent when convenient, e.g. once a day or once a week, depending on the use case. + +##### Mapping BPN to EDC URL with EDC Discovery API + +**Connect to Parent** The sender must first find the EDC of the customer (receiver) to which the notification should be sent to. For this, the BPN of the customer is required. + +**Connect to Child** After creating the singleLevelBom aspect the sender should already know the BPN of the supplier (receiver). + +With this, the EDC Discovery can be used to query for all EDCs of the receiver. After that, the data catalog of each of these EDCs must be queried for the notification EDC asset as described above. If this notification EDC asset is found in one of these EDCs, the notification can be sent. + +There should only be one EDC which provides the notification EDC asset for Unique ID Push. If more than one EDC (for the same BPN/partner) are found, this is considered a misconfiguration of the corresponding partner. + + + + + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png new file mode 100644 index 00000000000..6f01c84de7a Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png.license new file mode 100644 index 00000000000..7208212b02c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/datachain_oneup_onedown.png.license @@ -0,0 +1,15 @@ +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023 BASF SE +- SPDX-FileCopyrightText: 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +- SPDX-FileCopyrightText: 2023 German Edge Cloud GmbH & Co. KG +- SPDX-FileCopyrightText: 2023 Mercedes Benz AG +- SPDX-FileCopyrightText: 2023 Robert Bosch Manufacturing Solutions GmbH +- SPDX-FileCopyrightText: 2023 SAP SE +- SPDX-FileCopyrightText: 2023 Siemens AG +- SPDX-FileCopyrightText: 2023 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Traceability%20Kit (latest version) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-blocks.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-stds.svg b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-stds.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-stds.svg rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-stds.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-stds.svg.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-stds.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-arch-view-stds.svg.license rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-arch-view-stds.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png new file mode 100644 index 00000000000..a5296cd870a Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png.license new file mode 100644 index 00000000000..60aad7a3096 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-components.png.license @@ -0,0 +1,15 @@ +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +- SPDX-FileCopyrightText: 2024 German Edge Cloud GmbH & Co. KG +- SPDX-FileCopyrightText: 2024 Mercedes Benz AG +- SPDX-FileCopyrightText: 2024 Robert Bosch Manufacturing Solutions GmbH +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Siemens AG +- SPDX-FileCopyrightText: 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Industry%20Core%20Kit (latest version) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-customer-journey.png.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-customer-journey.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic-customer-journey.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-customer-journey.png.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png new file mode 100644 index 00000000000..b0a3a58ddfc Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png.license new file mode 100644 index 00000000000..60aad7a3096 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic-type_levels.png.license @@ -0,0 +1,15 @@ +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST & Fraunhofer IML) +- SPDX-FileCopyrightText: 2024 German Edge Cloud GmbH & Co. KG +- SPDX-FileCopyrightText: 2024 Mercedes Benz AG +- SPDX-FileCopyrightText: 2024 Robert Bosch Manufacturing Solutions GmbH +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Siemens AG +- SPDX-FileCopyrightText: 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/Industry%20Core%20Kit (latest version) diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_customer-journey.png b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_customer-journey.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_customer-journey.png rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_customer-journey.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_sources.pptx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_sources.pptx new file mode 100644 index 00000000000..cde2e4c16d7 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_sources.pptx differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_sources.pptx.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_sources.pptx.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/ic_sources.pptx.license rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/ic_sources.pptx.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/unique_id_push_process.png b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/unique_id_push_process.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/unique_id_push_process.png rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/unique_id_push_process.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/unique_id_push_process.png.license b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/unique_id_push_process.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/assets/unique_id_push_process.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/assets/unique_id_push_process.png.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push.yaml b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push.yaml new file mode 100644 index 00000000000..6e4fdee3420 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push.yaml @@ -0,0 +1,306 @@ +openapi: 3.0.1 +info: + title: Catena-X Unique ID Push Notification + description: API documentation for Catena-X Unique ID Push notifications + license: + name: Apache License v2.0 + url: http://apache.org/v2 + version: 2.0.0 +servers: +- url: / +tags: +- name: Catena-X Unique ID Push Notification + description: 'API to receive Unique ID push notifications for Catena-X.' +paths: + /uniqueidpush/connect-to-parent: + post: + tags: + - Unique ID Push Connect-to-Parent Notification + description: Receives a Unique ID Push notification to connect a digital twin with its parent digital twin (bottom-up notification) + operationId: receiveUniqueIdPushConnectToParentNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToParentRequestBody' + responses: + "201": + description: Notification was received successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "409": + description: Could not accept the send notification, because a notification with that messageId already exists + "422": + description: Could not accept the send notification even though it is syntactically correct. The notification is not accepted, because of semantic reasons (e.g., an item is not known by the receiver). +components: + schemas: + NotificationHeader: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + UniqueIdPushNotificationConnectToParentRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/NotificationHeader' + content: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToParentPayload' + UniqueIdPushNotificationConnectToParentPayload: + type: object + required: + - digitalTwinType + - listOfItems + properties: + digitalTwinType: + $ref: '#/components/schemas/DigitalTwinType' + information: + type: string + maxLength: 1000 + example: "Update of serialized parts, batches, and JIS parts for which digital twins were created." + listOfItems: + type: array + items: + oneOf: + - $ref: '#/components/schemas/SerializedPartItem' + - $ref: '#/components/schemas/BatchItem' + - $ref: '#/components/schemas/JISItem' + DigitalTwinType: + type: string + enum: + - PartType + - PartInstance + example: PartInstance + description: The classification defines the type of the Unique ID push notification. + PartItem: + type: object + required: + - manufacturerId + - manufacturerPartId + - catenaXId + properties: + manufacturerId: + type: string + example: "BPNL00000003BW3S" + description: The Business Partner Number (BPNL) of the manufacturer of the serialized part, i.e., the companies main entry. + manufacturerPartId: + type: string + example: "8840838-04" + description: The ID of the type/catalog part (of which the serialized part is an instance of) from the manufacturer. + customerPartId: + type: string + example: "AAX178378" + description: The ID of the type/catalog part (of which the serialized part is an instance of) from the customer. + SerializedPartItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - partInstanceId + properties: + partInstanceId: + type: string + example: "NO-009284492099792129568369" + description: The serial number of the serialized part from the manufacturer. We assume here that the customer does not have or create its own serial number for a part, but just used the manufacturer's serial number. + - $ref: '#/components/schemas/CatenaXIdItem' + BatchItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - batchId + properties: + batchId: + type: string + example: "NO-009284492099792129568369" + description: The serial number of the batch from the manufacturer. We assume here that the customer does not have or create its own serial number for a batch, but just used the manufacturer's serial number.' + - $ref: '#/components/schemas/CatenaXIdItem' + JISItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - jisNumber + properties: + jisNumber: + type: string + example: "894651684" + description: A number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number. + jisCallDate: + type: string + example: "2022-01-24T09:13:34" + description: The date of the just-in-sequence call-off as stated on the call-off document itself. The value must be compliant to ISO 8601. + parentOrderNumber: + type: string + example: "OEM-A-F8LM95T92WJ9KNDD3HA5P" + description: A number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. + - $ref: '#/components/schemas/CatenaXIdItem' + CatenaXIdItem: + type: object + required: + - catenaXId + properties: + catenaXId: + $ref: '#/components/schemas/CatenaXId' + CatenaXId: + type: string + example: "urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd" + description: Catena-X ID for a part instance, e.g., a serial part or a batch. + # ----------------------------------------- + # Schemas for Eclipse data types and shared aspect models + # ----------------------------------------- + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: + type: boolean + description: Represents a boolean value (i.e. a "flag"). + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + example: "2007-08-31T16:47+00:00" + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.quantity_2.0.0_ItemQuantityCharacteristic: + description: "Characteristic for measurements of an item (mass, count, linear,\ + \ area, volume, misc)." + type: object + properties: + value: + description: The quantity value associated with the unit. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic' + unit: + description: "The unit of an item. Common units may be related to mass,\ + \ count, linear, area, volume or misc." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration' + required: + - value + - unit + urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration: + type: string + pattern: "[a-zA-Z]*:[a-zA-Z]+" + description: Enumeration for common item units. + enum: + - unit:piece + - unit:set + - unit:pair + - unit:page + - unit:cycle + - unit:kilowattHour + - unit:gram + - unit:kilogram + - unit:tonneMetricTon + - unit:tonUsOrShortTonUkorus + - unit:ounceAvoirdupois + - unit:pound + - unit:metre + - unit:centimetre + - unit:kilometre + - unit:inch + - unit:foot + - unit:yard + - unit:squareCentimetre + - unit:squareMetre + - unit:squareInch + - unit:squareFoot + - unit:squareYard + - unit:cubicCentimetre + - unit:cubicMetre + - unit:cubicInch + - unit:cubicFoot + - unit:cubicYard + - unit:litre + - unit:millilitre + - unit:hectolitre + - unit:secondUnitOfTime + - unit:minuteUnitOfTime + - unit:hourUnitOfTime + - unit:day + urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic: + type: number + description: The quantity value associated with the unit expressed as float. + # ----------------------------------------- + # Schema: urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect + # ----------------------------------------- + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + example: "IndustryCore-UniqueIDPush-ConnectToParent:2.0.0" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + example: "urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push_2-1-0.yaml b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push_2-1-0.yaml new file mode 100644 index 00000000000..53fdf75f3d0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/openapi/unique-id-push_2-1-0.yaml @@ -0,0 +1,510 @@ +openapi: 3.0.1 +info: + title: Catena-X Unique ID Push Notification + description: API documentation for Catena-X Unique ID Push notifications + license: + name: Apache License v2.0 + url: http://apache.org/v2 + version: 2.1.0 +servers: +- url: / +tags: +- name: Catena-X Unique ID Push Notification + description: 'API to receive Unique ID push notifications for Catena-X.' +paths: + /uniqueidpush/connect-to-parent: + post: + tags: + - Unique ID Push Connect-to-Parent Notification + description: Receives a Unique ID Push notification to connect a digital twin with its parent digital twin (bottom-up notification) + operationId: receiveUniqueIdPushConnectToParentNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToParentRequestBody' + responses: + "201": + description: Notification was received successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "409": + description: Could not accept the send notification, because a notification with that messageId already exists + "422": + description: Could not accept the send notification even though it is syntactically correct. The notification is not accepted, because of semantic reasons (e.g., an item is not known by the receiver). + /uniqueidpush/connect-to-child: + post: + tags: + - Unique ID Push Connect-to-Child Notification + description: Receives a Unique ID Push notification to connect a digital twin with its child digital twin (top-down notification) + operationId: receiveUniqueIdPushConnectToChildNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToChildRequestBody' + responses: + "201": + description: Notification was received successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "409": + description: Could not accept the send notification, because a notification with that messageId already exists + "422": + description: Could not accept the send notification even though it is syntactically correct. The notification is not accepted, because of semantic reasons (e.g., an item is not known by the receiver). +components: + schemas: + NotificationHeader: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + UniqueIdPushNotificationConnectToParentRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/NotificationHeader' + content: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToParentPayload' + UniqueIdPushNotificationConnectToChildRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/NotificationHeader' + content: + $ref: '#/components/schemas/UniqueIdPushNotificationConnectToChildPayload' + UniqueIdPushNotificationConnectToParentPayload: + type: object + required: + - digitalTwinType + - listOfItems + properties: + digitalTwinType: + $ref: '#/components/schemas/DigitalTwinType' + information: + type: string + maxLength: 1000 + example: "Update of serialized parts, batches, and JIS parts for which digital twins were created." + listOfItems: + type: array + items: + oneOf: + - $ref: '#/components/schemas/SerializedPartItem' + - $ref: '#/components/schemas/BatchItem' + - $ref: '#/components/schemas/JISItem' + UniqueIdPushNotificationConnectToChildPayload: + type: object + required: + - digitalTwinType + - listOfItems + properties: + digitalTwinType: + $ref: '#/components/schemas/DigitalTwinType' + information: + type: string + maxLength: 1000 + example: "Update about the parts into which a supplier's serialized parts, batches, and JIS parts were built into." + listOfItems: + type: array + items: + oneOf: + - $ref: '#/components/schemas/SingleLevelUsageAsBuilt' + - $ref: '#/components/schemas/SingleLevelUsageAsPlanned' + DigitalTwinType: + type: string + enum: + - PartType + - PartInstance + example: PartInstance + description: The classification defines the type of the Unique ID push notification. + PartItem: + type: object + required: + - manufacturerId + - manufacturerPartId + - catenaXId + properties: + manufacturerId: + type: string + example: "BPNL00000003BW3S" + description: The Business Partner Number (BPNL) of the manufacturer of the serialized part, i.e., the companies main entry. + manufacturerPartId: + type: string + example: "8840838-04" + description: The ID of the type/catalog part (of which the serialized part is an instance of) from the manufacturer. + customerPartId: + type: string + example: "AAX178378" + description: The ID of the type/catalog part (of which the serialized part is an instance of) from the customer. + SerializedPartItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - partInstanceId + properties: + partInstanceId: + type: string + example: "NO-009284492099792129568369" + description: The serial number of the serialized part from the manufacturer. We assume here that the customer does not have or create its own serial number for a part, but just used the manufacturer's serial number. + - $ref: '#/components/schemas/CatenaXIdItem' + BatchItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - batchId + properties: + batchId: + type: string + example: "NO-009284492099792129568369" + description: The serial number of the batch from the manufacturer. We assume here that the customer does not have or create its own serial number for a batch, but just used the manufacturer's serial number.' + - $ref: '#/components/schemas/CatenaXIdItem' + JISItem: + allOf: + - $ref: '#/components/schemas/PartItem' + - type: object + required: + - jisNumber + properties: + jisNumber: + type: string + example: "894651684" + description: A number that is used to identify the call-off that can be assumed unique within the specific just-in-sequence process. This is typically not the sequence number, but the call-off number. + jisCallDate: + type: string + example: "2022-01-24T09:13:34" + description: The date of the just-in-sequence call-off as stated on the call-off document itself. The value must be compliant to ISO 8601. + parentOrderNumber: + type: string + example: "OEM-A-F8LM95T92WJ9KNDD3HA5P" + description: A number identifying the just-in-sequence- part's destination parent part. The parent part is typically known upfront to the supplier for just-in-sequence parts. + - $ref: '#/components/schemas/CatenaXIdItem' + CatenaXIdItem: + type: object + required: + - catenaXId + properties: + catenaXId: + $ref: '#/components/schemas/CatenaXId' + CatenaXId: + type: string + example: "urn:uuid:d32d3b55-d222-41e9-8d19-554af53124dd" + description: Catena-X ID for a part instance, e.g., a serial part or a batch. + # ----------------------------------------- + # Schemas for Eclipse data types and shared aspect models + # ----------------------------------------- + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: + type: boolean + description: Represents a boolean value (i.e. a "flag"). + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + example: "2007-08-31T16:47+00:00" + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.quantity_2.0.0_ItemQuantityCharacteristic: + description: "Characteristic for measurements of an item (mass, count, linear,\ + \ area, volume, misc)." + type: object + properties: + value: + description: The quantity value associated with the unit. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic' + unit: + description: "The unit of an item. Common units may be related to mass,\ + \ count, linear, area, volume or misc." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration' + required: + - value + - unit + urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration: + type: string + pattern: "[a-zA-Z]*:[a-zA-Z]+" + description: Enumeration for common item units. + enum: + - unit:piece + - unit:set + - unit:pair + - unit:page + - unit:cycle + - unit:kilowattHour + - unit:gram + - unit:kilogram + - unit:tonneMetricTon + - unit:tonUsOrShortTonUkorus + - unit:ounceAvoirdupois + - unit:pound + - unit:metre + - unit:centimetre + - unit:kilometre + - unit:inch + - unit:foot + - unit:yard + - unit:squareCentimetre + - unit:squareMetre + - unit:squareInch + - unit:squareFoot + - unit:squareYard + - unit:cubicCentimetre + - unit:cubicMetre + - unit:cubicInch + - unit:cubicFoot + - unit:cubicYard + - unit:litre + - unit:millilitre + - unit:hectolitre + - unit:secondUnitOfTime + - unit:minuteUnitOfTime + - unit:hourUnitOfTime + - unit:day + urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic: + type: number + description: The quantity value associated with the unit expressed as float. + # ----------------------------------------- + # Schema: urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect + # ----------------------------------------- + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + example: "IndustryCore-UniqueIDPush-ConnectToParent:2.0.0" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + example: "urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + # ----------------------------------------- + # Schema: urn:samm:io.catenax.single_level_usage_as_built:3.0.0#SingleLevelUsageAsBuilt + # ----------------------------------------- + urn_samm_io.catenax.single_level_usage_as_built_3.0.0_DateTimeTrait: + type: string + description: Regular Expression to enable UTC and Timezone formats and the possibility + to exclude time information. + pattern: "^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?)?$" + example: "2007-08-31T16:47" + urn_samm_io.catenax.single_level_usage_as_built_3.0.0_ParentData: + description: Catena-X ID and meta data of the parent item. + type: object + properties: + quantity: + description: Quantity of which the child part is assembled into the parent + part. In general it is '1' for serialized parts. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemQuantityCharacteristic' + createdOn: + description: "Timestamp when the relation between the parent part and the\ + \ child part was created, e.g. when the given child part was assembled\ + \ into the parent part." + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_built_3.0.0_DateTimeTrait' + lastModifiedOn: + description: Timestamp when the assembly or usage relationship between parent + part and child part was last modified. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_built_3.0.0_DateTimeTrait' + isOnlyPotentialParent: + description: | + Expresses the certainty whether the part has been used as component or input material in the produced item. If the value is false, it can be assumed that the part has been used. If the value is true, there are alternatives for that part, and it is unknown if this part item or an alternative part item has been used. + This is the case when, e.g. the same item is supplied by two suppliers, and the item is only tracked by a customer part ID during assembly. Thus, these items cannot be differentiated from each other. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + businessPartner: + description: The supplier of the given child item. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + catenaXId: + description: "The Catena-X ID of the given part (e.g. the component), valid\ + \ for the Catena-X dataspace." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + required: + - createdOn + - isOnlyPotentialParent + - businessPartner + - catenaXId + urn_samm_io.catenax.single_level_usage_as_built_3.0.0_SetOfParentItemsCharacteristic: + description: Set of parent items the given child object is assembled in (one + structural level up). + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_built_3.0.0_ParentData' + uniqueItems: true + SingleLevelUsageAsBuilt: + description: "The aspect provides the information in which parent part(s)/product(s)the\ + \ given item is assembled in. Could be a 1:1 relationship in terms of an e.g.\ + \ a brake component or 1:n for e.g. coatings. The parent item must refer to\ + \ an object from as-built lifecycle phase, i.e. a batch or a serialized part." + type: object + properties: + catenaXId: + description: "The Catena-X ID of the given part (e.g. the component), valid\ + \ for the Catena-X dataspace." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + parentItems: + description: |- + Set of parent items, in which the given child object is assembled in (one structural level up). + + For serialized items the list should contain only one parent item. + As different subsets of a batch might be used by a customer in different items this is a list. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_built_3.0.0_SetOfParentItemsCharacteristic' + required: + - catenaXId + - parentItems + # ----------------------------------------- + # Schema: urn:samm:io.catenax.single_level_usage_as_planned:2.0.0#SingleLevelUsageAsPlanned + # ----------------------------------------- + urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_DateTimeTrait: + type: string + description: Regular Expression to enable UTC and Timezone formats and the possibility + to exclude time information. + pattern: "^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?)?$" + example: "2007-08-31T16:47+00:00" + urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_ValidityPeriodCharacteristic: + description: Characteristic for a validity period defined by an (optional)start + and an (optional)end timestamp. + type: object + properties: + validFrom: + description: Start date of validity period. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_DateTimeTrait' + validTo: + description: End date of validity period. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_DateTimeTrait' + urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_ParentData: + description: Catena-X ID and meta data of the parent part. + type: object + properties: + createdOn: + description: Timestamp when the relation between the parent part and the + child part was created. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_DateTimeTrait' + quantity: + description: Quantity of which the child part will be assembled into or + used in the parent part. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemQuantityCharacteristic' + lastModifiedOn: + description: Timestamp when the assembly or usage relationship between parent + part and child part was last modified. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_DateTimeTrait' + validityPeriod: + description: |- + The period of time during which the parent-child relation is valid. This relates to whether a child part can be built into or used in the production of the parent part at a given time. + If no validity period is given the relation is considered valid at any point in time. + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_ValidityPeriodCharacteristic' + businessPartner: + description: The supplier of the given child item. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + catenaXId: + description: "The Catena-X ID of the given part (e.g. the component), valid\ + \ for the Catena-X dataspace." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + required: + - createdOn + - quantity + - businessPartner + - catenaXId + urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_SetOfParentItemsCharacteristic: + description: Set of parent items the given child object will be assembled into + or used (one structural level up). + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_ParentData' + uniqueItems: true + SingleLevelUsageAsPlanned: + description: |- + The aspect provides the information in which parent part(s)/product(s)the given item is to be assembled into or used. This could be a 1:1 relationship in terms of a e.g. a brake component or 1:n for e.g. coatings. The given item as well as the parent item must refer to an object from the as-planned lifecycle phase. + If multiple versions of parent parts exist that the child part can be assembled into or used, all versions of the parent part are included in the usage list. + type: object + properties: + catenaXId: + description: "The Catena-X ID of the given part (e.g. the component), valid\ + \ for the Catena-X dataspace." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + parentItems: + description: "Set of parent parts, in which the given child object will\ + \ be assembled into or used (one structural level up)." + $ref: '#/components/schemas/urn_samm_io.catenax.single_level_usage_as_planned_2.0.0_SetOfParentItemsCharacteristic' + required: + - catenaXId + - parentItems diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_architecture-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_architecture-view.mdx new file mode 100644 index 00000000000..6d61883ec47 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_architecture-view.mdx @@ -0,0 +1,165 @@ +--- +id: Architecture View Industry Core Kit +title: Architecture View +description: 'Industry Core Kit' +sidebar_position: 2 +--- + + + +import Notice from './part_notice.mdx' +import FutureConcepts from './part_future-concepts.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +The following page offers an architecture perspective including the main building blocks and information regarding +communication between different components, shown as sequence diagrams in a runtime view. In general, data access must +be provided in the Catena-X network using the Data Space Protocol (DSP). As standard for data-level interoperability, +the Asset Administration Shell (AAS) standard is used - this is relevant for registering data via the Digital Twin +Registry (short DTR), as well as for delivery of said data. SAMM is used as modelling language to model a Digital Twin's +aspects, yielding json-schema that defines the payloads and context for runtime data. + +## Assumptions + +This architecture is based on the following assumptions: + +- There is a complete setup of the Catena-X Dataspace available with all Core Services as defined by the [Operating Model Whitepaper v2.1](https://catena-x.net/fileadmin/_online_media_/CX_Operating_Modelv2.1_final.pdf). +- All users have **completed onboarding** to the Catena-X network. This includes: + - All participants hold a Verifiable Credential issued by an Operating Company (Core Service Provider B) + - All participants have at least one Dataspace Connector deployed that's linked to their BPNL at the EDC Discovery + Service. + - All participants have an active network membership that is represented in their membership credential. + - Data Providers operate a Digital Twin Registry according to + the [Digital Twin Kit](../Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit) + - Data Providers expose their data via the Submodel API according to the Digital Twin Kit. +- The **customers of parts** (on catalog and instance level) must be known when creating a digital twin and registering + its data. Registering data in EDC and DTR requires data providers to define appropriate access permissions to prevent + exposing data to unauthorized parties. For Traceability, the customer of a part must have access to the digital twin + in + the DTR as well as to the digital twin's data in the EDC. If the customer is not known when a digital twin is created, + additional processes must be set up by the data provider to add access permissions for the customer at a later time. + +## Non-Functional Requirements + +### Lawfulness + +Automotive supply chains hold sensitive data. Not only can improper exposure lead to the loss of trade-secrets but it can also violate antitrust regulations - especially when gaining access to sensitive data of horizontal competitors. As this can jeopardize the business of a company, especially Data Providers (and by proxy Business Application Providers) must ensure that their solutions are not only secure by default but also provide ergonomic and reliable means for configuration. + +### Correctness + +Data Chains are built up of the links to resources distributed among the supply chain. This is reflected in distributed data. Publishing incorrect or outdated data to the network will have ripple-on effects that may break the chain for all interested parties. To avoid this, implementation strictly according to standard, verified by rigorous certification, is critical for the success of the Industry Core and the network as a whole. + +### Resilience + +While processing data for publishing it to Catena-X, a data provider needs to access the digital twins of built-in parts from suppliers. These must be available in Catena-X at this point. If these digital twins are not found while the data provider is looking them up, the data provider will not be able to integrate these built-in parts into BoM aspect models (e.g., SingleLevelBomAsBuilt) as it is missing the built-in parts' Unique ID. Reasons for not finding a built-in part's digital twin can be: + + 1. There is a network failure while the data provider's is looking for the digital twin. + 2. The supplier did not yet create the digital twin, e.g., because its internal processes were delayed + 3. The supplier is not yet part of the Catena-X network. + +Resilience means that the data provider implements a pipeline that can cope with these issues. Digital twins are provided with the information that is available and are updated once more information is available (e.g., the supplier provides digital twins for built-in parts later on). + +### Backward Compatibility and Versioning + +Effective management of versions and changes for Catena-X standards, KITs, and open source reference implementations is crucial to guarantee compatibility, interoperability and security especially in a decentralized data space. The Catena-X lifecycle management coordinates quarterly releases, including one major release and three minor releases per year. Only a major release may contain breaking changes and does not need to be backward compatible. + +The Catena-X data space aims to support a parallel phase of two major versions of 12 months to ensure a smooth upgrade process. Data providers and data consumers must take special care to prepare for such releases by planing necessary migrations in time. This means that, e.g., a Traceability app that was built for the previous (major) Catena-X release will still work in an environment that is running the new major release. + + - **For digital twins and aspect models**, this means that data providers and data consumers must at least support mandatory aspect model versions from the oldest, still supported major release. Newer mandatory aspect model versions can be optionally supported. A data provider cannot assume that all data consumers are already able to process newer aspect model versions. A data consumer cannot assume that all data providers already provide their data in newer aspect model versions. + + Mandatory versions for aspect models can only change in a major release as this change is breaking. Optional versions can be introduced with minor and patch versions, e.g., to introduce a future mandatory version first as optional for easier migration later on. + + A data provider that wants to support several versions of an aspect models must add a separate submodelDescriptor for every supported aspect model version to the digital twin. The submodelDescriptors will have different semanticIds and might also point to different EDC assets - depending on the asset structure used in the EDC for providing the digital twin's sumodel. + + A data consumer must search the submodelDescriptors of a digital twin for supported semanticIds and then select the most suitable one for further processing. + + - **For Notification APIs**, a separate EDC asset must be created for every major API version, e.g., for versions v1 and v2 of the API separate EDC assets must be created. The API version must be documented in the `https://w3id.org/catenax/ontology/common#version` property on a minor release level (e.g., 1.1). It is not necessary to create a separate EDC asset for every minor or patch version as these versions must always be backward compatible. + +More information about backward compatibility and versioning can be found here: +- [Life Cycle Management 101](https://catena-x.net/fileadmin/_online_media_/231006_Whitepaper_LifeCycleManagement.pdf) from the Catana-X Standard Library, +- [Digital Twin KIT - Registration at EDC](../Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-software-development-view/#registration-at-edc) with details about versioning of EDC assets (for submodels as well as for Notification assets) including examples. + +## Building Block View + +![Building Block View of the Industry Core](./assets/ic-arch-view-blocks.svg) + +## Runtime View + +The runtime patterns represent a subset of the interactions specified in the Digital Twin Kit. +Its ["Interaction Patterns" section](../Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) +describes the interaction between a Data Provider and Data Consumer including the necessary configuration steps. +Since the Discovery Services according to CX-0053 are not part of the Industry Core, all calls going to the components +`DiscoveryFinder` and `BPN Discovery Service` can be omitted. + + + +## Standards + +A formal definition of the Industry Core's content is given in the standards CX-0126 and CX-0127 - first released in +CX R24-03. These two standards build on a common subset of technologies that are themselves described in Catena-X standards. + +The two standards share a common set of base technologies. And while the Industry Core does provide Business-relevant +capabilities for Data Consumers, it can likewise serve as a launchpad for new use-cases. + +![Locating the Industry Core standards in the Catena-X landscape](./assets/ic-arch-view-stds.svg) + +The Interoperability Layer the Industry Core Standards build on, defines API structures of Data Providers and relevant +core services hosted centrally. They depend on the EDC Discovery Service defined in standard CX-0001 to discover a +participant's the EDC-endpoint. CX-0002 is the standard for the integration between assets and related data - leveraging +the Asset Administration Shell standard as adopted by Catena-X. Its correct deployment is especially critical as its +services (Digital Twin Registry and Submodel Endpoints) are operated by all Data Providers. + +The Identity and Sovereignty Layers are defined in a variety of Catena-X standards that are assumed to be deployed and +integrated form the foundation for data exchange in Catena-X. + +All relevant standards can be downloaded from the +official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- Industry Core specific + - [CX - 0126 Industry Core Part Type 1.0.0](https://catena-x.net/de/standard-library) + - [CX - 0127 Industry Core Part Instance 1.0.0](https://catena-x.net/de/standard-library) +- Interoperability Layer + - [CX - 0001 EDC Discovery API 1.0.2](https://catena-x.net/de/standard-library) + - [CX - 0002 Digital Twins in Catena-X 2.2.0](https://catena-x.net/de/standard-library) + - [CX - 0003 SAMM Aspect Meta Model 1.1.0](https://catena-x.net/de/standard-library) +- Sovereignty Layer + - [CX - 0018 Eclipse Data Space Connector (EDC) 2.1.0](https://catena-x.net/de/standard-library) +- Identity Layer + - [CX - 0013 Identity of Member Companies 1.1.0](https://catena-x.net/de/standard-library) + - [CX - 0014 Employees and Technical Users 1.0.1](https://catena-x.net/de/standard-library) + - [CX - 0015 IAM & Access Control Paradigm 1.0.1](https://catena-x.net/de/standard-library) + - [CX - 0016 Company Attribute Verification 1.1.0](https://catena-x.net/de/standard-library) + - [CX - 0017 Company Role by the Connector 1.1.0](https://catena-x.net/de/standard-library) + - [CX - 0050 Framework Agreement Credential 1.0.0](https://catena-x.net/de/standard-library) + - [CX - 0051 Summary Credential 1.0.0](https://catena-x.net/de/standard-library) + +_Sidenote: The following existing standards are incorporated into new standards. Please only refer to CX-0126 and CX-0127._ + +- [CX - 0126 Industry Core Part Type 1.0.0](https://catena-x.net/de/standard-library) is the new standard based on the following existing standards: + - CX - 0042 Aspect Model SingleLevelBomAsPlanned + - CX - 0043 Aspect Model PartAsPlanned + - CX - 0094 Aspect Model PartSiteInformationAsPlanned + - CX - 0061 Triangle Traceability Data Provisioning BomAsPlanned +- [CX - 0127 Industry Core Part Instance 1.0.0](https://catena-x.net/de/standard-library) is the new standard based on the following existing standards: + - CX - 0019 Aspect Model SerialPart + - CX - 0020 Aspect Model SingleLevelBomAsBuilt + - CX - 0021 Aspect Model Batch + - CX - 0060 Triangle Traceability - Digital Twin As-Built + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_business_view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_business_view.mdx new file mode 100644 index 00000000000..0700f650b3b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_business_view.mdx @@ -0,0 +1,140 @@ +--- +id: Business View Industry Core Kit +title: Business View +description: 'Industry Core Kit' +sidebar_position: 1 +--- + + + +import Notice from './part_notice.mdx' +import BillOfMaterials from './part_bill-of-materials.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +The following page offers a high level business view on the Industry Core KIT with its vision, mission, benefits, business value, customer journey and examples in form of videos. + +## Vision & Mission + +### Vision + + + +The goal of Catena-X is to empower data-driven use cases to address the current challenges of sustainability, + resiliency, and quality. In the automotive industry, these challenges predominantly revolve around optimizing physical parts, + components, and materials. The Catena-X Industry Core describes how these parts and vehicles can be digitally represented and found in the Catena-X network. + It serves as the foundation to enable the seamless integration of multiple use cases. + Reusing central components and standards (especially data provisioning of digital twins of parts) across different use cases promotes efficiency and interoperability. + The Industry Core enables a sovereign data exchange based on parts and vehicles and lays the foundation for compliance with supply chain regulations. + Each partner in each Industry Core compliant use case expands the Catena-X network and the realization of seamless data chains. + As a result, cross-domain network effects and n-tier use cases become possible with each use case benefiting from all others. + +### Mission + +The Industry Core describes a physical part, component or material at type and/or instance level, makes it identifiable and discoverable in the network and enables traversing across several levels. + +Thus, it acts as a fundamental framework that facilitates smooth integration of various use cases. The Industry Core KIT and standards will enable data- and application-providers to instantiate and make use of the Industry Core. +It will provide a common set of tools and a foundational definition to ensure that interoperability standards extend beyond technical aspects. This includes guidance for setting up the core- and enablement-services to ensure easy onboarding like guidance on setting up the required participant infrastructure like a decentralised Digital Twin Registry and Submodel endpoints for discovery of digital twins. +Once set up, Catena-X use cases like Traceability, Circular Economy, PCF and more can easily be built on top by adding further business logic and aspect models to the digital twins established. + +In the current version, the KIT supports the creation of digital twins on a Type-level (part- / material-number, catalog part) and Instance-level (a specific vehicle, serialized part, batches etc.) as well as the logical linking to their sub-components (Bill of Material, BoM). The default visibility of digital twins and their respective semantic models follows the one-up/one-down principle. +This one-up / one-down relationship is the basis for a secure and data sovereign data chain. + + +![DataChain_oneUp_OneDown](assets/datachain_oneup_onedown.png) + +Parts and vehicles on the Instance-level can be provided and linked to their sub parts, when the part or vehicle has been built. This is why it is often also referred to the lifecycle phase BoM as built. +Parts and vehicles at type level can be provided at the earliest when the part has been designed and is available for ordering as a catalog part. The linking of subcomponents at this point in time is often referred to as BoM as planned. However, the digital representation of the part at type level can also be initiated at a later point in time and remains in place until the part is dismantled. + +![Type_Levels](assets/ic-type_levels.png) + +The Industry Core KIT provides the necessary standards, aspect models, APIs, logics, and processes on how to implement the Industry Core. +All described specifications in the KIT are based on Catena-X standards like Data Space Connector, Asset Administration Shell (AAS), and decentralised Digital Twin Registry (DTR). They refer to other Catena-X KITs like the Connector KIT (EDC), Data Chain KIT (Item Relation Ship, IRS) and Business Partner KIT to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. + +![Type_Levels](assets/ic-components.png) + +## Business Value & Benefits +### Business Value + +The Industry Core enables a sovereign data exchange based on parts and vehicles and the realization of n-tier data chains. +It facilitates the implementation of part-related Catena-X use cases such as traceability, circular economy, PCF and many more. + +The reusing core- & enablement services and the uniform usage of digital twins +accelerates data providers and consumers to implement new use cases to the Catena-X ecosystem. +This leads to a much faster time-to-market and scalability of new value-driven use cases. + +### Todays Challenge +Catena-X use cases and solutions are based on the provision and utilisation of data. To this end, the use cases often define their own infrastructure and semantics for data exchange. This leads to redundancies at data level, resulting in additional effort and complexity in data provision. + +The Catena-X network and the Industry Core create an industry-wide standard for data exchange by re-using central components and shared semantics. +To do so, once is enough: Once EDC, BPN, decentralized registry, and digital twins according to standardized semantics are established, numerous use cases can be enabled by extending the tech-stack with domain specific data aspects / models. +The goal is to facilitate simple onboarding and leverage network effects. Reusing central components and standards (especially in data provisioning) across different use cases promotes efficiency and interoperability. + +### Benefits for OEM, SME and Solution Provider +#### OEM +The Industry Core simplifies data provision. Once the Industry Core is set up, multiple use cases can be easily enabled through additional sub-models attached to the digital twin, promoting component reuse. +This reduces infrastructure costs and time to value, lowering the barrier to entry for participation in new use cases. + +The same applies as a data consumer. Easy and fast discovery of supplier components enables fast and component-related data exchange. +The pattern for access and interaction with data from business partners becomes independent of the data’s content: After all, additional use-cases can be onboarded simply by accessing different submodels of a digital twin. + +#### SME +Reduced complexity helps SMEs participating at more than one Catena-X use case. +One example is the reduction in interfaces to shopfloor, PLM or MES systems, +as this data only needs to be provided once and not individually for each use case. + +#### Solution Provider +Fast and efficient scalability of new use cases through reusability of central components. +Solution providers will be able to implement and offer new Catena-X use cases easily and fast +since they are built on top of each other. + +## Customer Journey +With the Industry Core KIT, we support the Catena-X customer journey for our adopters and solutions providers. + +![Customer Journey](assets/ic_customer-journey.png) + +## Data Requirements + + + +### AsPlanned + +#### Short Introduction: What is a BoM AsPlanned? + +The BoM AsPlanned is the generic list of all possible catalogue parts & materials for a specific vehicle project and the supply chain from OEM to raw material suppliers. The BoM is also called 120% which means that it includes alternative parts / materials (e.g. LED headlights and XENON headlights) and parts for certain markets. It will be set up way before Start of Production (SOP) and be updated if the contents are updated. It is used for Sourcing / Production Planning and always reflects the current state of parts / materials build into this specific vehicle project. + +The BoM AsPlanned also includes all versions of parts like changed parts. It has to enable parts/materials provided from multiple manufacturers or the same manufacturer at different production sites. Additionally it must be possible to map relations of the same part/material to different customers. + +The BoM AsPlanned is based on the concept of the digital twin PartType. The corresponding life cycle is mapped using the aspect models SingleLevelBoMAsPlanned and SingleLevelUsageAsPlanned. + +The complexity of generic is much higher than BoM AsBuilt. It is used for technical topics, e.g., Supply Chain Act, DCM. + +## AsBuilt + +#### Short Introduction: What is a BoM AsBuilt? + +A BoM AsBuilt resembles a single vehicle, which means that each vehicle built has its own individual BoM asBuilt. The BoM includes all part/components which either have a serial number, batch number, JIS number (sequence number) or a combination out of these. This means, that there is a direct and specific connection between a parent and a child part/component so that an accurate and exact traceability is possible. + +Also, the BoM is called 100%, as there are no alternative parts included but only built parts. Therefore, it will be set up when a part is produced and can be connected to its parent and child parts. + +The BoM AsBuilt is based on the concept of the digital twin PartInstance. The corresponding life cycle is mapped using the aspect models SingleLevelBoMAsBuilt and SingleLevelUsageAsBuilt. + +In Catena-X the BoM asBuilt is used for technical topics, e.g., Quality, Battery Passport (CE). + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_changelog.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_changelog.mdx new file mode 100644 index 00000000000..6e5e6ff9e0c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_changelog.mdx @@ -0,0 +1,130 @@ +--- +id: Industry Core Kit Changelog +title: Changelog +description: 'Industry Core Kit' +sidebar_position: 0 +--- + + + +import Notice from './part_notice.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +All notable changes to this Kit will be documented in this file. + +## [1.1.1] - 2024-10-23 + +Compatible for **release 24.08**. + +### Removed + +- **Development View:** + - **Aspect Models:** + - Removed the *manufacturerPartId* in the key-value list of the localIdentifiers for the SerialPart, Batch and JustInsequencePart JSON-Example + - Replaced the faulty (production) country abbreviation in the JSON-Example of the Batch aspect model from *HUR* to *DEU* + +## [1.1.0] - 2024-07-11 + +Compatible for **release 24.08**. + +### Added + +- **Development View:** + - **Digital Twins:** + - Added a new guideline on how to handle Digital Twins at contract manufacturing + - Added a new guideline on how to create an implicit connection between a Part Type twin and the corresponding Part Instance twins + +## [1.0.0] - 2024-05-06 + +Compatible for **release 24.05**. + +### Added + +- **Business View:** + - Added more information and images + - Added video vision +- **Architecture View:** + - Added a concept draft for reducing the number of digital twins for instantiated parts +- **Development View:** + - **Digital Twins:** + - Added a definition for Unique ID + - Added an update for specificAssetIds with new intrinsicId as a technical lookUpKey + - Added upstream visibility (connect-to-child) to Unique ID Push + - **Aspect Models:** + - Added SingleLevelUsageAsBuilt and SingleLevelUsageAsPlanned aspects + - **Policies:** + - Added Information about the ODRL profile + +### Changed + +- **Architecture View:** + - Updated backward compatibility and versioning according to latest Catena-X guidelines +- **Development View:** + - **Digital Twins:** + - Updated section about regulatory compliance and security (previously authorization) + - Updated Unique ID Push Open API specification (to make it consistent with upstream visibility) + - Unique ID Push notifications now use the standardized message header + - Updated documentation and example of subprotocolBody field for submodel descriptors to make it less ambigous + - **Aspect Models:** + - Enhanced Unique ID Push Notification with two notification types, one for connect to parent and one for connect to child + - **Policies:** + - Updated policy payloads and information about FrameworkAgreement and UsagePurpose + +### Removed + +- **Development View:** + - Removed generated Unique ID push API documentation (know [directly available as Open API file](./openapi/unique-id-push.yaml)) + - **Digital Twins:** + - Removed deprecated properties for Unique ID Push notification asset + - **Aspect Models:** + - Removed deprecated aspect models + +## [0.1.0] - 2024-02-28 + +Compatible for **release 24.03**. + +### Added + +- **General:** + - Migrated content related to Industry Core from Traceability KIT to new Industry Core KIT +- **Business View:** + - Created initial version + - Added the customer journey for Industry Core KIT +- **Architecture View:** + - Created initial version + - Added definition and impact of backward compatibility for Industry Core +- **Operation View:** + - Created initial version +- **Development View:** + - **Digital Twins:** + - Created initial version + - **Aspect Models:** + - Created initial version + - **Policies:** + - Created initial version + +### Changed + +- **Development View:** + - **Digital Twins:** + - Updated EDC asset properties to comply with architecture guidelines for versioning and asset typization + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_software-operation-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_software-operation-view.mdx new file mode 100644 index 00000000000..19d43b544f2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/page_software-operation-view.mdx @@ -0,0 +1,40 @@ +--- +id: Operation View Industry Core Kit +title: Operation View +description: 'Industry Core Kit' +sidebar_position: 3 +--- + + + +import Notice from './part_notice.mdx' + +![Industry Core kit banner](@site/static/img/kit-icons/industry-core-kit-icon.svg) + +The following page offers information on how to operate and deploy the Industry Core. + +Since the Industry Core is a baseline and enablement for other use cases, it doesn't offer one specific application that +fullfills all functions. For the data provisioning part, the open source solution of the **Simple Data Exchanger (SDE)** +for data provisioning can be used. Further information regarding their usage, configuration and deployment are published +on GitHub: + +- [SDE Frontend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-frontend) +- [SDE Backend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-backend) + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_bill-of-materials.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_bill-of-materials.mdx new file mode 100644 index 00000000000..d706e31aafe --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_bill-of-materials.mdx @@ -0,0 +1,68 @@ +--- +sidebar_class_name: hidden +--- + + + +## Bill of Material (BoM) + +A bill of material resembles the structure of an end product. It is a list of all raw materials, sub-assemblies and sub-components that are needed to manufacture the end product. +At Catena-X Industry Core we consider more than one single BoM. The BoM changes during the lifecyle and therefore, we are talking about different BoMs in different lifecycles. + +### BoM Representations + +#### Single-Level BOM + +A single-level BOM represents one level of an assembly and does not include any lower-level subassemblies. + +#### Multi-Level BOM + +A Multi-Level Bill of Materials (BOM) is a [bill of materials (BOM)](https://www.bterrell.com/sage-accpac-erp/manufacturing/definition-multi-level-bom/definition-bom/) that lists the components, assemblies, and materials required to make a part. It provides a display of all components that are directly or indirectly used in a parent item. When an item is a subcomponent, blend, intermediate, etc., all of its components, including purchased parts and [raw materials](https://www.bterrell.com/sage-accpac-erp/manufacturing/definition-multi-level-bom/definition-bom/definition-raw-materials/), are also exhibited. A multilevel structure can be illustrated by a tree with several levels. A multi-level BOM is created by connecting a series of individual single level BOMs together. + +#### Flattened BOM + +Flattening BOM means the intermediate levels in the BOM are removed and the lowest level is directly connected to the highest level. + +### BoM Lifecycle Stages + +BoM LifeCycleStage concept based on STEP AP242 with slight adoptions in layout & wording: + +- Each instance can be identified by unique (within the organization) serial number (SN). +- The ‘multi-SN’ (multi Serial number) describes product defined with a generic part or item +- The ‘one per SN’ (one per Serial number) describes product defined with an individual part or item + +| Name |Identifier Step |Implemented CX |Identifier CX| Description |Purpose |Creating time of BoM | BoM Ausprägungen | one/more fix suppliers | +| :--- | :----:|:----: |:----: |:----: | :----: |:----: |:----: |:----: | +| **AsDesigned (AsDeveloped)** | multi-SN | Currently Not Implemented |Part number*
                        may not be the specific part number but a code that describes a part
                        (technische Produktbeschreibung) |BoM asDesigned is generated in the design phase of a new product including alternative parts. |Build up the initial BoM in design phase of a new automotive product including alternative parts
                        Expected to have research & development part descriptions instead of specific part numbers |starting 2 years before SoP (for e.g. of a new vehicle project) |150% incl. variants which will not be used later |partly known
                        can be open at this point of time | +| **AsPlanned** | multi-SN | **Implemented** |Part number|BoM AsPlanned is used to plan the manufacturing process including alternative parts. |BoM AsPlanned is used to plan manufacturing including alternative parts.
                        Sourcing will most likely be based on this (besides key parts which start earlier) |starting 1,5 years before building the first component |120% of all variants are covered, incl. possibly multiple suppliers for the same component |fixed suppliers, could be more than one supplier per part| +| **AsBuilt** | one per SN | **Implemented**|Serial number / batch number | BoM AsBuilt describes a product as manufactured. | BoM as a component is built or manufactured.
                        During manufactoring of for e.g. a vehicle the serial numbers & batch numbers are documented (German: Verbaudokumentation).
                        This leads to one BoM per built car|during building process or directly after finishing|100% |one specific supplier| +| **AsMaintained** | one per SN | Currently Not Implemented |Serial number / batch number | BoM AsMaintained describes the product after purchasing by a customer and updates by maintenance. | BoM after for e.g. a vehicle was picked up by the customer. Changes to live cycle before may apply due to maintenance or repair work e.g. exchange of parts, liquids, ...|Starts when customer has picked up the product, updating if any change is done|100% inkl. replaced parts, incl. history of exchanged parts |one specific supplier| + +The lifecycle phases are mapped exclusively via the corresponding aspect models, which are based on the DataChainTemplate. +These are the aspect models starting with the prefixes 'SingleLevelBom' or 'SingleLevelUsage'. + +While the aspect models with the prefix 'SingleLevelBoM' represents one sub-level of an assembly and does not include any lower-level subassemblies, the aspect models with the prefix 'SingleLevelUsage' contain the information in which parent part(s)/product(s) the given item is assembled in. + +The following examples illustrate the corresponding logic: +- SingleLevelBoMAs**Planned** +- SingleLevelUsageAs**Maintained** (not yet implemented, but to illustrate the logic). + +All other aspect models, such as SerialPart, do not refer to a life cycle but exclusively to a specific type of digital twin, such as a type of digital twin, such as PartInstance or PartType. + +Two of the considered BoMs are already implemented in the Industry Core and will be described as follows. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_future-concepts.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_future-concepts.mdx new file mode 100644 index 00000000000..c0ad3df4745 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_future-concepts.mdx @@ -0,0 +1,38 @@ +--- +sidebar_class_name: hidden +--- + + + +## Future Concepts + +### Reduction of Number of Digital Twins in the DTR + +With the current Industry Core concept, a digital twin must be created for every instantiated part that can be identified, e.g., with a serial number, no matter how small it is. This might result in a huge number of digital twins created in the DTR (more then several hundred million) as parts are produced on a daily basis. + +Therefore, we developed a concept to reduce the number of digital twins by building upon the PartType digital twin of such instantiated part. The processing of data is mostly the same as when data is provided conventially, i.e., with a digital twin for every instantiated part. + +- The basic idea is to use a PartType digital twin to access data about instances of a part type. It is not necessary to create digital twins for instances. +- For this PartType: + - For every aspect that should be provided for instantiated parts (e.g., SerialPart, SingleLevelBomAsBuilt), a submodelDescriptor for this aspect must be added to the part type digital twin. ** As there are no aspect models currently that are used for both, part types and part instances, this does not create any ambiguities.** + - To get the actual submodel data for a digital twin, an operation must be provided by the data provider that is called via InvokeOperationSync or InvokeOperationAsync (see the AAS standard for more details). At least the ID of the instantiated part (e.g., partInstanceId or batchId) must be specified as an input argument of this operation. **Note that details about the operation including, e..g, input arguments, still need to be standardized to provide a interoperable solution.** + - The backend data service must handle authorization for instantiated parts based on the BPN of data consumer (similar to asset bundling authorization requirements), if necessary. + - The result of this operation must be compliant to the asepct model represented by the submodel descriptor. + +With this approach, subsequent processing of the submodel data can then proceed as if a digital twin for the instantiated part was provided. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/part_notice.mdx b/docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_notice.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/part_notice.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Industry Core Kit/part_notice.mdx diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx new file mode 100644 index 00000000000..d31adfd4f5b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx @@ -0,0 +1,158 @@ +--- +id: get-manufacturing-capability +title: "getManufacturingCapability" +description: "getManufacturingCapability" +sidebar_label: "getManufacturingCapability" +hide_title: true +hide_table_of_contents: true +api: {"tags":["ManufacturingCapability"],"operationId":"getManufacturingCapability","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to get manufacturing capabilities of a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getManufacturingCapability","method":"get","path":"/{api-endpoint}/ManufacturingCapability","servers":[{"url":"https://example.com/api/v3","variables":{"api-version":{"default":"v3"}}}],"info":{"description":"The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details.","title":"Manufacturing Capability Aspect Model","version":"v3.1.0"},"postman":{"name":"get Manufacturing Capability","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","ManufacturingCapability"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to get manufacturing capabilities of a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getManufacturingCapability + + + +getManufacturingCapability + +
                        Path Parameters
                        + +The request was successful. + +
                        Schema
                          processes object[]
                          + +Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources. + +
                          machines object[]
                          + +A set of machines used for production. + +
                          provides object[]
                          + +Set of capabilities the machine can provide. + +
                          capabilityConstraintSet object[]
                          + +Set of conditions imposed on capabilities which further detail their applicability. + +
                          capabilityConstraintProperties object[]
                          + +Set of constraints restricting the capability. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          refersToMaterial object
                          + +Template for elements needing a label and containing properties. + +
                          properties object[]
                          + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          containsTools object[]
                          + +Set of machine tools the machine can be equipped with. + +
                          canProcessMaterials object[]
                          + +Set of materials the machine tool can utilize. + +
                          belongsToMaterialFamilies object[]
                          + +A material belongs to certain material families. + +
                          products object[]
                          + +Set of physical objects being used as an input or created as an output of a production process. + +
                          capabilities object[]
                          + +Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world. + +
                          capabilityConstraintSet object[]
                          + +Set of conditions imposed on capabilities which further detail their applicability. + +
                          capabilityConstraintProperties object[]
                          + +Set of constraints restricting the capability. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          refersToMaterial object
                          + +Template for elements needing a label and containing properties. + +
                          properties object[]
                          + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          machineTools object[]
                          + +A set of machine tools. + +
                          canProcessMaterials object[]
                          + +Set of materials the machine tool can utilize. + +
                          belongsToMaterialFamilies object[]
                          + +A material belongs to certain material families. + +
                          certificates object[]
                          + +Set of certificates. + +
                        + +Payload or user input is invalid. See error details in the payload for more. + +
                        Schema
                          error object
                          details object
                          + +**Possible values:** `non-empty` + +
                        • property name* object
                        + +The requesting user or client is not authenticated. + +
                        + +The requesting user or client is not authorized to access resources for the given tenant. + +
                        + +The requested Twin has not been found. + +
                        + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx new file mode 100644 index 00000000000..1708f7bcaca --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx @@ -0,0 +1,25 @@ +--- +id: manufacturing-capability-aspect-model +title: "Manufacturing Capability Aspect Model" +description: "The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details." +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: v3.1.0 + +# Manufacturing Capability Aspect Model + + + +The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details. + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md new file mode 100644 index 00000000000..4ab2e867859 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md @@ -0,0 +1,415 @@ +--- +id: API Description Manufacturing as a Service Kit +title: API Description +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +MaaS scenarios focus on connecting buyers and manufacturers. Buyers have a demand for products, which are produced by manufacturers with the required production capabilities. The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. Manufacturing Network Platforms and MaaS Manufacturer Application can use the Manufacturing Capability API to onboard their manufacturing capabilities in the Manufacturing Network Registry (see figure). + +![Reference Architecture Manufacturing Capability](res/RefArcMC.JPG) + +The Manufacturing Capability API description below shows how the Manufacturing Capability Aspect Model could be used. The aspect model is designed to represent manufacturing capabilities based on the concepts of products, processes, resources and capabilities and their relations to each other. + +Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. Below are two sample request options: + +- GET: /{api-endpoint}/ManufacturingCapability + - Description: The API endpoint to get manufacturing capabilities of a manufacturer. +- POST: /{api-endpoint}/ManufacturingCapability + - Description: The API endpoint to register manufacturing capabilities of a manufacturer. + +## Sample Data + +```json +{ + "machineTools": [ + { + "canProcessMaterials": [ + { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] + } + ], + "processes": [ + { + "billOfProcessIdentification": "www.1234-bar-chair-billOfProcess.de" + } + ], + "machines": [ + { + "containsTools": [ + { + "canProcessMaterials": [ + { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "provides": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "capabilityConstraintSet": [ + { + "capabilityConstraintProperties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "refersToMaterial": { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "@type": "MaterialEntity" + } + } + ], + "capabilityId": "urn:manufacturing-capability:capability:42", + "capabilityLabel": { + "und": "sawing" + }, + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "capabilities": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "capabilityConstraintSet": [ + { + "capabilityConstraintProperties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "refersToMaterial": { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "@type": "MaterialEntity" + } + } + ], + "capabilityId": "urn:manufacturing-capability:capability:42", + "capabilityLabel": { + "und": "sawing" + }, + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "certificates": [ + { + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ], + "products": [ + { + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx new file mode 100644 index 00000000000..6bab83957bc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx @@ -0,0 +1,158 @@ +--- +id: post-manufacturing-capability +title: "postManufacturingCapability" +description: "postManufacturingCapability" +sidebar_label: "postManufacturingCapability" +hide_title: true +hide_table_of_contents: true +api: {"servers":[{"url":"https://example.com/query-api/v3","variables":{"api-version":{"default":"v3"}}}],"tags":["ManufacturingCapability"],"operationId":"postManufacturingCapability","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to register manufacturing capabilities of a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"The filter to use.","example":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"postManufacturingCapability","method":"post","path":"/{api-endpoint}/ManufacturingCapability","jsonRequestBodyExample":{"filter":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}},"info":{"description":"The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details.","title":"Manufacturing Capability Aspect Model","version":"v3.1.0"},"postman":{"name":"post Manufacturing Capability","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","ManufacturingCapability"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to register manufacturing capabilities of a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postManufacturingCapability + + + +postManufacturingCapability + +
                        Path Parameters
                        Request Body
                        + +The request was successful. + +
                        Schema
                          processes object[]
                          + +Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources. + +
                          machines object[]
                          + +A set of machines used for production. + +
                          provides object[]
                          + +Set of capabilities the machine can provide. + +
                          capabilityConstraintSet object[]
                          + +Set of conditions imposed on capabilities which further detail their applicability. + +
                          capabilityConstraintProperties object[]
                          + +Set of constraints restricting the capability. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          refersToMaterial object
                          + +Template for elements needing a label and containing properties. + +
                          properties object[]
                          + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          containsTools object[]
                          + +Set of machine tools the machine can be equipped with. + +
                          canProcessMaterials object[]
                          + +Set of materials the machine tool can utilize. + +
                          belongsToMaterialFamilies object[]
                          + +A material belongs to certain material families. + +
                          products object[]
                          + +Set of physical objects being used as an input or created as an output of a production process. + +
                          capabilities object[]
                          + +Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world. + +
                          capabilityConstraintSet object[]
                          + +Set of conditions imposed on capabilities which further detail their applicability. + +
                          capabilityConstraintProperties object[]
                          + +Set of constraints restricting the capability. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          refersToMaterial object
                          + +Template for elements needing a label and containing properties. + +
                          properties object[]
                          + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          semanticReferences object[]
                          + +A set of semantic references. + +
                          machineTools object[]
                          + +A set of machine tools. + +
                          canProcessMaterials object[]
                          + +Set of materials the machine tool can utilize. + +
                          belongsToMaterialFamilies object[]
                          + +A material belongs to certain material families. + +
                          certificates object[]
                          + +Set of certificates. + +
                        + +Payload or user input is invalid. See error details in the payload for more. + +
                        Schema
                          error object
                          details object
                          + +**Possible values:** `non-empty` + +
                        • property name* object
                        + +The requesting user or client is not authenticated. + +
                        + +The requesting user or client is not authorized to access resources for the given tenant. + +
                        + +The requested Twin has not been found. + +
                        + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG new file mode 100644 index 00000000000..22a9f645638 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js new file mode 100644 index 00000000000..bb67358c345 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model"},{"type":"category","label":"ManufacturingCapability","link":{"type":"generated-index","title":"ManufacturingCapability","slug":"/category/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability"},"items":[{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability","label":"getManufacturingCapability","className":"api-method get"},{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability","label":"postManufacturingCapability","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md new file mode 100644 index 00000000000..906e884de15 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md @@ -0,0 +1,138 @@ +--- +id: Request for Quotation API Description Manufacturing as a Service Kit +title: API Description +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. + +![Reference Architecture Request for Quotation](resources/RefArcRfQ.JPG) + +Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. Below is a sample request option: + +1. POST:/{api-endpoint}/request-for-quotation + - Description: The API endpoint to send a request for quotation to a manufacturer. + +## Sample Data + +```json +{ + "rfqConfiguration" : { + "firstDeliveryDate" : "2023-10-24", + "additionalFiles" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "cadFile" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "additionalComments" : "this is a prototype, recommendations towards design for manufacturing are highly welcome", + "parts" : { + "generalTolerance" : "ISO 2768-1 (m), Rough DIN ISO 2768 cL, Medium DIN ISO 2768 mK, Fine DIN ISO 2768 fH", + "manufacturingDomain" : "additive manufacturing", + "material" : { + "materialFamily" : "aluminum, steel, ...", + "materialProperties" : { + "value" : "2.7 or black", + "propertyName" : "density or color", + "valueType" : "g/cm3 or string" + } + }, + "partId" : "Drehteil", + "additionalRequirements" : "premium quality check, standard quality check", + "partQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "billOfProcess" : { + "process" : [ { + "capabilityId" : "urn:manufacturing-capability:capability:42", + "childProcessSteps" : [ "pick" ], + "precedenceRelation" : [ { + "precedenceElements" : [ { + "successor" : [ "TransportStepId" ] + } ] + } ], + "processStepIdentifier" : [ "1234-transport" ], + "inputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ], + "processStepType" : "IsFirstElement", + "outputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ] + } ], + "productVersion" : "bar_chair_1.0.0", + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de", + "version" : "2.0.0", + "productName" : "Bar Chair" + }, + "partName" : "Drehteil" + }, + "orderQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "lastDeliveryDate" : "2023-12-24" + }, + "rfqIdentification" : { + "rfqVersion" : "1.0.0", + "rfqName" : "Drehteil", + "rfqDateTime" : "2023-10-24T14:48:54.709Z", + "rfqSource" : "https://maasportal.mendixcloud.com/", + "rfqId" : "Drehteil_02_0815" + }, + "cxHeader" : { + "senderBpn" : "BPNL7588787849VQ", + "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", + "expectedResponseBy" : "2023-06-19T21:24:00+07:00", + "context" : "urn:samm:io.catenax.:1.x.x", + "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn" : "BPNL6666787765VQ", + "sentDateTime" : "2023-06-19T21:24:00+07:00", + "version" : "2.0.0" + }, + "rfqSender" : { + "deliveryRequirements" : "no plastic for packaging", + "senderName" : "John Doe", + "senderPhoneNumber" : "555 123456", + "senderEMail" : "johndoe@sunny.com", + "senderDeliveryAddress" : "Mystreet 1, 1234 Mystate", + "senderAdress" : "Sunstreet 1, 5555 Sunstate", + "senderAccountAddress" : "Accountstreet 1, 1234 Accountstate", + "senderCompanyName" : "ManufactureEnterprise" + } +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx new file mode 100644 index 00000000000..e7f1c41bbe8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx @@ -0,0 +1,146 @@ +--- +id: post-request-for-quotation +title: "postRequestForQuotation" +description: "postRequestForQuotation" +sidebar_label: "postRequestForQuotation" +hide_title: true +hide_table_of_contents: true +api: {"servers":[{"url":"https://example.com/query-api/v3","variables":{"api-version":{"default":"v3"}}}],"tags":["RequestForQuotation"],"operationId":"postRequestForQuotation","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to send a request for quotation to a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"The filter to use.","example":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"postRequestForQuotation","method":"post","path":"/{api-endpoint}/request-for-quotation","jsonRequestBodyExample":{"filter":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}},"info":{"description":"The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)","title":"Request For Quotation","version":"v3"},"postman":{"name":"post Request For Quotation","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","request-for-quotation"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to send a request for quotation to a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postRequestForQuotation + + + +postRequestForQuotation + +
                        Path Parameters
                        Request Body
                        + +The request was successful. + +
                        Schema
                          rfqIdentification object
                          + +all properties necessary for identification of the request for quotation + +
                          rfqConfiguration object
                          + +all information to configure a request for quotation + +
                          cadFile object
                          + +RFQ-Configuration: CAD file as geometry definition, e.g. step file + +
                          fileObject object
                          + +the file object itself, in case this could be sent via the API + +
                          parts object
                          + +RFQ-Configuration: list of parts contained in the CAD file + +
                          material object
                          + +RFQ-PartConfiguration: material definition with further information + +
                          materialProperties object
                          + +material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table + +
                          partQuantity object
                          + +RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts. + +
                          billOfProcess object
                          + +RFQ-PartConfiguration: list of process steps for part to be manufactured + +
                          process object[]
                          + +List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process + +
                          inputParameters object[]
                          + +Optional list of parameters that are required to execute the corresponding process step + +
                          valueRangeList object[]
                          + +List with value ranges for a parameter + +
                          tolerances object[]
                          + +Tolerances for a parameter + +
                          outputParameters object[]
                          + +Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps + +
                          valueRangeList object[]
                          + +List with value ranges for a parameter + +
                          tolerances object[]
                          + +Tolerances for a parameter + +
                          precedenceRelation object[]
                          + +List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor + +
                          precedenceElements object[]
                          + +List process steps that must be executed in parallel + +
                          additionalFiles object
                          + +RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings) + +
                          fileObject object
                          + +the file object itself, in case this could be sent via the API + +
                          orderQuantity object
                          + +RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered) + +
                          rfqSender object
                          + +all data about sender of request for quotation, important for offer and delivery + +
                          cxHeader object
                          + +header information by Catena-X + +
                          :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                          + +Payload or user input is invalid. See error details in the payload for more. + +
                          Schema
                            error object
                            details object
                            + +**Possible values:** `non-empty` + +
                          • property name* object
                          + +The requesting user or client is not authenticated. + +
                          + +The requesting user or client is not authorized to access resources for the given tenant. + +
                          + +The requested Twin has not been found. + +
                          + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx new file mode 100644 index 00000000000..8ebc7f47ef4 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx @@ -0,0 +1,25 @@ +--- +id: request-for-quotation +title: "Request For Quotation" +description: "The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: v3 + +# Request For Quotation + + + +The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation) + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG new file mode 100644 index 00000000000..7bac357111b Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js new file mode 100644 index 00000000000..dff71ef79d2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation"},{"type":"category","label":"RequestForQuotation","link":{"type":"generated-index","title":"RequestForQuotation","slug":"/category/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation"},"items":[{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation","label":"postRequestForQuotation","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..667faea4237 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,14 @@ +--- +id: Introduction Manufacturing as a Service Kit +title: Introduction +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. This connection depends on the capabilities that are offered on the supplier side and that are required on the buyer side. + +The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. Manufacturing Network Platforms and MaaS Manufacturer Application can use the Manufacturing Capability API to onboard their manufacturing capabilities in the Manufacturing Network Registry (see figure). + +The Request for Quotation API defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. The necessary capabilities can be derived from the defined RfQ, which can subsequently be used in the MaaS Manufacturer Application for feasibility analyses or calculations (see figure). + +![Overview](resources/overview.png) diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md new file mode 100644 index 00000000000..00239daf7d1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md @@ -0,0 +1,859 @@ +--- +id: Architecture Manufacturing as a Service Kit +title: Architecture +description: 'Architecture +Manufacturing as a Service Kit' +sidebar_position: 4 +--- +## 1 Introduction and Goals + +Manufacturing as a Service (MaaS) requires a matchmaking between the requirements to produce a part or assembly and the capabilities manufacturers can provide, not mentioning the manufacturer’s respective capacities. In addition, manufacturers who are able to offer certain capabilities may never have produced for the product area to which they can contribute. The automotive industry has massive supply chains consisting of manufacturers from nearly every manufacturing domain there is. In such a cross-domain setup, the heterogeneity of production requirements and manufacturing capability descriptions, as well as highly different technical interfaces and governance requirements are major challenges to build an ecosystem for MaaS. + +To empower MaaS for the automotive industry the Catena-X MaaS team built the **C**atena-X **D**igital **M**aaS **E**cosystem (**CDME**). + +**This CDME architecture documentation is mostly based on the article \*[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)**\***. See chapter "Solution Strategy" for more details.** + +## 2 Constraints + +Business interests of manufacturing network platforms have to be supported. Examples: + +- business models where a platform hides its manufacturing network and acts as a manufacturer towards the market itself. +- business models where a platform's unique selling point is the provision of additional engineering services. + +## 3 Context and Scope + +### 3.1 Business Context + +#### 3.1.1 Use Cases + +MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the offerings. For this purpose, business models have been researched and use cases have been defined (cf. ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396))***. + +One of these use cases has been utilized to build the main scenario of CDME. This use case builds on a federated marketplace for manufacturing capabilities. For this, the manufacturer onboards their capabilities directly in the federated marketplace or on another MaaS marketplace (e.g., an on-demand manufacturing (ODM) platform) which then onboards their capabilities for them as a proxy. Capabilities include knowledge about the factories, e.g., machinery, human expertise, past production outputs and processes, capability terms like “band sawing”, certifications, etc. Buyers are further able to search for the manufacturing capabilities they require to produce a certain product (usually parts or assemblies). This can include individual manufacturing steps to cover missing capabilities in regard to existing productions or even fully external production offers. Both the ODM platform and the marketplace can perform the necessary matchmaking between required and offered capabilities. Usually, the ODM platforms offer the production of a certain part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number of manufacturers. However, both may use additional IT or engineering services to provide their customers with added values such as feasibility analysis or optimization for cost reduction. Moreover, marketplaces can build hierarchies within themselves or with ODM platforms. This is the case in Catena-X, where a marketplace not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered with ODM platforms. In consequence, a network of networks is built which connects different networks of manufacturers (according to their capabilities) and offers multiple layers of monetarization and added value. This approach enables a single-entry point to the network of networks via the marketplace. + +![Marketplace Use Cases](resources/MarketplaceUseCases.png) + +*Figure - Marketplace use case overview. (Schoeppenthau et al. 2023).* + +| Stakeholder | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Buyer | The buyer is a stakeholder who wants to order a component (part or assembly) to be produced by an external manufacturer. | +| Manufacturer | The manufacturer can be a single manufacturer or a manufacturing network. In the simplest case, a single manufacturer is a company with one production machine (e.g., 3D printer, lathe, etc.). A manufacturing network consists of several manufacturers that offer their manufacturing capabilities, e.g., via an ODM platform. | +| Platform Operator | Platform operators offer a software, usually cloud-based, which implements on-demand manufacturing, marketplace, and other use cases, including the respective user journey. | +| Digital Service Provider | Digital service providers offer IT or engineering logic and expertise as a digital service. They can offer their digital services to support the automation of digital manufacturing processes and reach a wider audience, thus scaling-up their business. Moreover, they support service customers in increasing their businesses. | + +#### 3.1.2 Business Process + +The following diagram covers the general business process addressed in the CDME. + +![Figure - Business process considered for CDME. Out of scope steps have not been elaborated and are therefore not covered by the technical architecture. (Schoeppenthau et al. 2023).](resources/image-2023-11-2_13-54-35.png) + +*Figure - Business process considered for CDME. Out of scope steps have not been elaborated and are therefore not covered by the technical architecture. (Schoeppenthau et al. 2023).* + +#### 3.1.3 System Context + +![Figure - System context view. (Schoeppenthau et al. 2023)](resources/System%20Scope.png) + +*Figure - System context view. (Schoeppenthau et al. 2023).* + +| Actor | Description | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Event Management | Events, e.g. issues within the supply chain, will be reported by external components and lead to reactions or status updates within the CDME. | +| External Services | External digital services are communicating with the CDME even without dataspace connector protection, e.g. when no operational data is communicated. | +| External IAM | Identity and Access Management of participating companies has to be supported by CDME. | +| Factory IT/OT | A factory's IT and OT may be connected to certain CDME components, e.g. for onboarding manufacturing capabilities via a CDME connector component. | +| External Marketplace | External marketplaces may be connected to the CDME, e.g. to federate them. | +| Dataspaces | CDME is based on the dataspace-agnostic Smart Factory Web reference architecture and can be connected to multiple dataspaces. | +| External Data and Knowledge Bases | Services and applications with CDME may exchange data with external databases, e.g. to consume ESG (Environmental, Social, Corporate Governance) information from data hubs. | +| Manufacturing Network Platform\* | Like marketplaces, other external platforms, e.g. for process optimization or cooperation matchmaking, can be connected to and federated by the CDME. | +| External Application | External applications can consume CDME services or exchange data with the CDME. Whether the data needs to be protected by dataspace technology is to be decided by the data provider. | + +| \*Manufacturing Network Platforms | Description | Website | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| Additive Manufacturing Network | The Siemens Additive Manufacturing Network is an online order-to-delivery collaboration platform for the industrial additive manufacturing community, incl. 3D printing, but also CNC machining, surface treatment and finishing. It connects the ecosystem, simplifies the collaboration process, and streamlines the production process. Siemens’ AM Network digitalizes and consistently improves your processes and ultimately accelerates the value in using Additive Manufacturing. | [Siemens Additive Manufacturing: Unlocking the true potential of AM](https://additive-manufacturing-network.sws.siemens.com/) | +| mipart | Mipart is an on demand manufacturing platform. As part of Catena-X, mipart acts as a Manufacturing Network Platform and fulfills the intermediation between the own manufacturer network and the Catena-X network. Mipart gives manufacturers who are unable to connect their resources to the Catena-X network due to limited IT options the opportunity to participate in the Catena-X network. If requests are forwarded from Catena-X to Mipart, it acts as an independent platform and matches the relevant manufacturers itself. | | +| up2parts | up2parts is a software company with the vision to increase the utilization of manufacturing companies througha cloud based platform that automates quoting and CAM with the help of AI. With their software solutions, up2parts aims for more transparency, availability of production-relevant component information, future-proof processes, and security of company expertise. This makes creation of work plans, calculations and CAM programs easier than ever. As part of Catena-X, up2parts acts as a Manufacturing Network Platform and contributes its own digital services to the MaaS architecture. Two central services are the Process Derivation Service (PDS) and Instant Quoting. | | + +#### 3.1.4 Stakeholders + +The CDME architecture covers all stakeholder roles as defined in ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)***. The following diagram and table list and describe these stakeholder roles and their relationships. + +![Stakeholders](resources/image-2023-11-2_14-7-37.png) + +*Figure - Key Roles in CDME. Eco system roles for governance are not addressed by the technological architecture. (Schoeppenthau et al. 2023).* + +| **Role** | **Description** | +| IT/Engineering Service Broker | Application which consumes IT or engineering services in order to cover user journeys, offering business logics and workflows for IT/Engineering Service Users. | +| IT/Engineering Service User | Person or application using IT or engineering services directly or through the IT/Engineering Service Broker, in order to fulfil business needs, e.g., to support engineering with feasibility analysis or costs forecast. | +| IT/Engineering Service Provider | Party providing IT or engineering services, e.g., feasibility analysis or costs forecast for a designed part. | +| Manufacturing Service User | Person (or organization) using a manufacturing service, e.g., the milling and drilling to produce a wheel suspension of their own design. | +| Manufacturing Service Provider | Organization providing a manufacturing service, such as milling or drilling. | +| Manufacturing Service Discovery | Application able to identify Manufacturing Service Providers based on manufacturing capabilities required by a Manufacturing Service User. | +| Manufacturing Service Broker | Application or organization providing Manufacturing Service Users with manufacturing services provided by manufacturing Service Providers. A Manufacturing Service Broker is also a Manufacturing Service Provider, if it also offers its own manufacturing services as well. | + +The following diagram visualizes an examplary allocation of roles to MaaS stakeholders and applications. + +![Example allocation of roles to stakeholders and applications](resources/image-2023-11-2_15-54-33.png) + +*Figure - Example allocation of roles to stakeholders and applications. (Schoeppenthau et al. 2023).* + +### 3.2 Technical Context + +The CDME supports five types of interfaces, including two interface types to communicate via dataspaces, one for the management of the respective connectors, and another covering data consumer and provider interfaces, usually containing backend adapters. As the CDME deploys a market for digital services, the services’ interfaces, usually HTTP-based APIs, like REST or GraphQL, are covered by CDME as well. Moreover, the CDME does not require such interfaces to communicate via dataspace connectors, since it is not restricted to dataspace usage. The use of a dataspace is the result of the data owner's decisions on what data should be protected by what type of technology and governance. Since Manufacturing-as-a-Service in general covers the entire production within any global supply chain, CDME must also follow an open design approach without a lock-in effect. + +![CDME interfaces](resources/Reference%20Architecture%20-%20Functional%20Layer.png) + +*Figure - CDME interfaces. (Schoeppenthau et al. 2023).* + +## 4 Solution Strategy + +The foundational concept of the CDME architecture originates from the [Smart Factory Web reference architecture](https://doi.org/10.3390/app11146585), the Fraunhofer IOSB introduced to Catena-X. During the Catena-X project, that reference architecture has been further developed. The resulting new, service-based version has been published as the [Smart Factory Web Version 2](https://doi.org/10.3390/s23177396). The Smart Factory Web Version 2 enables the federation of multiple manufacturing networks, focussing on information integration to enable cross manufacturing network lookups and matchmaking. The Smart Factory Web is dataspace-agnostic. The CDME architecture applies the Catena-X technology stack to the Smart Factory Web, resulting in a Catena-X embedding of the Smart Factory Web. + +In order to reduce the hurdle of market entry, the Catena-X MaaS digital ecosystem architecture is designed to support advanced alternatives of many of its components. As an example, the Manufacturing Network Registry can be built using AI-based information integration and situation-aware search query construction as described in the Smart Factory Web. However, an alternative registry can consist of a simple capability term to ODM platform mapping. The advanced version covers the search for federated, cross-domain information on manufacturers and provides filtering before manufacturers or ODM platforms are even queried. The simple register, on the other hand, does not offer a powerful search, but a phonebook-like lookup and therefore filters less, which may result in many more ODM platforms and manufacturers being sent queries. Since both approaches are valid, an operator could start with a simple registry and develop it into a more sophisticated registry as more information about manufacturers' capabilities and more resources for software development become available. + +## 5 Building Block View + +### 5.1 1st Level Whitebox + +![1st level whitebox view of CDME](resources/1st%20level%20whitebox%20marketplace%20use%20case.png) + +*Figure - 1st level whitebox view of CDME.* + +#### 5.1.1 Components + +| Component | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Manufacturing Network Platform | Any platform containing their own manufacturing network (i.e. registered manufacturers) that has information about the manufacturers' capabilities, e.g. ODM platforms like mipart or Additive Manufacturing Network (AMN) or production optimization platforms like Up2Parts. | +| MaaS Manufacturer Application | An application on the manufacturer's side, able to provide the manufacturer's capabilities as well as consume requests for quotation. A manufacturer either needs such an application or has to use a Manufacturing Network Platform as a proxy. In the latter case, the platform acts as supplier within the network of networks and needs the interoperability and functionalities of the manufacturer application. | +| MaaS Buyer Application | An application on the buyer's side, able to configure and send requests for quotation as well as listing matching manufacturers. | +| Digital Service | Any digital service, the marketplace will perform as broker for, e.g. feasibility analysis or derivation of manufacturing processes based on geometric part descriptions. | +| Marketplace | A MaaS marketplace acting as a round table for demanded and offered manufacturing capabilities as well as a broker for digital services. | +| Manufacturing Network Registry | A system able to onboard the capabilities of manufacturers, persist them and perform manufacturing network searches. | + +The prototypical implementation of the CDME can be allocated to these components as follows: + +| Implemented Component | Architecture Component | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | +| Up2Parts, mipart, Additive Manufacturing Network | Manufacturing Network Platform | +| SFW Connector, Up2Parts | MaaS Manufacturer Application | +| MaaS Portal (acts as Marketplace as well) | MaaS Buyer Application | +| Supply Chain Sustainability Service, Process Derivation Service (PDS), Search Engine, Asset Management Service (AMS), Asset Management and Refinement Application (AMARA), Instant Quoting Service | Digital Service | +| MaaS Portal (acts as MaaS Buyer Application as well) | Marketplace | +| Search Engine, Asset Management Service (AMS), Supplier Knowledge Base (SKB), Asset Management and Refinement Application (AMARA) | Manufacturing Network Registry | + +The Manufacturing Network Registry is implemented by the bundle of four components (Search Engine, AMS, SKB and AMARA). This bundle handles complex semantic integration tasks and will be explained in more detail within the next chapters. However, alternative, more simple Manufacturing Network Registries are possible. + +Currently, there are no on-premise solutions for MaaS Buyer and Manufacturer Applications implemented. However, in a productive environment this would likely be covered by ERP systems extended with EDCs and respective adapters covering at least a Manufacturing Capability API (for supplier) and a Request for Quotation API (for both, suppliers and buyers). + +#### 5.1.2. APIs + +Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. This connection depends on the capabilities that are offered on the supplier side and that are required on the buyer side. In order to enable the exchange and comparison of both sides, the following APIs were defined, which are based on the corresponding semantic models (cf. Chapter 8.2). + +##### Manufacturing Capability API + +The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. The API uses the Manufacturing Capability Model. The Manufacturing Capability model is designed to represent manufacturing capabilities based on the concepts of products, processes, resources and capabilities and their relations to each other (cf. section 8.2.1). + +Find more at [Development View Link](/pages/createpage.action?spaceKey=ARTIV&title=Development+View+Link&linkCreation=true&fromPageId=16799861) + +##### Request for Quotation API + +The Request for Quatation API defines how to communicate the exact requirements, specifications and needs a buyer has for a product, to the supplier. The supplier should be able to make an offer with this information. The API uses the Request for Quotation Model. The Request for Quotation Model defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services (cf. section 8.2.2). + +Find more at [Development View Link](/pages/createpage.action?spaceKey=ARTIV&title=Development+View+Link&linkCreation=true&fromPageId=16799861) + +##### Manufacturing Network Search API + +The Manufacturing Network Search API defines how a Manufacturing Network Registry is supposed to be queried for manufacturers having the manufacturing capabilities to cover a certain (sub-)process. The API uses the Bill of Process Model (cf. section 8.2.3) and certain requirements (e.g. delivery times) for requests and returns a list of matching manufacturer groups. Each group in the result list can potentially cover the requested bill of process while fulfilling the additional requirements. + +##### Process Derivation Service and Instant Quoting API + +The up2parts Public API (Service-specific API) was extended in the project by the Calculation endpoint, among other things, to enable users in Catena-X/MaaS to obtain the necessary process steps for production and a (instant) cost calculation for the production of parts based on uploaded CAD files and additional parameters. + +Find more at + +##### Catena-X Core Components + +As illustrated in the deployment view, the software components of this whitebox will usually be hosted and owned by different companies. Thus, each communication between the components on this whitebox level is protected by [Eclipse Dataspace Connectors (EDCs)](https://eclipse-tractusx.github.io/docs-kits/next/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view). Moreover, EDC and asset discovery are applied as described by the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit). + +### 5.2 2nd Level Whitebox + +#### 5.2.1 Manufacturing Network Registry + +![Whitebox view of Manufacturing Network Registry](resources/Whitebox%20CDME-2nd%20level%20WB%20Manufacturing%20Network%20Registry.png) + +*Figure - Whitebox view of Manufacturing Network Registry.* + +Further information on the following components of the Manufacturing Network Registry, realized by the Fraunhofer IOSB, can be found on the \*[**Fraunhofer IOSB** ***website***](https://disc-ecosystem.com/)\*or in ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)***. + +| Component | Description | +| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Supplier Knowledge Base | The graph-based Supplier Knowledge Base consists of manufacturing capability information and related data. It contains and links this information within interlinked semantically enriched knowledge graphs. Since it contains the onboarding data submitted by suppliers and ODM platforms (via the Asset Management Service), it enables the matchmaking between offered and required manufacturing capabilities. To achieve this, the Supplier Knowledge Base contains several AI modules for semantic integration and automated linking to autocomplete the graphs. | +| Asset Management and Refinement Application (AMARA) | AMARA is the central user interface and recommender system to enable a supplier to refine its information within the Supplier Knowledge Base. Since this improves the discoverability of the suppliers, it acts as a search engine optimization tool. The semantic mapping and linking of data play a key role for a uniform interpretation of the information in the Supplier Knowledge Base (cf. Section 5.3.1). Specifically, AMARA’s recommender system supports the user in linking its own capabilities to existing ones. For example, the capability “drilling with a drill attachment for metal” can be linked to the capability “metal drilling”. AMARA allows incomplete data to be completed using several AI modules. Thus, AMARA can support suppliers with the onboarding process and the registration of production capabilities in the Supplier Knowledge Base. | +| Asset Management Service (AMS) | The AMS is a micro service providing a GraphQL interface to manage asset information, such as enterprises, factories, processes, manufacturing capabilities and many other types of information within the Supplier Knowledge Base. Among other data, manufacturers and ODM platforms can register, update and delete their manufacturing capabilities via the AMS and are thus discoverable by the Search Engine. The Asset Management Service's GraphQL API is documented here: | +| Search Engine | This micro service processes certain requirements (e.g. delivery times) and bill of process alternatives containing manufacturing capabilities and retrieves manufacturer groups (more specifically, their factories) from the Supplier Knowledge Base which are together able to meet these requirements. The Search Engine thus performs the matchmaking process between offered and required manufacturing capabilities, based on the information provided by these manufacturers. In the context of the CDME prototype, the Search Engine is utilized by the MaaS Portal for searching manufacturers and supply chains for a set of required production processes. For this, the Search Engine contains logic to generate SPARQL queries to navigate through the knowledge graphs in order to discover the desired capabilities. Additionally, the Search Engine calculates the coverage of the requested capabilities according to the found manufacturer sets. | +| Keycloak | Keycloak is an open source software which handels the identity and access management (IAM) for the Manufacturing Network Registry. | +| API Gateway | A security gateway protecting the exposed interfaces from AMS and Search Engine by proxying them and controlling access to them. | + +#### 5.2.2 Marketplace / MaaS Buyer Application - MaaS Portal + +The MaaS Portal is a prototypical implementation of a federated marketplace in CDME. It is a cloud-based application, that was created with the Siemens low code platform Mendix, and connects offer and demand within a manufacturing network of networks. +The prototypical environment also acts as the MaaS Buyer Application. A user account management organizes the access and menu workflow. The MaaS Portal further offers a request configuration, including a user account-specific request history. After searching for potential suppliers, the graphical user interface plots a list of suppliers or shows them in a map view, including all filter criteria information for supplier selection and quotation request. In addition, users can obtain information about the network partners and the onboarding process. The idea is to also offer a marketplace for digital services, supporting the order management and execution process. + +![MaaS Portal](resources/maasPortal.png) + +| component | description | picture | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| User management | The user management handles the registration of users and administrates their account and login information. It is supporting different user roles like, buyer, supplier and service provider. Currently the buyer usage view has a more detailed and sophisticated workflow with functionality behind, as decribed in the following components for Request management, Request Broker and Result Management. For suppliers, there is an information page with link to onboarding with "SFW Connector". For service provider currently this is just an information page. | ![ ](resources/image-2024-3-12_11-16-17.png)
                          ![ ](resources/image-2024-3-12_16-39-0.png) | +| Request management | The request management supports the user (buyer) in the request configuration. The grapical user interface follows a workflow to receive all necessary information to formulate a manufacturing request. To support this process, further services such as the Process Derivation Service (PDS) can be used to generate the required manufacturing process steps (as a workplan or bill of process). Here the Catena-X standard model "Bill of Process" (BoP) can be used. All the request information is formatted to the Catena-X standard model "Request for Quotation" (RFQ).All configured requests of a user are stored in a request history overview and can be reworked or tracked. | ![ ](resources/image-2024-3-12_16-8-26-1.png)
                          ![Additive Request](resources/image-2024-3-12_11-29-3-1.png) | +| Request Broker | The request broker spreads the manufacturing request with its required capabilities (BoP) to be matched with the capabilities from onboarded suppliers and to filter, who would be able to fulfill the manufacturing request. This matchmaking is possible through the "Manufacturing Network Registry" (cf. Section 5.2.1).The request broker is then collecting the responses with all information about the matched suppliers and with the decision criteria to be listed as potential suppliers. Therefore the Catena-X standard model "Manufacturing Capability Model" can be used. | | +| Result Management | The result management plots the matched and potential suppliers with all information about the suppliers' request related resources, related capabilities, location, and additional information (e.g. carbon footprint), as a tabled list or on a map. The user (buyer) is able compare the decision criteria, choose his favorite supplier and send his request for quotation to him via the Catena-X standard "Request for Quotation" API. | ![ ](resources/image-2024-3-12_16-21-12-1.png)
                          ![ ](resources/image-2024-3-12_16-21-24-1.png) | +| Onboarding management | The onboarding management could manage a list of supplier ids. This could be used for spreading the request for searching and matchmaking, or for listing the request matched potential suppliers, or for sending the request for quotation . Currently the onboarding of new suppliers, single manufacturers or manufacturer networks, is covered by the "Manufacturing Network Registry". Suppliers can therefore use the link to the "SFW Connector" or onboard directly via the API of the Asset Management Service (AMS) | ![ ](resources/image-2024-3-12_16-46-38.png) | +| App management | The idea of the app management is to host digital services, supporting the order management and execution process. Every service provider could upload apps, like the services developed in Catena-X MaaS (e.g. Process Derivation Service, Asset Management Service, Search Engine, Supply Chain Sustainability Service, STEP File splitting service,...) to be validated and to be ready for download. Idea is to couple this with the Catena-X App Store.Currently it is just an information page without any functionality. | ![ ](resources/image-2024-3-12_16-48-15.png) | + +#### 5.2.3 Digital Service - Process Derivation Service + +The Process Derivation Service (PDS) is primarily used to extract a Bill of Process (BoP) from a CAD file (in this case the STEP file format) for subtractive processes like milling and turning. A request to the PDS must contain essential information such as a STEP file, material selection, and tolerance class. Given this information, the up2parts AI algorithm analyzes the part geometry and calculates an optimized BoP, considering factors such as the best raw material and machine resources from the master data available. The resulting BoP consists of multiple work plan proposals encompassing hierarchical process steps, for instance, milling or turning. Furthermore, the probabilities associated with each work plan proposal are calculated and attached, enabling the identification of the best solution. Consequently, these results are returned by the PDS as a response to the service request. + +#### 5.2.4 Digital Service - Instant Quoting + +The Digital Service - Instant Quoting from up2parts enables automated price calculation for production requests. + +1.Instant quoting for suppliers, which uses up2parts calculation (independent of the marketplace): + +Suppliers, with an up2parts calculation license, can use the service to calculate production requests faster and more efficiently. For this purpose, the supplier receives the necessary information for automated calculation within the framework of Catena-X/MaaS via a request using the RFQ API, as: + +- CAD file +- material +- quantity +- tolerance class +- optional post-processing steps + +Based on this information and the up2parts supplier's stored master data (such as machine resources and material costs), the up2parts AI algorithm calculates a price for the production of the requested part. The result can be used by the supplier to submit an offer to the customer more quickly (up to 80%). + +2.Instant quoting as a digital service in combination with the marketplace: + +The instant quoting service from up2parts is integrated into the marketplace as a digital service. When a buyer searches for suitable suppliers for their part in the marketplace, they can also be shown a price directly in addition to information on the supplier's skills and capacities - given the supplier supports the Instant Quoting Service. To do this, the MaaS portal sends a request in the background to the "calculation" endpoint of the up2parts Public API as soon as the buyer has uploaded a component and defined the necessary parameters such as material and quantity. Based on this information and the supplier's master data (such as machine resources and material costs) from the Manufacturing Network Registry, the up2parts AI algorithm calculates a price for the production of the requested part. The returned price information is then displayed together with the other supplier data in the marketplace, thus increasing price transparency for the buyer. + +In summary, the Instant Quoting Service from up2parts enables automated price calculation for production requests. Furthermore, with the integration into the marketplace benefits not only up2parts customers, but also all participating suppliers and buyers through increased price transparency during the search for suitable manufacturing partners. + +#### 5.2.5 Manufacturing Network Platform - Onboarding of up2parts suppliers via the Asset Management Service + +up2parts suppliers can transfer their registered manufacturing capabilities from the up2parts cockpit database with just one click in the Supplier Knowledge Base via the Asset Management Service (part of the Manufacturing Network Registry, see Section 5.2.1), to be found via the search engine within Catena-X/MaaS if they match the process capability searched for. This enables up2parts suppliers/customers to receive production requests from Catena-X/MaaS and participate from it, to increase their production capacity utilization. The manufacturing capabilities automatically update in the Supplier Knowledge Base when new resources are added or existing resources change. + +#### 5.2.6 Digital Service - Supply Chain Sustainability Service + +The Supply Chain Sustainability Service (SCSS) \[\] from the Fraunhofer IOSB enables the request of comparable, transparent, and linked sustainability information, including product carbon footprint (PCF), corporate carbon footprint (CCF), water consumption, conflict minerals, certifications, standards, and other information required for transparent sustainability assessments along supply chains. Via a defined REST API, services and platforms can query such sustainability information on products, companies, and countries. The SCSS then retrieves the requested information from the Sustainability Knowledge Base. This also includes the required arguments and meta-information to make the results comparable. The SCSS and the Sustainability Knowledge Base are based on a uniform semantic sustainability model, which enables the comparability of sustainability data/assessments based on standards, calculation methods, and indicators. In the context of MaaS, the SCSS is used by the MaaS Portal to query sustainability information on the found manufacturers to supplement the result view and enable further filtering. \[; \] + +#### 5.2.7 MaaS Manufacturer Application - SFW Connector + +The SFW Connector \[\] from the Fraunhofer IOSB is an application (available in two options: on premise, and “as a service” via a cloud version) that enables and simplifies the exchange of information with dataspace services and applications within dataspaces. This is possible because the SFW Connector generically connects APIs with other APIs (source API to target API) and lightweight content management applications. A hybrid approach to communicate with external APIs via a combination of manual and automatic application interfaces is supported. In the future, the SFW Connector will integrate an EDC to support communication across dataspaces. To support common organizational structures and scale to any organizational size, SFW Connectors can act as relays for other SFW Connectors and expose connected (internal) APIs. + +In the context of MaaS, the SFW Connector is used as the application for registering the manufacturing capabilities of participating manufacturers. Companies can map different data sources, such as CSV (comma-separated values) files, Asset Administration Shell (AAS), and JSON (JavaScript Object Notation) to a defined target schema. The latter can be the GraphQL schema of the Asset Management Service (cf. Section 5.2.1) to onboard manufacturing capabilities, so that the SFW Connector user can be found via the Search Engine, which buyers indirectly use when searching for manufacturers via the MaaS Portal. + +### 5.3 3rd Level Whitebox + +#### 5.3.1 Supplier Knowledge Base + +The Supplier Knowledge Base contains several levels of onologies. The implementation of the most important ontologies follows the following specification: + +The first ontology level consist of general concepts required within an MaaS ecosystem. + +![First-level ontology applied to the Supplier Knowledge Base](resources/image-2023-11-2_11-9-8.png) + +*Figure - First-level ontology applied to the Supplier Knowledge Base. (Schoeppenthau et al. 2023).* + +The second ontology level is specific for certain aspects within MaaS. E.g. there are representations of interpretations of supply chains and digital product passports. + +![One of the mid-level ontologies applied to the Supplier Knowledge Base](resources/image-2023-11-2_11-9-27.png) + +*Figure - One of the mid-level ontologies applied to the Supplier Knowledge Base. (Schoeppenthau et al. 2023).* + +## 6 Runtime View + +The following runtime diagrams assume that the participants already have been onboarded to Catena-X and are in possession of their Business Partner Numbers (BPN). + +>EDC and Digital Twins +> +> Note that detailled runtime sequences can be found in the official [EDC](https://eclipse-edc.github.io/docs/#/), [BPMN](https://eclipse-tractusx.github.io/docs-kits/kits/Business%20Partner%20Kit/Documentation%20BPDM/bpdm_arc42#runtime-view) and [Digital Twin](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit/) documentation. + +### 6.1 Federated Marketplace + +The major use case for the CDME is a federated, multi-domain MaaS marketplace which acts as a service broker for manufacturing service user (buyer) and the following services: Process Derivation Service, Manufacturing Network Registry , Supply Chain Sustainability Service. Embedded in the data sourvereignty concept of Catena-X, a manufacturing service user's demand will be handled as described in the following diagram. + +First, the demand and therefore the request to potential suppliers will be configured via a GUI (step 0 and 1). To match the demand to the necessary manufacturing capabilities, production process-relevant information is needed. The buyer can decide to let the Process Derivation Service (PDS) derive this information from a design document (steps 2 and 5). In any case, the respective MaaS Buyer Application (MBA) will receive the necessary information to later contact the Manufacturing Network Registry (MNR, cf. steps 3 and 4) via the Catena-X dataspace. + +**If the buyer decides to use the PDS**, the MBA is provided with the information to contact the PDS via the Catena-X dataspace (step 7). Subsequently, the MBA resolves the EDC of the PDA using the BPN and starts the negotiation for usage policies regarding the PDS API, identified by the received asset ID (step 6). With access the the PDS's API, the MBA posts its request in step 11, including intellectual property, e.g. a STEP file. The PDS interprets the input and calculates process alternatives (step 12) which it sends to the MBA in response to the request (step 13). + +**If the buyer decides to forgo PDS usage**, they have to provide process relevant information via a wizard (steps 8 and 9). This information is than used by the Marketplace to create process alternatives. + +In any case, the MBA will have process alternatives available in step 14 and can start to resolve the MNR's EDC. Next, the MBA negotiates the access to the MNR API (more concrete the search API) analogously to the negotiation with the PDS (step 14). When the MBA gained access to the MNR API, it posts a search request to the MNR including the process alternatives and a callback to the Marketplace (steps 15 and 16). The MNR then performs the matchmaking to identify manufacturer groups where each group can provide one of the process alternatives (step 17). Using the callback, these groups are sent to the Marketplace (steps 18 and 19). The Marketplace iterates over the received manufacturers and extends them with sustainability information using the Supply Chain Sustainability Service (steps 21-24 and 27), where the EDC resolvement, negotiation and requests follow the same pattern as in the previously described requests. Consequently, the Marketplace receives all necessary information about the manufacturers and their grouping and views this information in a graphical result view (step 26). Afterwards, the buyer select the manufacturer groups to sent a Request for Quotation to (step 25). Finally, in steps 28-30 the Requests for Quotation are distributed using the same pattern as before. In doing so, the RFQs are enhanced with intellectual property by the MBA similar to the PDS request. + +**If the buyer decides to use the Instant Quoting Service**, the request for quotation, including intellectual property such as the STEP file and required meta information such as resources, is sent to the instant quote service to start the instant quote process for supported suppliers. The results will then be sent back to the marketplace to display the price to the buyer. (Steps 31-35) + +**If the supplier decides to use the Instant Quoting Service,** the instant quoting process will be started and calculates a price for the production of the requested part. The result can be used by the MaaS Manufacturer Application (MMA) to start an individual RFQ generation process and to submit an offer to the customer more quickly. This could be a workflow of an ODM platform or an entirely manual workflow within the administration of a SME. (steps 36-39) + +![Swim lane diagram of a buyer journey in the Federated Marketplace use case](resources/Unbenanntes%20Diagramm.drawio.png) + +*Figure - Swim lane diagram of a buyer journey in the Federated Marketplace use case.* + +Note that the buyer as the data owner always acts as the data provider and does not have to allow the transfer of data to any third party. + +### 6.2 Manufacturer Onboarding + +For manufacturer onboarding, a Manufacturing Capability Digital Twin (DT) has to be provisioned (cf. following Figure step 0). Next, a BPN and asset ID has to be registered at the MNR. This step (step 1) can be covered by multiple alternative solutions and is therefore not described in more detail. A possible solution would be a GUI of the Manufacturing Network Registry (MNR) where Manufacturers can insert the two identifiers. However, depending on the type of provisioning, the BPN can refer to a Manufacturing Network Platform's operator or the Manufacturer itself (see Manufacturing Capability DT Provisioning for more details). In any case, in step 2, the MNR resolves the EDC for the BPN and starts the negotiation for the DTR asset. If the negotiation was successful, the MNR retrieves the Manufacturing Capability DT (for this the DTR is queried to get the respective submodel endpoint). Finally, the MNR registers the data from the DT in step 4 and the onboarding is complete. + +![Swim lane diagram of the manufacturer onboarding](resources/Swim%20Lane%20Diagrams%20Federated%20Marketplace-Manufacturer%20Onboarding.png) + +*Figure - Swim lane diagram of the manufacturer onboarding.* + +The Manufacturing Capability DT Provisioning, depicted in the following figure, depends on whether a Manufacturing Capability DT is already available and if so, whether it should be registered at a Manufacturing Network Platform (MNP) or not. In case it is available and should be registered, the manufacturer's BPN and the DT's asset ID will be stored in the MNP (steps 4 and 5). If there is no DT available yet, the Manufacturer has to decide whether it should be self-hosted or not. If the DT should be self-hosted, the Manufacturer uses the MMA's user interface to manually add the required data or connect the MaaS Manufacturer Application (MMA) to the respective data sources (steps 0-1). The MMA has to be able to transform that data into a Manufacturing Capability Digital Twin, host the DT and add it to the Manufacturer's DTR wich in turn will be registered at the Manufacturer's EDC (steps 1-3). Alternatively, the MNP can be used to create and host the DT (if the MNP supports this feature, cf. steps 6 and 7). If the MNP hosts the DT, the MNP BPN and the DT's asset ID will be provided to the manufacturer (step 8). If there is a DT available, the manufacturer can also decide against hosting it at an MNP and use it directly, e.g. for Manufacturer Onboarding at the Manufacturing Network Registry. + +![ ](resources/Swim%20Lane%20Diagrams%20Federated%20Marketplace-Manufacturing%20Capability%20DT%20Provisioning.png) + +*Figure - Swim lane diagram of the Manufacturing Capability DT provisioning needed for manufacturer onboarding.* + +## 7 Deployment View + +![ ](resources/Deployment%20View.png) + +*Figure - Deployment view of CDME which allocates corporate borders to the components to demonstrate that all components can an will most likely be operated by different companies.* + +## 8 Crosscutting Concepts + +### 8.1 Information Categories + +In an MaaS ecosystem, data is exchanged between different stakeholders. Service providers exchange data so that buyers and manufacturers can use the required functionalities of an industrial marketplace. Manufacturers need to register their production capabilities so that they can be found by buyers. Buyers make specific production requests, which are interpreted and matched with suitable manufacturers and supply chains. In the context of these processes, different information categories and objects are exchanged, as introduced in this section. + +| Information Category | Definition from ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)*** | +| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Asset** | An Asset is a physical or logical object (Entity) owned by or under the custodial duties of an organization, having either a perceived or actual value to the organization. An Asset inherits relations from an Entity. | +| **Entity** | An Entity is a concept which represents the commonalities of a Process, an Asset, and Capability. Each Entity may possess Properties and Semantic References. | +| **Property** | A Property is an attribute of an Entity which might - but does not need to possess - data. | +| **Semantic Reference** | A reference to an arbitrary globally uniquely identifiable semantic. | +| **Process** | A Process is a set of interacting operations in a system by which matter, energy, or information is transformed, transported, or stored. A Process may contain sub-processes. A Process is a set of process steps or a single process step. A Process inherits relations from an Entity. | +| **Product** | A Product is a material good or an (immaterial) service offering which is an outcome (output product) or an input (input product) of a Process. A Product inherits relations from an Entity and an Asset. | +| **Product Class** | A Product Class is a group of Products which share characteristics. | +| **Factory** | A Factory is either a physical or a virtual production plant acting as container for Production Resources and Products. It has the child concepts Virtual Factory and Physical Factory. A Factory inherits relations from an Entity and an Asset. | +| **Physical Factory** | A PhysicalFactory is a physical production plant acting as container for ProductionResources and Products. A Physical Factory inherits relations from an Entity, an Asset, and a Factory. | +| **Virtual Factory** | A VirtualFactory is a container for ProductionResources and products which cannot be associated to a Physical Factory. A Virtual Factory inherits relations from an Entity, an Asset, and a Factory. | +| **Enterprise** | An Enterprise is an organization, a company, or a business containing Factories. An Enterprise inherits Properties from an Entity and an Asset. | +| **Production Resource** | A ProductionResource is a functional unit needed to perform required operations. It differs from other resources, such as energy or raw materials. It inherits relations from an Entity and an Asset. A ProductionResource is an Asset that provides the Capabilities which are required for performing a particular process step on a Product. | +| **Capability** | A Capability is an Entity which represents a designated function to achieve an effect in the physical or virtual world. Capability inherits relations from Entity. | +| **Bill of Process (BoP)** | A BoP is a structure that shows different Processes and their relationships for manufacturing a Product. BoP is a list of Processes required for the manufacturing of a Product. | +| **Bill of Materials (BoM)** | A BoM consists of the data that identifies the items or raw materials used to produce any physical thing, whether that thing is a structure or a Product. It is a list of input products (including product properties) for a given manufacturing Process. | +| **Supply Chain** | A supply chain comprises the exchange of materials and information in the logistics process, from the procurement of raw materials to the delivery of finished Products to the end consumer. | +| **Supply Chain Element** | An Element of a Supply Chain that represents suppliers, factories, or a logistics provider. | +| **Product Passport** | The digital Product Passport is a key emerging technology within a digital ecosystem used to track and monitor product Properties throughout business processes in a sustainable economy. | +| **Human Resource** | A Human Resource is a human Production Resource that inherits all the Properties from a Production Resource. | +| **Machine** | A Machine is a Production Resource which represents a physical system using power to apply forces and control movement to perform an action, and it inherits all the Properties from a Production Resource. | +| **Location** | A Location is a container for location relevant information, such as addresses and geocoordinates. It may be referenced from an Asset. | + +For these information classes, ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)*** describes a multi-level ontological representation that has been applied to the Supplier Knowledge Base (cf. section 5.3.1). + +### 8.2 Datamodels and Semantics + +The knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources in various fields of expertise and interoperability of systems utilizing and managing this information is a major issue. The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this reason, the CDME architecture does not rely on standardized semantics. However, basic concepts, e.g. the mentioned information categories, are defined as aspect models, to provide a common semantics where appropriate. + +#### 8.2.1 Manufacturing Capability Model + +An aspect model representing manufacturing capabilities, based on the concepts for products, processes, machines, machine tools, capabilities and certificates as well as their relations to each other. Sharing information about the required and available manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and value-added services such as automated search and matchmaking. + +Link to the semantic data model: + +**Sample Data:** + +```json +{ + "machineTools" : [ { + "canProcessMaterials" : [ { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] + } ], + "processes" : [ { + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de" + } ], + "machines" : [ { + "containsTools" : [ { + "canProcessMaterials" : [ { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "provides" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "capabilityConstraintSet" : [ { + "capabilityConstraintProperties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "refersToMaterial" : { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "@type" : "MaterialEntity" + } + } ], + "capabilityId" : "urn:manufacturing-capability:capability:42", + "capabilityLabel" : { + "en" : "sawing" + }, + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "capabilities" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "capabilityConstraintSet" : [ { + "capabilityConstraintProperties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "refersToMaterial" : { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "@type" : "MaterialEntity" + } + } ], + "capabilityId" : "urn:manufacturing-capability:capability:42", + "capabilityLabel" : { + "en" : "sawing" + }, + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "certificates" : [ { + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ], + "products" : [ { + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] +} +``` + +#### Version 3.1.0 + +This is the current standardized version of the model. + +![Manufacturing Capability Model](resources/Manufacturing_Capability_Model.png) + +*Figure - Manufacturing Capability Model [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability/3.1.0)* + +### 8.2.2 Request for Quotation Model + +An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and formulate an offer. A common description of the request for quotation based on a standardized semantic definition is therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network for every Catena-X member to join and enables interoperability between the partners. + +Link to the semantic data model: + +**Sample Data:** + +```json +{ + "rfqConfiguration" : { + "firstDeliveryDate" : "2023-10-24", + "additionalFiles" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "cadFile" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "additionalComments" : "this is a prototype, recommendations towards design for manufacturing are highly welcome", + "parts" : { + "generalTolerance" : "ISO 2768-1 (m), Rough DIN ISO 2768 cL, Medium DIN ISO 2768 mK, Fine DIN ISO 2768 fH", + "manufacturingDomain" : "additive manufacturing", + "material" : { + "materialFamily" : "aluminum, steel, ...", + "materialProperties" : { + "value" : "2.7 or black", + "propertyName" : "density or color", + "valueType" : "g/cm3 or string" + } + }, + "partId" : "Drehteil", + "additionalRequirements" : "premium quality check, standard quality check", + "partQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "billOfProcess" : { + "process" : [ { + "capabilityId" : "urn:manufacturing-capability:capability:42", + "childProcessSteps" : [ "pick" ], + "precedenceRelation" : [ { + "precedenceElements" : [ { + "successor" : [ "TransportStepId" ] + } ] + } ], + "processStepIdentifier" : [ "1234-transport" ], + "inputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ], + "processStepType" : "IsFirstElement", + "outputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ] + } ], + "productVersion" : "bar_chair_1.0.0", + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de", + "version" : "2.0.0", + "productName" : "Bar Chair" + }, + "partName" : "Drehteil" + }, + "orderQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "lastDeliveryDate" : "2023-12-24" + }, + "rfqIdentification" : { + "rfqVersion" : "1.0.0", + "rfqName" : "Drehteil", + "rfqDateTime" : "2023-10-24T14:48:54.709Z", + "rfqSource" : "https://maasportal.mendixcloud.com/", + "rfqId" : "Drehteil_02_0815" + }, + "cxHeader" : { + "senderBpn" : "BPNL7588787849VQ", + "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", + "expectedResponseBy" : "2023-06-19T21:24:00+07:00", + "context" : "urn:samm:io.catenax.:1.x.x", + "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn" : "BPNL6666787765VQ", + "sentDateTime" : "2023-06-19T21:24:00+07:00", + "version" : "2.0.0" + }, + "rfqSender" : { + "deliveryRequirements" : "no plastic for packaging", + "senderName" : "John Doe", + "senderPhoneNumber" : "555 123456", + "senderEMail" : "johndoe@sunny.com", + "senderDeliveryAddress" : "Mystreet 1, 1234 Mystate", + "senderAdress" : "Sunstreet 1, 5555 Sunstate", + "senderAccountAddress" : "Accountstreet 1, 1234 Accountstate", + "senderCompanyName" : "ManufactureEnterprise" + } +} +``` + +![RFQ](resources/RFQ.png) + +### 8.2.3 Bill of Process Model + +The Manufacturing Capability Model as well as the Request For Quotation Model reference the Bill of Process data model from the Modular Production KIT (Link: ), which describes the best-practice approach for produrcing a product, includin detailed information about processes, process precendence, and process parameters. + +Link to the semantic data model: [https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.bill_of_process/1.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation/3.0.0) + +![Bill of Process data model](resources/bill_of_process_datamodel.drawio.png) + +### 8.2.4 Manufacturer Sets + +The Manufacturing Network Registry responds to queries with manufacturers matching the request. These manufacturers are clustered in manufacturer sets. One manufacturer set can meet the requirements of the request together, although single manufacturers within that group couldn't. The manufacturers within a set are modeled using the Manufacturing Capability Model (cf. section 8.2.1). + +**Sample Data (response of the Search Engine):** + +```json +{ + "data": { + "searchByUp2PartsWorkplan": { + "code": 200, + "success": true, + "message": "Success! We found some supplier sets for you.", + "supplierSets": [ + { + "result": [ + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#2a798e7f-498d-4056-bcf7-d4a0243c620e", + "label": "CRAFTPART", + "description": "Fictional factory" + }, + "fieldSpecificResults": [ + { + "code": 268567043 + } + ] + }, + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#40fad2ad-56fb-4ccb-913a-76a96417bdd3", + "label": "SAWmaster", + "description": "Fictional factory" + }, + "fieldSpecificResults": [ + { + "code": 268501507 + } + ] + } + ], + "coverageDepth": 1.0, + "coverageSteps": 1.0 + }, + { + "result": [ + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#92684210-934d-4082-8c53-1c6cbd6d6bcb", + "label": "mipart GmbH", + "description": "mipart GmbH" + }, + "fieldSpecificResults": [ + { + "code": 268567043 + } + ] + } + ], + "coverageDepth": 1.0, + "coverageSteps": 1.0 + } + ] + } + } +} +``` + +## 9 Architecture Decisions + +| | | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Sovereignty | The buyer as the data owner always acts as the data provider as well and does not have to allow the transfer of data to third parties. Therefore, service brokers (e.g. marketplaces) build queries to digital services, for buyer applications, instead of querying the services directly and transferring the buyer's data to them. | +| Federation | The manufacturing capabilities are stored within the Manufacturing Network Registry instead of following a complete distributed approach. For the scientific background of this decision the reader is referred to ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396).*** | +| Dataspace | CDME is a Catena-X embedding of the dataspace-agnostic Smart Factory Web reference architecture. As such, it supports the Catena-X technology stack, but can also be connected to other dataspaces. This is necessary, because CDME is supposed to support the full range of manufacturing supply chains. Therefore, lock-in effects have to be omitted and suppliers commited to other dataspaces have to be included as well. | diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png new file mode 100644 index 00000000000..1ba1cb0be37 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png new file mode 100644 index 00000000000..67b2eb6321f Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png new file mode 100644 index 00000000000..dbe15582bb3 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/MarketplaceUseCases.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/MarketplaceUseCases.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/MarketplaceUseCases.png rename to docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/MarketplaceUseCases.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png new file mode 100644 index 00000000000..15eebd1702e Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png new file mode 100644 index 00000000000..161d76aa580 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png new file mode 100644 index 00000000000..938284a5755 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png new file mode 100644 index 00000000000..e66c86aa4f7 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png new file mode 100644 index 00000000000..1d05ee3d8b3 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png new file mode 100644 index 00000000000..f84b4057dde Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png new file mode 100644 index 00000000000..9611118d8f8 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png new file mode 100644 index 00000000000..d05602964ad Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png new file mode 100644 index 00000000000..a5b6ced12c1 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png new file mode 100644 index 00000000000..5ac6aa5b5b5 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/image-2023-11-2_13-54-35.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_13-54-35.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/image-2023-11-2_13-54-35.png rename to docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_13-54-35.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png new file mode 100644 index 00000000000..47e3746b13f Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png new file mode 100644 index 00000000000..d953bb0716e Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png new file mode 100644 index 00000000000..dabafbeb2b6 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png new file mode 100644 index 00000000000..8e2af08dcc3 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png new file mode 100644 index 00000000000..fc9a2a862b0 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png new file mode 100644 index 00000000000..33e2614cbc4 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png new file mode 100644 index 00000000000..dcbd00740ff Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png new file mode 100644 index 00000000000..2b825cdfba9 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png new file mode 100644 index 00000000000..572441bc29a Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png new file mode 100644 index 00000000000..185228b6260 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png new file mode 100644 index 00000000000..c8b9f6a0c84 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png new file mode 100644 index 00000000000..0707baaf437 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_adoption-view.md new file mode 100644 index 00000000000..d6c8fb562ee --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_adoption-view.md @@ -0,0 +1,130 @@ +--- +id: Adoption View MaaS KIT +title: Adoption View +description: 'MaaS KIT' +sidebar_position: 2 +--- + +![Maas kit banner](/img/kit-icons/manufacturing-kit-icon.svg) + +### Manufacturing as a Service KIT + +## Vision & Mission + +**Enable interoperable, federated network of networks linking manufacturing demand with manufacturing capabilities to enable digital manufacturing as a service**. + +**Comprehensive reference architecture with standardized interfaces for on-demand manufacturing**. + +The Manufacturing-as-a-Service (MaaS) KIT defines the mechanisms and services required for an interoperable, federated network of networks where manufacturing demand meets manufacturing capabilities. The Catena-X Digital Manufacturing as a Service Ecosystem (CDME) provides a comprehensive reference architecture with standardized interfaces and data models, including first implemented services, to present the operational network of networks with a single entry point into the world of domain-independent on-demand manufacturing (ODM). The main focus is on the mediation of manufacturing demand and manufacturing supply, which is offered in a service-orientated manner. In addition, IT services enable connectivity and process automation to be part of this digital marketplace. + +## Business Value + +### Stakeholder Benefit + +Stakeholders of a Manufacturing-as-a-service ecosystem are on the one hand consumers, who need support in manufacturing process steps, here called buyers, and on the other hand suppliers, who provide manufacturing tasks, here single manufacturers, supplier networks and on-demand-manufacturing (ODM) platforms. In addition, there are digital service providers, supporting in process automation. +Buyers should get an easy access to a multi-domain network of networks, not limited to before known suppliers and not forced to be registered at several domain-specific networks or ODM platforms. They can use standardized formats and communication channels that are not subject to the heterogeneous restrictions defined by the supplier, and they are guided in defining their requirements and preparing all the necessary information to obtain a reliable offer. +Suppliers get higher visibility with company promotion on digital marketplaces to be automatically found by new customers with capability tailored manufacturing requests and reduced time-consuming and expensive offering effort. They get access to supporting services like instant quoting or production planning and they achieve an increased utilization of free capacities. +Service providers get a new market platform for services supporting Manufacturing-as-a-Service processes, like part analyzing and work plan derivation, manufacturing process depending step file splitting, instant quoting or connectivity to the network. + +### Reference architecture + +The reference architecture includes standardized and tested interfaces and data models that can be used for the development and implementation of Manufacturing-as-a-Service solutions (Chaper 4 of Whitepaper). + +### Standards + +Standardizing the necessary interfaces and data models of our architecture enables to exchange data with different systems and users and to extend the reference architecture with additional services, replace certain individual services with equivalent ones or to remove optional services. +Within the Manufacturing-as-a-Service KIT, two main standards were defined: + +- [Manufacturing Capability Model and API](#standards-1) - for declaration of offered and required manufacturing capabilities +- [Request for Quotation Model and API](#standards-1) - for manufacturing demand configuration + +### First implemented example services and applications + +There are several demonstrators and services that provide different building blocks within the reference architecture and support the workflow of a MaaS marketplace for customers. + +- SFW Connector - for manufacturer onboarding of their offered capabilities +- Supplier Knowledge Base - knowledge base for supplier information including capabilities +- Asset Management Service - register, update and delete manufacturing capabilities +- Asset Management and Refinement Application (AMARA) - central user interface and recommender system to enable a supplier to refine its information within the Supplier Knowledge Base +- Sustainability Knowledge Base - knowledge base for manufacturer sustainability information (including certifications, PCF, CCF, etc.) +- Supply Chain Sustainability Service - collects information for a supply chain from the Sustainability Knowledge Base +- SFW Search Engine - performs the matchmaking process between the manufacturer and the buyer, based on the information provided by these manufacturers +- Process Derivation Service - to derive required manufacturing processes +- STEP File splitting service - to split assembly products in single part components +- MaaS Portal - GUI appplication for demand configuration and supplier selection +- Digital Service Instant Quoting - enables automated price calculation for production requests + +## UseCase / Domain explanation + +MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the offered manufacturing capability. + +The goal is a federated marketplace for Manufacturing-as-a-Service, connecting single manufacturers and on-demand manufacturing platforms over different manufacturing domains, including the support in digitalization and automation by provided services supporting specific steps in the offering process. Manufacturers who want to offer their manufacturing resources as a service, will do so by onboarding their manufacturing capabilities directly to the federated marketplace or to existing on-demand manufacturing platforms or networks. Capabilities can include knowledge of the factories, e.g., machinery, employee expertise, past production outputs and processes, capability terms like “band sawing”, certifications, etc. Buyers search for the manufacturing capabilities they need to produce a specific product (usually parts or assemblies). This can include individual manufacturing steps to cover missing capabilities related to existing productions or even fully external production offers. Both the ODM platform and the marketplace can perform the necessary matchmaking between required and offered capabilities. Typically, the ODM platforms offer the production of a specific part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number of manufacturers. However, both may utilize additional IT or engineering services to provide their customers with added values such as onboarding application, automated process derivation or sustainability services. A federated marketplace not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered with ODM platforms. As a result, a network of networks is built, which connects different networks of manufacturers (according to their capabilities) and different domains. This approach enables a single-entry point to the network of networks via the marketplace. + +![Marketplace use case overview (Schoeppenthau et al. 2023)](resources/MarketplaceUseCases.png) + +*Marketplace use case overview (Schoeppenthau et al. 2023)[^1].* + +## Whitepaper + +To empower MaaS for the automotive industry we built a reference architecture of a digital MaaS ecosystem based on a dataspace-agnostic reference architecture for open, sustainable, and resilient digital manufacturing ecosystems. To perform the capability matchmaking and capability data integration, the prototypical implementation of this reference architecture consists of components for smart semantic integration to bridge the semantic gap between different manufacturing capability descriptions, as well as a search engine and a multi-purpose API connector. Furthermore, the standardization of interfaces and data models for the most relevant communication within the architecture ensures exchangeability of and interoperability between all major components. This prevents the vendor lock-in effect, enables a market for MaaS services and opportunities for interested operating companies. The architecture fully supports existing manufacturing networks like on-demand manufacturing platforms by federating them in utilizing a network of networks approach. + +The journal article “Building a Digital Manufacturing as a Service Ecosystem for Catena-X” describes the dataspace-agnostic basis for the Catena-X MaaS reference architecture. + +![Link to the journal paper: ](resources/Architekturteaser.png) + +*Building a Digital Manufacturing as a Service Ecosystem for Catena-X[^1].* + +## Semantic Models + +Knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources, in different disciplines, and the interoperability of systems that use and manage this information is a major challenge. The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this reason, the CDME architecture does not rely on standardized semantics. However, basic concepts are defined as aspect models, to provide a common semantics where appropriate. + +### Manufacturing Capability Model + +An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other. Sharing information about the required and available manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and value-added services such as automated search and matchmaking. + +Link to the semantic data model: + +### Request for QuotationModel + +An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and formulate an offer. A common description of the request for quotation based on a standardized semantic definition is therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network for every Catena-X member to join and enables interoperability between the partners. + +Link to the semantic data model: + +- + +## Logic / Schema + +In general, the MaaS KIT does not consider specific business logic. However, a capability matchmaking is a central requirement for every MaaS KIT-based architecture. This leads to the phases depicted in the figure below. The figure segments the phases into phases containing ecosystem and user actions. For the matchmaking to work, manufacturers have to register themselves with the ecosystem in order to onboard their capability-related information. Furthermore, since they have the domain-expertise regarding their capabilities, they refine them, which from their point of view is similar to search engine optimization. For all that, they can use services provided by the digital ecosystem (cf. Service Provision and Consumption). Stakeholders with a demand for manufacturing capabilities can further use services to communicate this demand to the systems which perform the matchmaking. Additionally, if the demand is not yet available as process alternatives or similar machine-interpretable structures, it has to be transformed accordingly. If manufacturers have been found by their matching capabilities, they have to be further filtered by additional aspects, e.g. carbon footprints, to fit respective prerequisites for an order. For this, the information of interest has to be requested from factory endpoints or further services. + +The figure also depicts phases which are currently out of scope. + +![Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023](resources/image-2023-11-2_13-54-35.png) + +*Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023)[^1].* + +[^1]: ```Schöppenthau, F.; Patzer, F.; Schnebel, B.; Watson, K.; Baryschnikov, N.; Obst, B.; Chauhan, Y.; Kaever, D.; Usländer, T.; Kulkarni, P. Building a Digital Manufacturing as a Service Ecosystem for Catena-X. Sensors 2023, 23, 7396. https://doi.org/10.3390/s23177396``` + +## Standards + +Standardizing the necessary interfaces and data models of our architecture enables to exchange data with different +systems and users and to extend the reference architecture with additional services, replace certain individual services +with equivalent ones or to remove optional services. + +Within the Resiliency KIT Manufacturing as a service, two main standards were defined: + +- [CX - 0052: Manufacturing Capability Model and API](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_Januar_2024/CX-0052-AspectModelManufacturingCapability-v1.0.0.pdf) - + for declaration of offered and required manufacturing capabilities +- [CX - 0129:Request for Quotation Model and API](https://catena-x.net/de/standard-library) - for manufacturing demand + configuration + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by + Fraunhofer IOSB) +- SPDX-FileCopyrightText: 2024 ISTOS GmbH +- SPDX-FileCopyrightText: 2024 mipart GmbH +- SPDX-FileCopyrightText: 2024 Siemens AG +- SPDX-FileCopyrightText: 2024 up2parts GmbH diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_changelog.md new file mode 100644 index 00000000000..cc540906fb0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/page_changelog.md @@ -0,0 +1,41 @@ +--- +id: Manufacturing as a Service KIT Changelog +title: Changelog +description: 'Manufacturing as a Service KIT' +sidebar_position: 1 +--- + +![Maas kit banner](/img/kit-icons/manufacturing-kit-icon.svg) + +### Manufacturing as a Service KIT + +All notable changes to this KIT will be documented in this file. + +## [1.0.0] - unreleased + +### Added + +- Manufacturing Capability API +- Request for Quotation API + +### Changed + +- Changed banner image file location and converted .png image to .svg + +### Removed + +- ./. + +## [0.1.0] - 2024-03-29 + +### Added + +- Initial version of the KIT + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/Architekturteaser.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/Architekturteaser.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Manufacturing as a Service Kit/resources/Architekturteaser.png rename to docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/Architekturteaser.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/MarketplaceUseCases.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/MarketplaceUseCases.png new file mode 100644 index 00000000000..9a48745c013 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/MarketplaceUseCases.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/image-2023-11-2_13-54-35.png b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/image-2023-11-2_13-54-35.png new file mode 100644 index 00000000000..df092abecbf Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Manufacturing as a Service Kit/resources/image-2023-11-2_13-54-35.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-forecast.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-forecast.api.mdx new file mode 100644 index 00000000000..6556a6d32cf --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-forecast.api.mdx @@ -0,0 +1,70 @@ +--- +id: get-provide-production-forecast +title: "getProvideProductionForecast" +description: "getProvideProductionForecast" +sidebar_label: "getProvideProductionForecast" +hide_title: true +hide_table_of_contents: true +api: {"tags":["ProvideProductionForecast"],"operationId":"getProvideProductionForecast","parameters":[{"name":"tenant-id","in":"path","description":"The ID of the tenant owning the requested Twin.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Answer to a customer with all information about the requested items","type":"object","properties":{"productionForecastResponse":{"description":"The concrete information about a production forecast","type":"object","properties":{"listOfForecastItems":{"description":"List of ForecastItems matching the items to an order","type":"array","items":{"description":"ForecastItem entry for the requested order","type":"object","properties":{"positionId":{"description":"Identifier of a position of an order","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"productionForecast":{"description":"Date of completion","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"precisionOfForecast":{"description":"Accuracy of the prediction","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"productionStatus":{"description":"Status of the order/position within MP","type":"string","enum":["itemReceived","itemPlanned","itemInProduction","itemCompleted","statusUndefined"]},"reasonsForDelay":{"description":"Optional field to provide information to the customer why a delivery date is not met","type":"string","enum":["supplyProblems","otherCircumstances","internalProblems","noInformationAvailable"]},"returnCode":{"description":"Return code that indicates whether a single item of an order matches the customers desired request","type":"string","enum":["ok","lowerAccuracyOfPrecision","noForecastAvailable"]},"forecastDate":{"description":"Date/time of the forecast calculation","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"}},"required":["positionId","productionForecast","precisionOfForecast","productionStatus","returnCode","forecastDate"]}},"iterationNumber":{"description":"Only set in CommunicationMode == \"notification/cyclic\" to be able to check the order of the notifications. \n\nNot required for communication mode = \"synchronous\"","type":"number"},"communicationMode":{"description":"Specification of the communication mode","type":"string","enum":["synchronous","cyclic","notification"]},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["listOfForecastItems","communicationMode","version"]},"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["productionForecastResponse","header"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getProvideProductionForecast","method":"get","path":"/{tenant-id}/provide-production-forecast","servers":[{"url":"catenax.io/api/v2","variables":{"api-version":{"default":"v2"}}}],"info":{"title":"Provide Production Forecast","version":"v2"},"postman":{"name":"get Provide Production Forecast","description":{"type":"text/plain"},"url":{"path":[":tenant-id","provide-production-forecast"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The ID of the tenant owning the requested Twin.","type":"text/plain"},"type":"any","value":"","key":"tenant-id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Modular Production Kit/Software Development View/Consumer//provide-production-forecast +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getProvideProductionForecast + + + +getProvideProductionForecast + +
                          Path Parameters
                          + +The request was successful. + +
                          Schema
                            productionForecastResponse object
                            + +The concrete information about a production forecast + +
                            listOfForecastItems object[]
                            + +List of ForecastItems matching the items to an order + +
                            precisionOfForecast object
                            + +Accuracy of the prediction + +
                            header object
                            + +Contains standardized attributes for message processing common across several use cases. + +
                            :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                            + +Payload or user input is invalid. See error details in the payload for more. + +
                            Schema
                              error object
                              details object
                              + +**Possible values:** `non-empty` + +
                            • property name* object
                            + +The requesting user or client is not authenticated. + +
                            + +The requesting user or client is not authorized to access resources for the given tenant. + +
                            + +The requested Twin has not been found. + +
                            + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-tracking.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-tracking.api.mdx new file mode 100644 index 00000000000..86dcfabae6d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/get-provide-production-tracking.api.mdx @@ -0,0 +1,70 @@ +--- +id: get-provide-production-tracking +title: "getProvideProductionTracking" +description: "getProvideProductionTracking" +sidebar_label: "getProvideProductionTracking" +hide_title: true +hide_table_of_contents: true +api: {"tags":["ProvideProductionTracking"],"operationId":"getProvideProductionTracking","parameters":[{"name":"tenant-id","in":"path","description":"The ID of the tenant owning the requested Twin.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Aspect for the production tracking response","type":"object","properties":{"response":{"description":"Response data for the production tracking request","type":"object","properties":{"processStepIdentifierList":{"description":"List that contains a set of process steps, where each process step provides a list with the values of the requeste parameters","type":"array","items":{"description":"Data type to express process steps with corresponding paramater","type":"object","properties":{"processStepId":{"description":"Id of a concrete process step","type":"string"},"processParameterValueList":{"description":"A set of process parameter for the corresponsing process step, that corresponds to the requested parameters","type":"array","items":{"description":"Data Type to provide process parameter with values from process step","type":"object","properties":{"processParameterName":{"description":"Name of a process parameter","type":"string"},"semanticId":{"description":"Reference to a global defined semantic that characterizes the process parameter. For eaxample an E-Class reference","type":"string"},"processParameterValue":{"description":"The concrete value of a process parameter. Becomes mandatory in case that the processParameterQuality property is not set to NoValue","type":"string"},"processParameterQuality":{"description":"Enumeration to provide additional information about the significance of the parameter.","type":"string","enum":["ok","inexact","noValue"]}},"required":["processParameterName","semanticId","processParameterQuality"]}}},"required":["processStepId","processParameterValueList"]}},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"},"identifierType":{"description":"Distinghuished between a bill of material, a part instanceId or a batchId to identify a product","type":"string","enum":["partInstanceId","batchId","bomId"]},"identifierNumber":{"description":"Identifier number of a product","type":"string"},"catenaXId":{"description":"The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"}},"required":["processStepIdentifierList","version","identifierType","identifierNumber"]},"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["response","header"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getProvideProductionTracking","method":"get","path":"/{tenant-id}/provide-production-tracking","servers":[{"url":"catenax.io/api/v1","variables":{"api-version":{"default":"v1"}}}],"info":{"title":"Provide Production Tracking","version":"v1"},"postman":{"name":"get Provide Production Tracking","description":{"type":"text/plain"},"url":{"path":[":tenant-id","provide-production-tracking"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The ID of the tenant owning the requested Twin.","type":"text/plain"},"type":"any","value":"","key":"tenant-id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Modular Production Kit/Software Development View/Consumer//provide-production-tracking +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getProvideProductionTracking + + + +getProvideProductionTracking + +
                            Path Parameters
                            + +The request was successful. + +
                            Schema
                              response object
                              + +Response data for the production tracking request + +
                              processStepIdentifierList object[]
                              + +List that contains a set of process steps, where each process step provides a list with the values of the requeste parameters + +
                              processParameterValueList object[]
                              + +A set of process parameter for the corresponsing process step, that corresponds to the requested parameters + +
                              header object
                              + +Contains standardized attributes for message processing common across several use cases. + +
                              :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                              + +Payload or user input is invalid. See error details in the payload for more. + +
                              Schema
                                error object
                                details object
                                + +**Possible values:** `non-empty` + +
                              • property name* object
                              + +The requesting user or client is not authenticated. + +
                              + +The requesting user or client is not authorized to access resources for the given tenant. + +
                              + +The requested Twin has not been found. + +
                              + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js new file mode 100644 index 00000000000..8241429f854 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Consumer/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"category","label":"ProvideProductionForecast","link":{"type":"generated-index","title":"ProvideProductionForecast","slug":"/category/kits/Modular Production Kit/Software Development View/Consumer/provide-production-forecast"},"items":[{"type":"doc","id":"kits/Modular Production Kit/Software Development View/Consumer//get-provide-production-forecast","label":"getProvideProductionForecast","className":"api-method get"}]}]; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-forecast.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-forecast.api.mdx new file mode 100644 index 00000000000..f66672bec37 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-forecast.api.mdx @@ -0,0 +1,84 @@ +--- +id: get-get-production-forecast +title: "getGetProductionForecast" +description: "getGetProductionForecast" +sidebar_label: "getGetProductionForecast" +hide_title: true +hide_table_of_contents: true +api: {"tags":["GetProductionForecast"],"operationId":"getGetProductionForecast","parameters":[{"name":"tenant-id","in":"path","description":"The ID of the tenant owning the requested Twin.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Aspect Model to request a production forecast","type":"object","properties":{"request":{"description":"Data model for a request","type":"object","properties":{"offset":{"description":"Send/start time of the first message/notification\n- \"0\" ==> immediate response","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"customerId":{"description":"Internal customer Id","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"precisionOfForecast":{"description":"Accuracy of the time specification of the completion date.\n- default: implicitly defined by production\n- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy.","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"productionForecastForAll":{"description":"Boolean variable that detemines whether the customer request information about each position of an order, or information about the complete order","type":"boolean"},"orderId":{"description":"The Id identifying subject of the request","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"deviationOfSchedule":{"description":"Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber\n\nmandatory for CommunicationMode = \"notification\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"notificationInterval":{"description":"Interval time that either specifies the cyclic send time or limits the notification time\nmandatory for CommunicationMode = \"cyclic\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"communicationMode":{"description":"Specification of the communication mode","type":"string","enum":["synchronous","cyclic","notification"]},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["offset","customerId","productionForecastForAll","orderId","communicationMode","version"]},"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getGetProductionForecast","method":"get","path":"/{tenant-id}/get-production-forecast","servers":[{"url":"catenax.io/api/v2","variables":{"api-version":{"default":"v2"}}}],"info":{"title":"Get Production Forecast","version":"v2"},"postman":{"name":"get Get Production Forecast","description":{"type":"text/plain"},"url":{"path":[":tenant-id","get-production-forecast"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The ID of the tenant owning the requested Twin.","type":"text/plain"},"type":"any","value":"","key":"tenant-id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Modular Production Kit/Software Development View/Provider//get-production-forecast +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getGetProductionForecast + + + +getGetProductionForecast + +
                              Path Parameters
                              + +The request was successful. + +
                              Schema
                                request object
                                + +Data model for a request + +
                                offset object
                                + +Send/start time of the first message/notification +- "0" ==\> immediate response + +
                                precisionOfForecast object
                                + +Accuracy of the time specification of the completion date. +- default: implicitly defined by production +- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy. + +
                                deviationOfSchedule object
                                + +Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber + +mandatory for CommunicationMode = "notification" + +
                                notificationInterval object
                                + +Interval time that either specifies the cyclic send time or limits the notification time +mandatory for CommunicationMode = "cyclic" + +
                                header object
                                + +Contains standardized attributes for message processing common across several use cases. + +
                                :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                                + +Payload or user input is invalid. See error details in the payload for more. + +
                                Schema
                                  error object
                                  details object
                                  + +**Possible values:** `non-empty` + +
                                • property name* object
                                + +The requesting user or client is not authenticated. + +
                                + +The requesting user or client is not authorized to access resources for the given tenant. + +
                                + +The requested Twin has not been found. + +
                                + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-tracking.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-tracking.api.mdx new file mode 100644 index 00000000000..4b07500caf9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/get-get-production-tracking.api.mdx @@ -0,0 +1,70 @@ +--- +id: get-get-production-tracking +title: "getGetProductionTracking" +description: "getGetProductionTracking" +sidebar_label: "getGetProductionTracking" +hide_title: true +hide_table_of_contents: true +api: {"tags":["GetProductionTracking"],"operationId":"getGetProductionTracking","parameters":[{"name":"tenant-id","in":"path","description":"The ID of the tenant owning the requested Twin.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Aspect to request product specific data from modular production","type":"object","properties":{"request":{"description":"Contains the data for the production tracking request","type":"object","properties":{"stepIdentifierList":{"description":"List of manufacturing steps from which a set of parameter is requested. The manufacturing steps are either determined by a capability or a process step identifier","type":"array","items":{"description":"Concrete identifier of a manufacturing step, either based on a process step identifier or a capability","type":"object","properties":{"capabilityId":{"description":"Identifier of a capability that is required in case of a capability based request","type":"string"},"billOfMaterialId":{"description":"Identifier for a bill of material, which is known by both partners","type":"string"},"processStepId":{"description":"Id of a process Step, specified within an instance of a bill of process data model that is known to both partners","type":"string"},"processParameterList":{"description":"List of requested Process parameter","type":"array","items":{"description":"Entity to define process parameters","type":"object","properties":{"processParameterName":{"description":"Name of a process parameter","type":"string"},"processParameterSemanticId":{"description":"Reference to a semantic that defines the unit and the data type of the parameter","type":"string"}},"required":["processParameterName","processParameterSemanticId"]}},"partInstanceLevel":{"description":"Specifies for the case of a capability based request, whether the parts are identified with a serial number or with a bill of material ","type":"string","enum":["partInstanceId","bomId"]},"partInstanceId":{"description":"Identifies an instance of a part in case that the partInstanceLevel property has the value partInstanceId ","type":"string"},"billOfMaterialElementId":{"description":"Identifier of an element that is part of the bill of material, referenced by the bill of material Id ","type":"string"}},"required":["processParameterList","partInstanceLevel","partInstanceId","billOfMaterialElementId"]}},"processReferenceType":{"description":"Value of an enumeration that determines whether the request is based on concrete process steps (Bill of process) or capabilities","type":"string","enum":["processStep","capability"]},"billOfProcessId":{"description":"Id to identify an instance of the bill of process data model ","type":"string"},"customerId":{"description":"Internal customer Identification","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"catenaXId":{"description":"The fully anonymous Catena-X ID of the serialized part, valid for the Catena-X dataspace.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"},"identifierType":{"description":"Identifies a product based on an identifier and distinguishes whether the request is based on a bill of material, part instance identifier oder a batch identifier.","type":"string","enum":["partInstanceId","batchId","bomId"]},"identifierNumber":{"description":"Identifier number of a product","type":"string"}},"required":["stepIdentifierList","customerId","version","identifierType","identifierNumber"]},"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["request","header"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getGetProductionTracking","method":"get","path":"/{tenant-id}/get-production-tracking","servers":[{"url":"catenax.io/api/v1","variables":{"api-version":{"default":"v1"}}}],"info":{"title":"Get Production Tracking","version":"v1"},"postman":{"name":"get Get Production Tracking","description":{"type":"text/plain"},"url":{"path":[":tenant-id","get-production-tracking"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The ID of the tenant owning the requested Twin.","type":"text/plain"},"type":"any","value":"","key":"tenant-id"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Modular Production Kit/Software Development View/Provider//get-production-tracking +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getGetProductionTracking + + + +getGetProductionTracking + +
                                Path Parameters
                                + +The request was successful. + +
                                Schema
                                  request object
                                  + +Contains the data for the production tracking request + +
                                  stepIdentifierList object[]
                                  + +List of manufacturing steps from which a set of parameter is requested. The manufacturing steps are either determined by a capability or a process step identifier + +
                                  processParameterList object[]
                                  + +List of requested Process parameter + +
                                  header object
                                  + +Contains standardized attributes for message processing common across several use cases. + +
                                  :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                                  + +Payload or user input is invalid. See error details in the payload for more. + +
                                  Schema
                                    error object
                                    details object
                                    + +**Possible values:** `non-empty` + +
                                  • property name* object
                                  + +The requesting user or client is not authenticated. + +
                                  + +The requesting user or client is not authorized to access resources for the given tenant. + +
                                  + +The requested Twin has not been found. + +
                                  + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/sidebar.js new file mode 100644 index 00000000000..744c39bc9a7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/sidebar.js @@ -0,0 +1 @@ +module.exports = []; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx new file mode 100644 index 00000000000..7c45c185c03 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/Provider/unsubscribe.api.mdx @@ -0,0 +1,84 @@ +--- +id: unsubscribe +title: "Client unsubscribing from information pushes" +description: "Client unsubscribing from information pushes" +sidebar_label: "Client unsubscribing from information pushes" +hide_title: true +hide_table_of_contents: true +api: {"operationId":"Unsubscribe","parameters":[{"name":"messageId","in":"path","description":"which message to unsubscribe from","required":true,"schema":{"type":"string","format":"uuid4"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Aspect Model to request a production forecast","type":"object","properties":{"request":{"description":"Data model for a request","type":"object","properties":{"offset":{"description":"Send/start time of the first message/notification\n- \"0\" ==> immediate response","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"customerId":{"description":"Internal customer Id","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"precisionOfForecast":{"description":"Accuracy of the time specification of the completion date.\n- default: implicitly defined by production\n- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy.","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"productionForecastForAll":{"description":"Boolean variable that detemines whether the customer request information about each position of an order, or information about the complete order","type":"boolean"},"orderId":{"description":"The Id identifying subject of the request","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"deviationOfSchedule":{"description":"Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber\n\nmandatory for CommunicationMode = \"notification\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"notificationInterval":{"description":"Interval time that either specifies the cyclic send time or limits the notification time\nmandatory for CommunicationMode = \"cyclic\"","type":"object","properties":{"timeUnit":{"description":"Specifies the unit in which the time is represented","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+","enum":["unit:secondUnitOfTime","unit:minuteUnitOfTime","unit:hour","unit:day","unit:week","unit:month","unit:year"]},"value":{"description":"The amount of timeUnits considered","type":"number"}},"required":["timeUnit","value"]},"communicationMode":{"description":"Specification of the communication mode","type":"string","enum":["synchronous","cyclic","notification"]},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["offset","customerId","productionForecastForAll","orderId","communicationMode","version"]},"header":{"description":"Contains standardized attributes for message processing common across several use cases.","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[0-9]{8}[a-zA-Z0-9]{4}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["header"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"Client unsubscribing from information pushes","method":"delete","path":"/relatedMessageId/{messageId}","servers":[{"url":"catenax.io/api/v2","variables":{"api-version":{"default":"v2"}}}],"info":{"title":"Get Production Forecast","version":"v2"},"postman":{"name":"Client unsubscribing from information pushes","description":{"type":"text/plain"},"url":{"path":["relatedMessageId",":messageId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) which message to unsubscribe from","type":"text/plain"},"type":"any","value":"","key":"messageId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"DELETE"}} +sidebar_class_name: "delete api-method" +info_path: docs-kits/kits/Modular Production Kit/Software Development View/Provider//get-production-forecast +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Client unsubscribing from information pushes + + + +Client unsubscribing from information pushes + +
                                  Path Parameters
                                  + +The request was successful. + +
                                  Schema
                                    request object
                                    + +Data model for a request + +
                                    offset object
                                    + +Send/start time of the first message/notification +- "0" ==\> immediate response + +
                                    precisionOfForecast object
                                    + +Accuracy of the time specification of the completion date. +- default: implicitly defined by production +- only as a REQUEST of the requester since it cannot be guaranteed that the store floor can provide the data in this accuracy. + +
                                    deviationOfSchedule object
                                    + +Mandatory property for the notification mode. The property specifies the deviation from targeted delivery date that must be met to send a notification to a subscriber + +mandatory for CommunicationMode = "notification" + +
                                    notificationInterval object
                                    + +Interval time that either specifies the cyclic send time or limits the notification time +mandatory for CommunicationMode = "cyclic" + +
                                    header object
                                    + +Contains standardized attributes for message processing common across several use cases. + +
                                    :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
                                    + +Payload or user input is invalid. See error details in the payload for more. + +
                                    Schema
                                      error object
                                      details object
                                      + +**Possible values:** `non-empty` + +
                                    • property name* object
                                    + +The requesting user or client is not authenticated. + +
                                    + +The requesting user or client is not authorized to access resources for the given tenant. + +
                                    + +The requested Twin has not been found. + +
                                    + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..66ef282123e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,308 @@ +--- +id: Sample Data Modular Production Kit +title: Sample Data +description: 'Modular Production Kit' +sidebar_position: 4 +--- + +![mp kit banner](/img/kit-icons/modular-production-kit-icon.svg) + +The following examples show the payload used for exchange. All examples are based on a simple product, +a box with a lid, that are screwed together with 3 screws. + +Example banner + +## Bill of Process + +Since the Bill of Process aspect is a shared model, it does not include a Catena-X header and thus, can not be exchange between partners individually. +Instead, it has to be included into other model, such as the Request for Quotation model. + +```json +{ + "billOfProcessModel" : { + "billOfProcessIdentification" : "box-with-lid-12345678-bill-of-process", + "version" : "1.1.0", + "productName" : "Box with Lid", + "productVersion" : "box-with-lid-1.0.0", + "process" : [ + { + "processStepIdentifier" : [ "001_3D-print-parts" ], + "processStepType" : "IsFirstElement", + "capabilityId" : "urn:manufacturing-capability:capability:3d-printing", + "precedenceRelation" : [ { + "precedenceElements" : [ { + "successor" : [ + "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_01", + "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_02", + "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_03" + ] + } ] + } ] + }, + { + "processStepIdentifier" : [ "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_01" ], + "processStepType" : "IsLastElement", + "capabilityId" : "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben", + "inputParameters" : [ { + "name" : "Drehmoment_Max", + "parameterKey" : "HasValue", + "semanticReference" : [ "0173-1#02-ABK233#001" ], + "value" : "10" + } ], + "outputParameters" : [ { + "name": "Drehmoment_Max", + "parameterKey": "HasNoValue", + "semanticReference": [ "0173-1#02-ABK233#001" ] + } ] + }, + { + "processStepIdentifier" : [ "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_02" ], + "processStepType" : "IsLastElement", + "capabilityId" : "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben", + "inputParameters" : [ { + "name" : "Drehmoment_Max", + "parameterKey" : "HasValue", + "semanticReference" : [ "0173-1#02-ABK233#001" ], + "value" : "10" + } ], + "outputParameters" : [ { + "name": "Drehmoment_Max", + "parameterKey": "HasNoValue", + "semanticReference": [ "0173-1#02-ABK233#001" ] + } ] + }, + { + "processStepIdentifier" : [ "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_03" ], + "processStepType" : "IsLastElement", + "capabilityId" : "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben", + "inputParameters" : [ { + "name" : "Drehmoment_Max", + "parameterKey" : "HasValue", + "semanticReference" : [ "0173-1#02-ABK233#001" ], + "value" : "10" + } ], + "outputParameters" : [ { + "name": "Drehmoment_Max", + "parameterKey": "HasNoValue", + "semanticReference": [ "0173-1#02-ABK233#001" ] + } ] + }] + } +} +``` + +## Production Forecast + +### GetProductionForecast + +```json +{ + "header": { + "senderBpn": "BPNL1234567890SE", + "expectedResponseBy": "2023-07-01T21:24:00+07:00", + "context": "urn:samm:io.catenax.shopfloor_information.get_production_forecast:2.0.0", + "messageId": "00000000-0000-0000-C000-000000000042", + "recipientBpn": "BPNL7588787849VT", + "sentDateTime": "2023-06-18T21:24:00+07:00", + "version": "2.0.0" + }, + "request": { + "precisionOfForecast": { + "timeUnit": "day", + "value": 1 + }, + "offset": { + "timeUnit": "day", + "value": 0 + }, + "orderId": "box-with-lid-order-1234", + "customerId": "BPNL7588787849VQ", + "productionForecastForAll": true, + "version": "2.0.0", + "communicationMode": "notification" + } +} +``` + +### ProvideProductionForecast + +```json +{ + "header" : { + "senderBpn" : "BPNL7588787849VT", + "relatedMessageId" : "00000000-0000-0000-C000-000000000042", + "expectedResponseBy" : "2023-07-02T21:24:00+07:00", + "context" : "urn:samm:io.catenax.shopfloor_information.provide_production_forecast:2.0.0", + "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn" : "BPNL1234567890SE", + "sentDateTime" : "2023-06-19T21:24:00+07:00", + "version" : "2.0.0" + }, + "productionForecastResponse" : { + "listOfForecastItems" : [ { + "returnCode" : "ok", + "precisionOfForecast" : { + "value" : 12, + "timeUnit" : "unit:secondUnitOfTime" + }, + "reasonsForDelay" : "supplyProblems", + "positionId" : "box-12345678", + "productionStatus" : "itemReceived", + "productionForecast" : "2023-08-19T21:24:00+07:00", + "forecastDate" : "2023-06-19T21:24:00+07:00" + } ], + "version" : "2.0.0", + "communicationMode" : "notification", + "iterationNumber" : 2 + } +} +``` + +## Production Tracking + +### GetProductionTracking + +Since the GetProductionTracking data model contains different possibilities to identify a product for which the +Production Tracking service is applied, two different request are provided, the first is based on a partInstanceId +and the second is based on a bill of process. However, since the model incorporates multiple optional fields that become mandatory for certain +requests, the following figure depicts the different cases and outlines the fields that become mandatory for each of the cases. + +![SIS.Tracking-Parameter](../res/SIS.Tracking-Parameter.svg) + +#### PartInstanceId based Request + +```json +{ + "header": { + "senderBpn": "BPNL1234567890SE", + "expectedResponseBy": "2023-06-19T21:24:00+07:00", + "context": "urn:samm:io.catenax.shopfloor_information.get_production_tracking:1.0.0", + "messageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn": "BPNL7588787849VT", + "sentDateTime": "2023-06-19T21:24:00+07:00", + "version": "2.0.0" + }, + "request": { + "identifierNumber": "box-12345678", + "stepIdentifierList": [ + { + "processParameterList": [ + { + "processParameterSemanticId": "0173-1#02-ABK233#001", + "processParameterName": "Drehmoment_Max" + } + ], + "capabilityId": "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben", + "partInstanceLevel": "partInstanceId", + "partInstanceId": "Deckel-Serial-123" + } + ], + "customerId": "550e8400-e29b-41d4-a716-446655440000", + "identifierType": "partInstanceId", + "version": "1.0.0", + "processReferenceType": "capability" + } +} +``` + +#### Bill of Process based Request + +```json +{ + "header": { + "senderBpn": "BPNL1234567890SE", + "expectedResponseBy": "2023-06-19T21:24:00+07:00", + "context": "urn:samm:io.catenax.shopfloor_information.get_production_tracking:1.0.0", + "messageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn": "BPNL7588787849VT", + "sentDateTime": "2023-06-19T21:24:00+07:00", + "version": "2.0.0" + }, + "request": { + "identifierNumber": "box-12345678", + "stepIdentifierList": [ + { + "processStepId": "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_01", + "processParameterList": [ + { + "processParameterSemanticId": "0173-1#02-ABK233#001", + "processParameterName": "Drehmoment_Max" + } + ] + } + ], + "customerId": "550e8400-e29b-41d4-a716-446655440000", + "identifierType": "partInstanceId", + "billOfProcessId": "box-with-lid-12345678-bill-of-process", + "version": "1.0.0", + "processReferenceType": "processStep" + } +} +``` + +### ProvideProductionTracking + +Since the Bill of Process based Request enables a requester to receive the production tracking for a certain process step and the +partInstanceId based request only allows to request all process steps that execute a specified capability, the instance of the ProvideProductionForecast +data model contains different items in the processStepIdentifierList. The shown example contains the response for the partInstanceId based request. the response +for the Bill of Process based request is quite similar, however, the processStepIdentifierList contains only a single item, namely the item with the +processStepId Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_01. + +```json +{ + "header": { + "senderBpn": "BPNL7588787849VT", + "relatedMessageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "expectedResponseBy": "2023-06-19T21:24:00+07:00", + "context": "urn:samm:io.catenax.shopfloor_information.provide_production_tracking:1.0.0", + "messageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9111", + "receiverBpn": "BPNL1234567890SE", + "sentDateTime": "2023-06-20T21:24:00+07:00", + "version": "2.0.0" + }, + "response": { + "identifierNumber": "box-12345678", + "identifierType": "partInstanceId", + "version": "1.0.0", + "processStepIdentifierList": [ + { + "processStepId": "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_01", + "processParameterValueList": [ + { + "processParameterName": "Drehmoment_Max", + "semanticId": "0173-1#02-ABK233#001", + "processParameterQuality": "ok", + "processParameterValue": "10" + } + ] + }, + { + "processStepId": "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_02", + "processParameterValueList": [ + { + "processParameterName": "Drehmoment_Max", + "semanticId": "0173-1#02-ABK233#001", + "processParameterQuality": "ok", + "processParameterValue": "10" + } + ] + }, + { + "processStepId": "Fuegen.Anpressen_Einpressen.Schrauben.Deckelverschrauben_03", + "processParameterValueList": [ + { + "processParameterName": "Drehmoment_Max", + "semanticId": "0173-1#02-ABK233#001", + "processParameterQuality": "ok", + "processParameterValue": "10" + } + ] + } + ] + } +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_adoption-view.md new file mode 100644 index 00000000000..34aabcd39ea --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_adoption-view.md @@ -0,0 +1,178 @@ +--- +id: Adoption View Modular Production Kit +title: Adoption View +description: 'Modular Production Kit' +sidebar_position: 2 +--- + +![mp kit banner](/img/kit-icons/modular-production-kit-icon.svg) + +### Modular Production Kit + +## Vision & Mission + +### The missions of the KIT + +The solution approaches developed in the Modular Production use case are environments to leverage existing business potentials. For this purpose, services, interface, and data model definitions based on industry standards are introduced with the goal of increasing the flexibility and reliability of industrial production. + +Business Partners can deploy these developments by utilizing the Catena-X Network, where Modular Production offers services on the one hand to supply its partners with information about production planning and production parameters, as requested by other use cases. On the other hand, Modular production can also request services. + +## Business Value + +Existing business values can be increased by enabling customized production (batch size 1) without a significant increase of costs. Key factors for such a production environment are automated planning of production processes, flexible resource orchestration, as well as available product information during its manufacturing. Process parameters collected during the actual production as well as common data models for the production process can also be beneficial for other partners. With new applications and exchanged information between the partners along the value chain, the OEM can increase the efficiency within its shop floor and thus, reduce planning times and costs by an automated reconfiguration of processes and resources in case of unplanned events. Consequently, the saved efforts can be utilized to launch new business models or increase the overall output. + +## Business Process + +Modular Production is part of the value chain. Therefore, it must guarantee flexibility and availability on the one hand and on the other hand it has to allow product flexibility in combination with small lot sizes. The effect of disturbances and decisions in this network are not limited to a local area, however, they have also a big impact to other partners in the value chain network. In consequence, it is necessary to directly communicate data from the shop floor to other members of the network, such as customers or third parties like logistic companies. This communication is realized with the Shop-Floor-Information-Service (SIS). The Shop-Floor-Information-Service consists of two modules: Production Forecasting and Production Tracking: + +For example, if a customer wants to know the estimated production date for a product, he uses the Production Forecasting to get this information either with a direct request, via cyclic messages or notifications in case of a deviation from the initially scheduled production plan. The Shop-Floor-Information-Service uses the *GetProductionForecastData* and *ProvideProductionForecastData* data model to exchange the requested information. + +The Production Tracking offers the opportunity for a customer to request certain data of the production process, e.g. the actual applied torque for a performed manufacturing step. This can either be done for a documentation of the overall product by collecting information of the individual subparts. The tracking data can also be used for traceability in case of error analysis, these parameters can be used to find the root of a failure resp. to exclude certain failure roots. The Shop-Floor-Information-Service uses the *GetProductionTrackingData* and *ProvideProductionTrackingData* data model. + +Common data models for products and their manufacturing steps are required for cross-company data exchange: Such a model is the Bill of Process (BoP) data model. It generally describes the best-practice approach for manufacturing a product, including detailed information about the overall processes, precedence relations between process steps and process parameters. Due to multiple forms of process representations, a standardized format for such an exchange of process information is required along the value chain. + +The standardized BoP semantic model addresses these issues and allows the representation of any industrial process, regardless of the industrial sector. The data model contains an extended precedence graph is specified to allow parameter flow between process steps. The model is a shared aspect that can be included in other semantic models. One such model is the Request for Quotation data model standardized in the [Manufacturing as a Service KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Manufacturing%20as%20a%20Service%20Kit/Adoption%20View%20MaaS%20KIT/#request-for-quotationmodel). The Request for Quotation defines detailed requirements, deadlines, and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services and serves as the starting point for the reconfiguration in a modular production, enabling integration into the value chain alongside the SIS. + +## Whitepaper + +- [Modular Production Onboarding](res/modular-production-onboarding.pdf) + +## Semantic Model + +Example banner + +In the following sub-chapters, we will make references to a specific example. This example will serve as a guiding thread, illustrating different concepts and providing continuity. By consistently referencing this example, we aim to create a cohesive narrative that enhances understanding and reinforces key ideas of our semantic models and components. The example object to be manufactured is a box with a lid. The box is cylindrical and has a lid that is securely fastened with three screws. As the box in our scenario is already being produced, a BoP is available. Data about the estimated production date and production process can be requested using the GetProductionForecastData and GetProductionTrackingData data models. All relevant sample data is available in JSON format in the [Software Development View](https://eclipse-tractusx.github.io/docs-kits/kits/Modular%20Production%20Kit/Software%20Development%20View/Sample%20Data%20Modular%20Production%20Kit/). + +### Production Forecast + +The Production Forecast aspect of the Shop Floor Information Service features one data exchange mechanism, which in turn consists of three semantic models, namely the *GetProductionForecastData* model and the *ProvideProductionForecastData* model, as well a *CommonDataModel* named *ShopFloorInformationTypes*. + +All partners need the same semantic models for a common understanding of the information exchange. Customers or third parties specify within the *GetProductionForecastData* model the actual required information about an order or a position within an order. Modular Production interprets this request and reply with the *ProvideProductionForecastData* model. Depending on the customer’s request, Modular Production sends either a single or multiple responses. For the latter, customers need to notify Modular Production that no further forecasts are desired. + +The *GetProductionForecastData* is sent from a partner to Modular Production with a HTTP request to receive a production forecast. The *ProvideProductionForecastData* model contains the orders, the estimated production date and a state describing whether the order is planned, in progress or done and the creation date of the information. + +The semantic model can be found in as part of the [Catena-X Standard Library](#standards) and as Aspect Models in GitHub: + +- [io.catenax.shopfloor_information.get_production_forecast](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shopfloor_information.get_production_forecast) +- [io.catenax.shopfloor_information.provide_production_forecast](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shopfloor_information.provide_production_forecast) +- [io.catenax.shared.shopfloor_information_types](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.shopfloor_information_types) + +The *GetProductionForecastData* model must be implemented by all participants who wish to use forecasting aspect of the Shop-Floor-Information-Service as a Modular Production, a customer or a participating third party. Companies, which use the Shop-Floor-Information-Service as a customer or third party must be able to send *GetProductionForecastData* request, whereas partners using the Shop-Floor-Information-Service as a Modular Production must be able to receive the *GetProductionForecastData* request. Besides, the *GetProductionForecastData* model enables a customer to select one of three communication modes. In general, the *communicationMode* describes different ways of communication between Modular Production and a consumer. In case of the synchronous mode, Modular Production immediately sends the requested information back to the consumer, whereas the other modes are addressing a continuous exchange. The cyclic mode sends the information periodically (e.g. every day), whereas the notification mode informs if the forecast for the production has changed. Besides the communicationMode some mode specific parameters are also part of the data model. +The *ProvideProductionForecastData* model responses to the request. It contains a specific forecast for all orders and order positions. Consequently, the response consists of a list with forecast dates where each list element refers to an id for each of the orders/order positions. The link to the request is accomplished with a related *messageId*, referring to the *messageId* of the initial request. *ProvideProductionForecastData* is containing the orders, the estimated production date and a state describing whether the order is planned, in progress or done as well as some protocol data like ids and date of creation of the information. +In the case of the overarching example, the *ProvideProductionForecastData* model provides new information via notifications, one of the three specified communicationModes, indicating that there has been a change in the estimated production date. The *positionId* specifies that the box is impacted. Along with the reason for the delay, a new estimated date is provided enabling the avoidance of useless commitment of production capacities and the optimization of production processes through more precise planning. + +### Production Tracking + +The Production Tracking aspect of the Shop Floor Information Service features again one data exchange mechanism, which in turn consists of two semantic models, namely the *GetProductionTrackingData* model and the *ProvideProductionTrackingData* model. + +All partners need the same semantic models for a common understanding of the information exchange. Customers or third parties specify within the *GetProductionTrackingData* model the required information about a manufacturing step. This requires that both Modular Production as well as the customer have a common understanding about the product to be manufactured. This common knowledge is referenced for the request. Modular Production interprets this request and replies with the *ProvideProductionTrackingData* model. Depending on the customer’s request, Modular Production sends the requested information. + +The *GetProductionTrackingData* is sent from a partner to Modular Production with a HTTP request to receive production tracking information. The *ProvideProductionTrackingData* model is containing the relevant information like *processParameterName*, *processParameterValue* and *processParameterQuality* + +The semantic model can be found in as part of the [Catena-X Standard Library](#standards) and as Aspect Models in GitHub: + +- [io.catenax.shopfloor_information.get_production_tracking](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shopfloor_information.get_production_tracking) +- [io.catenax.shopfloor_information.provide_production_tracking](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shopfloor_information.provide_production_tracking) + +The *GetProductionTrackingData* model must be implemented by all participants who wish to use the production tracing aspect of the Shop-Floor-Information-Service as a Modular Production, a customer or a participating third party. Companies, which use the Shop-Floor-Information-Service as a customer or third party must be able to send *GetProductionTrackingData* request, whereas partners using the Shop-Floor-Information-Service as a Modular Production must be able to receive the *GetProductionTrackingData* request. + +![SIS Tracking Parameter](res/SIS.Tracking-Parameter.svg) + +To exchange data between Modular Production and the customer it is necessary that both agree on a common understanding of the product and the production process. Therefore, for identifying the product it is necessary either to use the serial number *partInstanceId* in case of an individual component or the batch number batch to identify the product batch. The use of a defined bomID is also possible. In order to identify the production step, there are also several possibilities as well. In the case of a commonly known BoP the *BoPId* and the corresponding *processStep* can be used. As an alternative it is also possible to refer to a capability to identify a specific process step. For further identification the bomElementId of the bomId is used to refer to the manufactured part, or the serial number of the part if known. Finally, the required process parameters like “temperature”, or “torque” will be selected by a list of process pairs containing the ProcessParameterId and its processParameterSemantic. + +The *ProvideProductionTrackingData* model responses to the request. It contains the results to the list of process pairs of the RequestProductionTrackingData. Besides the version and the optional CatenaXId, it contains in order to match the reply the *identifierType* and *identifierNumber*. The actual answer is then in a list containing process parameter values. Each process parameter includes the *processParameterName* (the name), its *semanticId* (e.g. semantic identification like ECLASS), a *processParameterValue* (THE value) and a corresponding quality (enumeration: ok, inexact, noValue) assessing the value. + +In the case of the overarching example, the requested process parameter for the box is the maximum torque during the screwing process of the first screw to fasten the lid. This information is provided via the *identifierNumber* of the type *partInstanceId* and the *processStepId*. Following the provided ECLASS *semanticId*, the definition of the parameter can be inferenced, leading to a shared understand of the provided process parameter value. With a torque of 10, the *processParameterQuality* indicates that the value is within limits. In a real-world example, the *processParameterValue*List would most likely contain several process parameters, but for the sake of clarity, only one is provided. + +### Bill of Process + +The BoP data model defines a set of mandatory properties to provide information about the product to be manufactured and enables the common understanding required for production tracking. To exchange the BoP semantic model, all partners must use the same model. + +The BillOfProcess entity includes a version property that represents the data model version, a unique identifier for the bill of process, and a name for the product whose manufacturing process is specified. Additionally, a *productVersion* can be specified to differentiate between different product variants, such as the same product in different colors. The entity also contains a process property that includes a list of all process steps. + +These steps can be provided in any order as the relation between them is handled internally within the *processStep* entity. However, it is necessary to model each *processStep* instance explicitly in the precedence graph. Each *processStep* must provide a unique identifier and refers to a manufacturing capability that must be performed on a product in order to accomplish the corresponding process step. The capabilityReference should refer to an instance of the [Manufacturing Capability semantic model](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) defined in the namespace *io.catenax.manufacturing_capability*. All partners must use the same version of the manufacturing capability semantic model. Optional input and output parameters can be associated with each process step. The precedenceRelation property can be used to specify dependencies to subsequent process steps. Additionally, a process step can be broken down into smaller process steps using *childProcessSteps*. The *processStepType* categorizes each process step into one of four classes, simplifying the creation of the precedence graph. + +The *parameter* entity is utilized to specify *inputParameters* and *outputParameters* for a process step. Each parameter must be named. To ensure a shared understanding of the exchanged parameters, each parameter entity must have a *semanticReference* that contains a list with at least one element. This list element refers to a globally defined semantic that characterizes the parameter, such as a definition in the EClass Standard and provides meaning to the parameters, allowing partners to interpret them accurately. The list may contain multiple semantics that define the underlying parameter. The BoP data model offers four options for specifying parameters. The parameter expression depends on the value of the property parameterKey, which can be *HasNoValue*, *HasValue*, *HasValueRange*, or *HasTolerances*. In each case, certain optional properties of the Parameter entity become mandatory. +Precedence relations link process steps to create the precedence graph of the process. These relations always point to the direct successors of a process step. The precedenceRelation property consists of three nested lists that are used for conditions such as alternatives between successors, a set of successors, or successors that must be executed in parallel. + +In order to further illustrate the use of the BoP semantic model, we have published a README file on github that details specific processStepTypes, precedenceRelations or parameterKeys and exemplifies their use with JSON examples. +The semantic model alongside the README file can be found here: + +- [io.catenax.shared.bill_of_process](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.bill_of_process) + +The BoP for the overarching example describes the production process for the box with a lid. In total, four process steps are specified. Each process step is uniquely identifiable and can therefore be referenced by the *ProvideProductionTrackingData* model. The first process step is the 3D printing of the lid. The capability for this process step is a sample value for the manufacturing capability aspect model, which is defined in the *io.catenax.manufacturing_capability* namespace. It is used to create a common understanding of the capability to be performed on a product in order to complete the respective process step. Once the cover has been 3D printed, any of the three screwing process steps can be performed, meaning the order in this case is arbitrary. This is achieved by listing all three process steps as successors of the first process step. Each screwing process step is marked as the last process step, indicating that there are no further successors. The defined *input*- and *outputParameters* provide a common understanding of the required parameters for the processes. In this case the maximum torque is defined for the screwing process steps. The *outputParameter* has the *parameterKey* “hasNoValue”, because this data is only available after the process step has been performed. This data can be requested via the *ProvideProductionTrackingData* model, which includes the name, value and semantic reference. + +## Logic & Schema + +### Production Forecast + +#### Architecture + +The *GetProductionForecastData* contains the request for the forecasting data which is sent from a Modular Production partner like a customer or a third party on the next lower tier to the Modular Production. All participants using the forecasting aspect of the Shop-Floor-Information-Service in the role of a customer, or third party must be able to send the *GetProductionForecastData*. All participants using the forecast aspect of the Shop-Floor-Information-Service in the role of a Modular Production must be able to receive and process the *GetProductionForecastData*. +The following diagram depicts all possible interactions between partners in case they apply the forecasting aspect of the Production Forecast Service. The communication between partners is accomplished by utilizing the Eclipse Data Space Connector (EDC) to ensure data sovereignty.) It takes place in different phases: + +1. Negotiation between the EDC of the partners using the proposed policies. +2. *GetProductionForecastData*(...) - the call of the customer +3. get the desired information via *ProvideProductionForecastData*(...) - transferred by Modular Production (synchronous, cyclic, or notification-like) +4. Unsubscribe from the *GetProductionData* service to receive no further information + +![SIS Production Forecast Sequence Chart](res/SIS_ProductionForecastData_SequenceChart_Border25.svg) + +The left side shows the different request possibilities of customers. The right side shows Modular Production that features a scheduler to generate answers for requests. The two boxes in the middle represent the EDC of each partner. The communication between the respective EDC is transparent to the user (shaded). Data for the request and the response are transmitted in the payload of the messages. The synchronous response (http response) does not contain any technical information but provides information whether the exchange of information succeeded or not. The specific information is sent with one or multiple asynchronous responses, depending on the communication mode between the partners. The left side shows the different request possibilities of customers. The right side shows Modular Production that features a scheduler who generates answers for requests. + +#### Components + +##### Technical requirements for a CATENA-X compliant data transmission + +![SIS Production Forecast Overview](res/SIS_ProductionForecastData_Overview_Border30.svg) + +Both partners, the customer and the Modular Production, must be members of the Catena X network to communicate with each other. By registering a Modular Production in advance with the Discovery Service, a customer can find it via a so-called Business Partner Number (BPN). With the help of SSI (Self Sovereign Identity) the correct identity is guaranteed. Customers are using the *GetProductionForecastData* call to request a production forecast, as specified in CX-0142. The Modular Production generates the required information by internal services like a scheduler and answers accordingly by calling *ProvideProductionForecastData* as specified in CX-0142. In case of a cyclic messages or notification mode, the customer has to unsubscribe from the service, if the service is not needed anymore. + +The *GetProductionForecastData* as well as the *ProvideProductionForecastData* is using an Asset Administration Shell (AAS) serialized as a JSON string which is sent through EDC mechanism: Namely: *GetProductionForecastData* uses *GetProductionForecastData* data model and *ProvideProductionForecastData* uses *ProvideProductionForecastData* data model. The unsubscribe call has no corresponding data model, as it is a simple HTTP DELETE. The JSON string is standardized in document “CX-0142 ShopFloorInformationService v.1.0.0”. The standard only describes the sending and receiving of Shop-Floor-Information-data through EDC. The object is created and handled by applications of the companies involved, but these applications are not part of the standard. + +### Production Tracking + +#### Architecture + +The *GetProductionForecastTrackingData* contains the request for the tracking data which is sent from a customer or a third party on the next lower tier to the modular production. All participants using the tracking aspect of the Shop-Floor-Information-Service in the role of a customer, or third party must be able to send the *GetProductionTrackingData*. All participants using the tracing aspect of the Shop-Floor-Information-Service in the role of a Modular Production must be able to receive and process the *GetProductionTrackingData.* +The following diagram depicts all possible interactions between partners in case they apply the tracking aspect of the Production Forecast Service. The communication between partners is accomplished by utilizing the Eclipse Data Space Connector (EDC) to ensure data sovereignty.) It takes place in different phases: + +1. Negotiation between the EDC of the partners using the proposed policies. +2. *GetProductionTrackingData*(...) - the call of the customer +3. get the desired information via *ProvideProductionTrackingData*(...) - transferred by Modular Production + +![SIS_ProductionTrackingData_SequenceChart_Border25](res/SIS_ProductionTrackingData_SequenceChart_Border25.svg) + +The left side shows the different request possibilities of customers. The right shows Modular Production that features a scheduler to generate answers for requests. The two boxes in the middle represent the EDC of each partner. The communication between the respective EDC is transparent to the user (shaded). Data for the request and the response are transmitted in the payload of the messages. The synchronous response (http response) does not contain any technical information but provides information whether the exchange of information succeeded or not. The actual information is sent with one response. The left side shows the different requests of customers. The right side shows Modular Production that features the data collected during the production. + +### Components + +#### Technical requirements for a CATENA-X + +![SIS_ProductionTrackingData_SequenceChart](res/SIS_ProductionTrackingData_SequenceChart_Border30.svg) + +Both partners, the customer and the Modular Production, must be members of the Catena X network to communicate with each other. By registering a Modular Production in advance with the Discovery Service, a customer can find it via a so-called Business Partner Number (BPN). With the help of SSI (Self Sovereign Identity) the correct identity is guaranteed. Customers are using the *GetProductionTrackingData* call to request production tracking information, as specified in CX-0142. The Modular Production, which has collected this data during the production, fetches the data from the database and answers accordingly by calling *ProvideProductionTrackingData* as specified in CX-0142. + +The *GetProductionTrackingData* as well as the *ProvideProductionTrackingData* is using an Asset Administration Shell (AAS) serialized as a JSON string which is sent through EDC mechanism: Namely: *GetProductionTrackingData* uses the *GetProductionTrackingData* data model and *ProvideProductionTracking Data* uses *ProvideProductionTrackingData* data model. The JSON string is standardized in document “CX-0142 Shop-Floor-Information-Service v.1.0.0”. The standard only describes the sending and receiving of Shop-Floor-Information-data through EDC. The object is created and handled by applications of the companies involved, but these applications are not part of the standard. + +## Standards + +Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- CX-0142 Shop-Floor-Information-Service API v.1.0.0 + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023-2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer IWU & Fraunhofer IOSB & Fraunhofer IPA) +- SPDX-FileCopyrightText: 2023-2024 Siemens AG + +**IMPORTANT - PLEASE READ CAREFULLY**: + +This documentation describes how you can download and set up a test environment which consists of or contains third-party software. By following this documentation you agree that using such third-party software is done at your own discretion and risk. No advice or information, whether oral or written, obtained by you from us or from this documentation shall create any warranty for the third-party software. Additionally, by following these descriptions or using the contents of this documentation, you agree that you are responsible for complying with all third party licenses applicable to such third-party software. All product names, logos, and brands are property of their respective owners. All third-party company, product and service names used in this documentation are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_changelog.md new file mode 100644 index 00000000000..c9000b6be30 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/page_changelog.md @@ -0,0 +1,42 @@ +--- +id: Modular Production Kit Changelog +title: Changelog +description: 'Modular Production Kit' +sidebar_position: 1 +--- + +![mp kit banner](/img/kit-icons/modular-production-kit-icon.svg) + +### Modular Production Kit + +All notable changes to this Kit will be documented in this file. + +## [1.0.0] - unreleased + +### Added + +- Extension of Shop Floor Information Service with Production Tracking +- BoM semantic model + +### Changed + +- Changed banner image file location and converted .png image to .svg +- Semantic models including dependencies + +### Removed + +- ./. + +## [0.1.0] - 2023-11-20 + +### Added + +- Initial version of the Kit including adoption and development view + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/ISO.PNG b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/ISO.PNG new file mode 100644 index 00000000000..aba8740b094 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/ISO.PNG differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS.Tracking-Parameter.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS.Tracking-Parameter.svg new file mode 100755 index 00000000000..f7b7f8fb2f2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS.Tracking-Parameter.svg @@ -0,0 +1,3 @@ + + +
                                         Processparameter
                                         Processparameter
                                            Process
                                            Process
                                        Product
                                        Product
                                    GetProductionTrackingData
                                    GetProductionTrackingData
                                    [partInstanceId, batch, bom]
                                    [partInstanceId, b...
                                    identifierNumber
                                    identifierNumber
                                    identifierNumber
                                    identifierNumber
                                    bopId
                                    bopId
                                    processStepId
                                    processStepId
                                    [partInstanceId]
                                    [partInstanceId]
                                    [batch]
                                    [batch]
                                    [capability]
                                    [capability]
                                    [processStep]
                                    [processStep]
                                    bomId
                                    bomId
                                    [bom, partInstanceId]
                                    [bom, partInstanc...
                                    [bom]
                                    [bom]
                                    [partInstanceId]
                                    [partInstan...
                                    serialNumber
                                    serialNumber
                                    bomElementId
                                    bomElementId
                                    processParameterList
                                    processParameterList
                                    [processStep,
                                    capability]
                                    [processStep,...
                                    processParameterName
                                    processParameterName
                                    processParameterSemanticId
                                    processParameterSemanticId
                                    identifierNumber
                                    identifierNumber
                                    [bom]
                                    [bom]
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_Overview_Border30.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_Overview_Border30.svg new file mode 100755 index 00000000000..7611941d9d2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_Overview_Border30.svg @@ -0,0 +1,3 @@ + + +
                                    Catena-X
                                    Customer
                                    Catena-X...
                                    Catena-X
                                    Modular Production
                                    Catena-X...
                                    Central Catena-X
                                    Services
                                    Central Catena-X...
                                    Discovery
                                    Service
                                    Discovery...
                                    SSI
                                    SSI
                                    BPN Registry
                                    BPN Registry
                                    IAM
                                    IAM
                                    GetProductionForecastData
                                    GetProductionForecastData
                                    EDC
                                    EDC
                                    EDC
                                    EDC
                                    ProvideProductionForecastData
                                    ProvideProductionForecastData
                                    register
                                    register
                                    search
                                    search
                                    Data
                                    Data
                                    Scheduler
                                    Scheduler
                                    other shopfloor services
                                    other shopflo...
                                    OPC UA
                                    OPC UA
                                    UnsubscribeProductionForecastData
                                    UnsubscribeProductionForecastData
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_SequenceChart_Border25.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_SequenceChart_Border25.svg new file mode 100755 index 00000000000..b00b42d929c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionForecastData_SequenceChart_Border25.svg @@ -0,0 +1,3 @@ + + +
                                    loop [cyclic OR notification]
                                    loop [cyclic OR notification]
                                    CatenaX
                                    Client
                                    CatenaX...
                                    opt [cyclic/notification]
                                    opt [cyclic/notification]
                                    [1] GetShopfloorData
                                    [1] GetShopfloorData
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    Customer
                                    Customer
                                    Modular Production
                                    Modular Produ...
                                    1. find the appropriate SIS via 
                                        Discovery Service
                                    1. find the appropriate SIS via...
                                    [x] negotiations
                                    [x] negoti...
                                    Data
                                    Data

                                    Scheduler, ...
                                    Scheduler, ...
                                    [3/5] GetProdForecast_internal()
                                    [3/5] GetProdForecast_internal()
                                    Backend
                                    Backend
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    return
                                    return
                                    loop [cyclic/notification]
                                    loop [cyclic/notificatio...
                                    [5] POST(ProvideProductionForecasData, ...)
                                    [5] POST(ProvideProductionForecasData, ...)
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    [n] DELETE(relatedMessageId...)
                                    [n] DELETE(relatedMessageId...)
                                    Catena-X
                                    Client (internal)
                                    Catena-X...
                                    [2] GET(GetProductionForecastData, ...)
                                    [2] GET(GetProductionForecastData, ...)
                                    [2] GET(GetProductionForecastData, ...)
                                    [2] GET(GetProductionForecastData, ...)
                                    loop [cyclic OR notification]
                                    loop [cyclic OR notification]
                                    [5] POST(ProvideProductionForecastData, ...)
                                    [5] POST(ProvideProductionForecastData, ...)
                                    [cyclic OR notification]
                                    [cyclic OR notification]
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    [cyclic OR notification]
                                    [cyclic OR notification]
                                    [n] DELETE(relatedMessageId, ...)
                                    [n] DELETE(relatedMessageId, ...)
                                    [2] REST.GET(GetProductionForecastData, ...)
                                    [2] REST.GET(GetProductionForecastData, ...)
                                    [1] Initialize
                                    [1] Initialize
                                    loop [cyclic OR notification]
                                    loop [cyclic OR notification]
                                    [5] PUT(ProvideProductionForecastData, ...)
                                    [5] PUT(ProvideProductionForecastData, ...)
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    [n] DELETE(relatedMessageId, ...)
                                    [n] DELETE(relatedMessageId, ...)
                                    2. Negotiation (internal of EDC)
                                    2. Negotiation (internal of EDC)
                                    3. get the desired information
                                    3. get the desired information
                                    Customer
                                    Customer
                                    responsable: EDC
                                    responsable: EDC
                                    0. register SIS at Discovery Service
                                    0. register SIS at Discovery Service
                                    transparent for MP
                                    transparent for MP
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    [3] REST.PUT(ProvideProductionForecastData, ...)
                                    [3] REST.PUT(ProvideProductionForecastData, ...)
                                    [3] POST(ProvideProductionForecastData, ...)
                                    [3] POST(ProvideProductionForecastData, ...)
                                    [3] PUT(ProvideProductionForecastData, ...)
                                    [3] PUT(ProvideProductionForecastData, ...)
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    synchronous
                                    synchronous
                                    cyclic / notification
                                    cyclic / notifica...
                                    4. UnsubscribeProductionForecastData
                                    4. UnsubscribeProductionForecastData
                                    [n] ProvideProdForecast_internal()
                                    [n] ProvideProdForecast_internal()
                                    [n] ProvideProdForecast_internal()
                                    [n] ProvideProdForecast_internal()
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_Overview_Border30.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_Overview_Border30.svg new file mode 100755 index 00000000000..3d6be1539c0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_Overview_Border30.svg @@ -0,0 +1,3 @@ + + +
                                    Catena-X
                                    Customer
                                    Catena-X...
                                    Catena-X
                                    Modular Production
                                    Catena-X...
                                    Central Catena-X
                                    Services
                                    Central Catena-X...
                                    Discovery
                                    Service
                                    Discovery...
                                    SSI
                                    SSI
                                    BPN Registry
                                    BPN Registry
                                    IAM
                                    IAM
                                    GetProductionTrackingData
                                    GetProductionTrackingData
                                    EDC
                                    EDC
                                    EDC
                                    EDC
                                    ProvideProductionTrackingData
                                    ProvideProductionTrackingData
                                    register
                                    register
                                    search
                                    search
                                    Data
                                    Data
                                    Scheduler
                                    Scheduler
                                    other shopfloor services
                                    other shopflo...
                                    OPC UA
                                    OPC UA
                                    Logger
                                    Logger
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border25.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border25.svg new file mode 100755 index 00000000000..2f891566690 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border25.svg @@ -0,0 +1,3 @@ + + +
                                    CatenaX
                                    Client
                                    CatenaX...
                                    [1] GetProductionTrackingData
                                    [1] GetProductionTrackingData
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    Customer
                                    Customer
                                    Modular Production
                                    Modular Produ...
                                    1. find the appropriate SIS via 
                                        Discovery Service
                                    1. find the appropriate SIS via...
                                    [x] negotiations
                                    [x] negoti...
                                    Data
                                    Data
                                    Production-
                                    Logging
                                    Production-...
                                    [2] GetProdTrackingData_internal()
                                    [2] GetProdTrackingData_internal()
                                    Backend
                                    Backend
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    return
                                    return
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    Catena-X
                                    Client (internal)
                                    Catena-X...
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] REST.GET(GetProductionTrackingData, ...)
                                    [2] REST.GET(GetProductionTrackingData, ...)
                                    [1] Initialize
                                    [1] Initialize
                                    2. Negotiation (internal of EDC)
                                    2. Negotiation (internal of EDC)
                                    3. get the desired information
                                    3. get the desired information
                                    Customer
                                    Customer
                                    responsable: EDC
                                    responsable: EDC
                                    0. register SIS at Discovery Service
                                    0. register SIS at Discovery Service
                                    transparent for MP
                                    transparent for MP
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    [3] REST.PUT(ProvideProductionTrackingData, ...)
                                    [3] REST.PUT(ProvideProductionTrackingData, ...)
                                    [3] POST(ProvideProductionTrackingData, ...)
                                    [3] POST(ProvideProductionTrackingData, ...)
                                    [3] PUT(ProvideProductionTrackingData, ...)
                                    [3] PUT(ProvideProductionTrackingData, ...)
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    "synchronous"
                                    "synchronous"
                                    [3] ProvideProdTrackingData_internal()
                                    [3] ProvideProdTrackingData_internal()
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border30.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border30.svg new file mode 100755 index 00000000000..f3417baff7e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProductionTrackingData_SequenceChart_Border30.svg @@ -0,0 +1,3 @@ + + +
                                    CatenaX
                                    Client
                                    CatenaX...
                                    [1] GetProductionTrackingData
                                    [1] GetProductionTrackingData
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    ControlPlane
                                    ControlPlane
                                    DataPlane
                                    DataPlane
                                    Customer
                                    Customer
                                    Modular Production
                                    Modular Produ...
                                    1. find the appropriate SIS via 
                                        Discovery Service
                                    1. find the appropriate SIS via...
                                    [x] negotiations
                                    [x] negoti...
                                    Data
                                    Data
                                    Production-
                                    Logging
                                    Production-...
                                    [2] GetProdTrackingData_internal()
                                    [2] GetProdTrackingData_internal()
                                    Backend
                                    Backend
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    [n] Server-Endpoint (REST, OPC, ...)
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    return
                                    return
                                    EDC-Wrapper + EDC
                                    EDC-Wrapper + EDC
                                    Catena-X
                                    Client (internal)
                                    Catena-X...
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] GET(GetProductionTrackingData, ...)
                                    [2] REST.GET(GetProductionTrackingData, ...)
                                    [2] REST.GET(GetProductionTrackingData, ...)
                                    [1] Initialize
                                    [1] Initialize
                                    2. Negotiation (internal of EDC)
                                    2. Negotiation (internal of EDC)
                                    3. get the desired information
                                    3. get the desired information
                                    Customer
                                    Customer
                                    responsable: EDC
                                    responsable: EDC
                                    0. register SIS at Discovery Service
                                    0. register SIS at Discovery Service
                                    transparent for MP
                                    transparent for MP
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    [3] REST.PUT(ProvideProductionTrackingData, ...)
                                    [3] REST.PUT(ProvideProductionTrackingData, ...)
                                    [3] POST(ProvideProductionTrackingData, ...)
                                    [3] POST(ProvideProductionTrackingData, ...)
                                    [3] PUT(ProvideProductionTrackingData, ...)
                                    [3] PUT(ProvideProductionTrackingData, ...)
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    RESPONSE 200 OK
                                    "synchronous"
                                    "synchronous"
                                    [3] ProvideProdTrackingData_internal()
                                    [3] ProvideProdTrackingData_internal()
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/SIS_ProduktionForecast_Overview.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProduktionForecast_Overview.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/SIS_ProduktionForecast_Overview.svg rename to docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProduktionForecast_Overview.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/SIS_ProduktionForecast_SequenceChart.svg b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProduktionForecast_SequenceChart.svg similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/SIS_ProduktionForecast_SequenceChart.svg rename to docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/SIS_ProduktionForecast_SequenceChart.svg diff --git a/docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/modular-production-onboarding.pdf b/docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/modular-production-onboarding.pdf similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Modular Production Kit/res/modular-production-onboarding.pdf rename to docs-kits_versioned_docs/version-24.08/kits/Modular Production Kit/res/modular-production-onboarding.pdf diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/OSim-Product-Documentation-EN.pdf b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/OSim-Product-Documentation-EN.pdf new file mode 100755 index 00000000000..191ddc49805 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/OSim-Product-Documentation-EN.pdf differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/01-osim-api.info.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/01-osim-api.info.mdx new file mode 100644 index 00000000000..8749caa52b1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/01-osim-api.info.mdx @@ -0,0 +1,25 @@ +--- +id: osim-api +title: "OSim API" +description: "OSim API for requesting and receiving simulation results" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: 3.0.0 + +# OSim API + + + +OSim API for requesting and receiving simulation results + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/02-page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/02-page_software-development-view.md new file mode 100644 index 00000000000..024639da235 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/02-page_software-development-view.md @@ -0,0 +1,226 @@ +--- +id: Specification OSim Kit +title: Specification +description: 'OSim Kit' +--- + +![osim kit banner](@site/static/img/OSimKitIcon.svg) + +### OSim Kit + +## Sample Data + +### Sample-1 + +The following example shows the payload used for exchange of simulation results between the OSim partners. The format corresponds with AAS format serialized as a JSON string. + +```json +{ + "materialFlowSimulationResult": { + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "dataQuality": 0, + "description": "Please simulate asap", + "comment": "successful simulation ", + "expirationTimestamp": "2023-03-24T09:15:24.000Z", + "runId": "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments": [ + { + "handlingUnits": [ + { + "name": "Palette", + "volume": 1, + "weight": 189, + "batches": [ + { + "unitOfMeasurement": "KG", + "materialName": "KK1000GR-Gehäuse-Rot", + "quantity": 0, + "materialNumber": "KK1000GR", + "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", + "batchOrderId": "Order-0001", + "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", + "batchNumber": "45" + } + ], + "handlingUnitId": "HUT_1", + "amount": 1 + } + ], + "shipmentId": "DE51515151", + "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "splittingAllowed": true, + "destinationTimestamp": "2023-03-19T09:00:00.000Z" + } + ], + "timestamp": "2023-03-09T14:13:42.806Z" + } +} +``` + +### Sample-2 + +The following example shows the payload used for exchange of scenario data between the OSim partners. The format corresponds with AAS format serialized as a JSON string. + +```json +{ + "materialFlowScenarioRequest": { + "scenarioSimResults": { + "resultOwnId": "916b5688-8bd8-4d7e-83b9-e0d40939274e", + "resultOwnSimRunInitial": { + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "dataQuality": 0, + "description": "Please simulate asap", + "comment": "successful simulation ", + "expirationTimestamp": "2023-03-24T09:15:24.000Z", + "runId": "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments": [ + { + "handlingUnits": [ + { + "name": "Palette", + "volume": 1, + "weight": 189, + "batches": [ + { + "unitOfMeasurement": "KG", + "materialName": "KK1000GR-Gehäuse-Rot", + "quantity": 0, + "materialNumber": "KK1000GR", + "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", + "batchOrderId": "Order-0001", + "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", + "batchNumber": "45" + } + ], + "handlingUnitId": "HUT_1", + "amount": 1 + } + ], + "shipmentId": "DE51515151", + "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "splittingAllowed": true, + "destinationTimestamp": "2023-03-19T09:00:00.000Z" + } + ], + "timestamp": "2023-03-09T14:13:42.806Z" + }, + "resultOwnSimRunUpdated": { + "owner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "dataQuality": 0, + "description": "Please simulate asap", + "comment": "successful simulation ", + "expirationTimestamp": "2023-03-24T09:15:24.000Z", + "runId": "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments": [ + { + "handlingUnits": [ + { + "name": "Palette", + "volume": 1, + "weight": 189, + "batches": [ + { + "unitOfMeasurement": "KG", + "materialName": "KK1000GR-Gehäuse-Rot", + "quantity": 0, + "materialNumber": "KK1000GR", + "materialHazardousGoods": false, + "batchSerialNumber": "Batch_1", + "batchOrderId": "Order-0001", + "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", + "batchNumber": "45" + } + ], + "handlingUnitId": "HUT_1", + "amount": 1 + } + ], + "shipmentId": "DE51515151", + "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", + "destination": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "recipient": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "logistics": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "preceding": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "splittingAllowed": true, + "destinationTimestamp": "2023-03-19T09:00:00.000Z" + } + ], + "timestamp": "2023-03-09T14:13:42.806Z" + } + }, + "scenarioParameter": [ + { + "unitOfMeasurement": "KG", + "parameterComment": "updated Delivery Date", + "materialName": "KK1000GR-Gehäuse-Rot", + "parameterQuantityUpdated": 1, + "parameterId": "847c71e5-614a-468b-a3a0-674bf2af3004", + "materialNumber": "KK1000GR", + "parameterDeliveryDateUpdated": "2023-10-10T09:00:00.000Z", + "parameterDeliveryDateInitial": "2023-10-09T10:00:00.000Z", + "parameterOrderId": "OID-011123546", + "parameterQuantityInitial": 1 + } + ], + "scenarioHeader": { + "scenarioOwnerRole": "Customer", + "scenarioCreationTimestamp": "2023-10-04T09:10:00.000Z", + "scenarioExpirationTimestamp": "2023-10-07T09:10:00.000Z", + "scenarioOwner": { + "bpnsProperty": "BPNS0123456789ZZ" + }, + "scenarioDescription": "Changes in Delivery Date", + "scenarioId": "8d464b8b-6977-4952-8a22-0489067ca081", + "scenarioTitle": "Delivery Modification" + } + } +} +``` + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx similarity index 90% rename from docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx index 5b864ed924a..54bb3c43705 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/03-request-latest-simulation-result.api.mdx @@ -5,7 +5,7 @@ description: "Request latest simulation result by referring the latest simulatio sidebar_label: "requestLatestSimulationResult" hide_title: true hide_table_of_contents: true -api: {"tags":["requestLatestSimulationResult"],"operationId":"requestLatestSimulationResult","description":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"},{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"simulationRunId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"No simulation results are released","content":{"text":{"schema":{"type":"string","example":"Data provider doesn’t have any released simulation results"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request the data was not GET"}}}},"406":{"description":"No newer simulation available","content":{"text":{"schema":{"type":"string","example":"The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database"}}}},"407":{"description":"No shipments planned","content":{"text":{"schema":{"type":"string","example":"No shipments are currently planned for the requestor"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"request Latest Simulation Result","description":{"content":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","type":"text/plain"},"url":{"path":["api","requestLatestSimulationResult","bpns",":bpns","requestId",":requestId","simulationRunId",":simulationRunId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"simulationRunId"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} +api: {"operationId":"requestLatestSimulationResult","tags":["requestLatestSimulationResult"],"description":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"},{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"simulationRunId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"No simulation results are released","content":{"text":{"schema":{"type":"string","example":"Data provider doesn’t have any released simulation results"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request the data was not GET"}}}},"406":{"description":"No newer simulation available","content":{"text":{"schema":{"type":"string","example":"The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database"}}}},"407":{"description":"No shipments planned","content":{"text":{"schema":{"type":"string","example":"No shipments are currently planned for the requestor"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"request Latest Simulation Result","description":{"content":"Request latest simulation result by referring the latest simulation run id available in own OSim Manager","type":"text/plain"},"url":{"path":["api","requestLatestSimulationResult","bpns",":bpns","requestId",":requestId","simulationRunId",":simulationRunId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"simulationRunId"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} sidebar_class_name: "get api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx new file mode 100644 index 00000000000..2b005630c28 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/04-receive-latest-simulation-result.api.mdx @@ -0,0 +1,102 @@ +--- +id: receive-latest-simulation-result +title: "receiveLatestSimulationResult" +description: "Receive latest simulation result which can be stored in own OSim Manager instance" +sidebar_label: "receiveLatestSimulationResult" +hide_title: true +hide_table_of_contents: true +api: {"tags":["receiveLatestSimulationResult"],"description":"Receive latest simulation result which can be stored in own OSim Manager instance","operationId":"receiveLatestSimulationResult","parameters":[{"name":"requestId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"8d628899-3e6f-4666-91c3-74ee7ab88b2b"}],"requestBody":{"content":{"application/json":{"schema":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Payload is empty","content":{"text":{"schema":{"type":"string","example":"The payload of the API call is empty."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"404":{"description":"Payload structure unknown","content":{"text":{"schema":{"type":"string","example":"The payload structure is unknown or correspond not to the defined semantic model"}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to receive the data was not POST"}}}},"406":{"description":"Payload content invalid","content":{"text":{"schema":{"type":"string","example":"The content of the payload is invalid. E.g. “owner unknown”"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/receiveLatestSimulationResult/requestId/{requestId}","jsonRequestBodyExample":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"receive Latest Simulation Result","description":{"content":"Receive latest simulation result which can be stored in own OSim Manager instance","type":"text/plain"},"url":{"path":["api","receiveLatestSimulationResult","requestId",":requestId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"requestId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## receiveLatestSimulationResult + + + +Receive latest simulation result which can be stored in own OSim Manager instance + +
                                    Path Parameters
                                    Request Body
                                      owner object
                                      + +Characteristic describing the Scenario Owner + +
                                      shipments object[] required
                                      + +List of shipments contained in the simulation + +
                                      destination object
                                      + +Characteristic describing the Scenario Owner + +
                                      recipient object
                                      + +Characteristic describing the Scenario Owner + +
                                      logistics object
                                      + +Characteristic describing the Scenario Owner + +
                                      preceding object
                                      + +Characteristic describing the Scenario Owner + +
                                      handlingUnits object[] required
                                      + +List of handling units included in the shipment + +
                                      = 1`"} defaultValue={undefined}>
                                      batches object[] required
                                      + +List of material batches + +
                                    + +OK + +
                                    Schema
                                    • string
                                    + +Bad request + +
                                    Schema
                                    • string
                                    + +Unauthorized + +
                                    Schema
                                    • string
                                    + +Payload is empty + +
                                    Schema
                                    • string
                                    + +Forbidden + +
                                    Schema
                                    • string
                                    + +Payload structure unknown + +
                                    Schema
                                    • string
                                    + +Method not allowed + +
                                    Schema
                                    • string
                                    + +Payload content invalid + +
                                    Schema
                                    • string
                                    + +Internal server error + +
                                    Schema
                                    • string
                                    + +Service unavailable + +
                                    Schema
                                    • string
                                    + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx new file mode 100644 index 00000000000..abca7415abc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/05-request-scenario-feedback.api.mdx @@ -0,0 +1,154 @@ +--- +id: request-scenario-feedback +title: "requestScenarioFeedback" +description: "The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario." +sidebar_label: "requestScenarioFeedback" +hide_title: true +hide_table_of_contents: true +api: {"operationId":"requestScenarioFeedback","tags":["requestScenarioFeedback"],"description":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"}],"requestBody":{"content":{"application/json":{"schema":{"required":["materialFlowScenarioRequest"],"type":"object","properties":{"materialFlowScenarioRequest":{"required":["scenarioHeader","scenarioSimResults"],"type":"object","properties":{"scenarioHeader":{"required":["scenarioCreationTimestamp","scenarioExpirationTimestamp","scenarioId","scenarioOwner","scenarioOwnerRole","scenarioTitle"],"type":"object","properties":{"scenarioId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"scenarioTitle":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"scenarioCreationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"scenarioExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"scenarioOwner":{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"},"scenarioOwnerRole":{"type":"string","description":"Characteristic describing possible values for the role of the scenario owner","enum":["Customer","Supplier","LogisticianReceiving","LogisticianSending"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerRoleCharacteristic"},"scenarioDescription":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"}},"description":"Characteristic describing the parameter for a scenario header","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioHeaderCharacteristic"},"scenarioParameter":{"type":"array","description":"Characteristic describing the scenario parameter","items":{"required":["materialName","materialNumber","parameterComment","parameterDeliveryDateInitial","parameterDeliveryDateUpdated","parameterId","parameterOrderId","parameterQuantityInitial","parameterQuantityUpdated","unitOfMeasurement"],"type":"object","properties":{"parameterId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"parameterDeliveryDateInitial":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"parameterDeliveryDateUpdated":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"parameterQuantityInitial":{"type":"number","description":"Describes a property which is a Float","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#QuantityCharacteristic"},"parameterQuantityUpdated":{"type":"number","description":"Describes a property which is a Float","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#QuantityCharacteristic"},"parameterOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"parameterComment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"}},"description":"Parameters which are used to describe a material flow scenario request","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioParameter"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioParameterCharacteristic"},"scenarioSimResults":{"required":["resultOwnId"],"type":"object","properties":{"resultOwnId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"resultOwnSimRunInitial":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"},"resultOwnSimRunUpdated":{"required":["comment","dataQuality","description","expirationTimestamp","owner","runId","shipments","timestamp"],"type":"object","properties":{"description":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"runId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"comment":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"expirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"owner":{"type":"object","description":"Site identifier of the simulation originator","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#OwnerCharacteristic"},"dataQuality":{"minimum":0,"type":"number","description":"Possible values determining data quality","enum":[0,1,2,3,4,5],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DataQualityOptions"},"shipments":{"type":"array","description":"List of shipments contained in the simulation","items":{"required":["destination","destinationTimestamp","handlingUnits","logistics","preceding","recipient","recipientTimestampPlanned","shipmentId","splittingAllowed"],"type":"object","properties":{"shipmentId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text"},"destination":{"type":"object","description":"Address where the shipment is immediately delivered to (by logistician) or provided for pickup (by producer)","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#DestinationCharacteristic"},"destinationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"recipient":{"type":"object","description":"Location identifier of the final recipient of the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#RecipientCharacteristic"},"recipientTimestampPlanned":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"splittingAllowed":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"logistics":{"type":"object","description":"Site identifier of the logistician executing the shipment","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#LogisticsCharacteristic"},"preceding":{"type":"object","description":"Reference of preceding shipments","allOf":[{"required":["bpnsProperty"],"type":"object","properties":{"bpnsProperty":{"pattern":"^BPNS[a-zA-Z0-9]{12}$","type":"string","description":"The provided regular expression ensures that the BPNS is composed of prefix 'BPNS', 10 digits and two alphanumeric letters.","x-samm-aspect-model-urn":"urn:samm:io.catenax.shared.business_partner_number:2.0.0#BpnsTrait"}},"description":"Characteristic describing the Scenario Owner","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioOwnerCharacteristic"}],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#PrecedingCharacteristic"},"handlingUnits":{"type":"array","description":"List of handling units included in the shipment","items":{"required":["amount","batches","handlingUnitId","name","volume","weight"],"type":"object","properties":{"handlingUnitId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"name":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"volume":{"type":"number","description":"Volumetric value determining the volume of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#VolumeCharacteristic"},"weight":{"type":"number","description":"Amount of weight of the handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#WeightCharacteristic"},"amount":{"minimum":1,"type":"number","description":"Number describing handling units with identical pieces","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#AmountCharacteristic"},"batches":{"type":"array","description":"List of material batches","items":{"required":["batchExpirationTimestamp","batchNumber","batchOrderId","batchSerialNumber","materialHazardousGoods","materialName","materialNumber","quantity","unitOfMeasurement"],"type":"object","properties":{"batchSerialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialName":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"materialHazardousGoods":{"type":"boolean","description":"Represents a boolean value (i.e. a \"flag\").","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean"},"batchExpirationTimestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"},"quantity":{"type":"number","description":"Number of materials contained within a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#QuantityCharacteristic"},"unitOfMeasurement":{"type":"string","description":"Possible options for units of measurement","enum":["KG","Liter","Piece"],"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#UnitOfMeasurementCharacteristic"},"batchNumber":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"},"batchOrderId":{"type":"string","description":"Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc.","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Text"}},"description":"Material Batches are part of a handling unit","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#MaterialBatch"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#BatchList"}},"description":"Handling Unit is the smallest shipment unit and cannot be divided into several shipments","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnit"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#HandlingUnitList"}},"description":"Delivery item from a sender to a recipient containing goods","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#Shipment"},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_simulation_result:3.0.0#ShipmentList"},"timestamp":{"pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?","type":"string","description":"Describes a Property which contains the date and time with an optional timezone.","x-samm-aspect-model-urn":"urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp"}},"description":"Characteristic describing the property for a Material Flow Simulation Result","example":{"materialFlowSimulationResult":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#SimResult"}},"description":"Characteristic for simulation results","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#ScenarioSimResultsCharacteristic"}},"description":"Characteristic describing the aspect Material Flow Scenario Request","example":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"916b5688-8bd8-4d7e-83b9-e0d40939274e","resultOwnSimRunInitial":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"},"resultOwnSimRunUpdated":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"scenarioParameter":[{"unitOfMeasurement":"KG","parameterComment":"updated Delivery Date","materialName":"KK1000GR-Gehäuse-Rot","parameterQuantityUpdated":1,"parameterId":"847c71e5-614a-468b-a3a0-674bf2af3004","materialNumber":"KK1000GR","parameterDeliveryDateUpdated":"2023-10-10T09:00:00.000Z","parameterDeliveryDateInitial":"2023-10-09T10:00:00.000Z","parameterOrderId":"OID-011123546","parameterQuantityInitial":1}],"scenarioHeader":{"scenarioOwnerRole":"Customer","scenarioCreationTimestamp":"2023-10-04T09:10:00.000Z","scenarioExpirationTimestamp":"2023-10-07T09:10:00.000Z","scenarioOwner":{"bpnsProperty":"BPNS0123456789ZZ"},"scenarioDescription":"Changes in Delivery Date","scenarioId":"8d464b8b-6977-4952-8a22-0489067ca081","scenarioTitle":"Delivery Modification"}}},"x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#MaterialFlowScenarioRequestCharacteristic"}},"description":"Aspect model describing the Material Flow Scenario Request","x-samm-aspect-model-urn":"urn:samm:io.catenax.material_flow_scenario_request:2.0.0#MaterialFlowScenarioRequestAspect"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not POST"}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/requestScenarioFeedback/bpns/{bpns}","jsonRequestBodyExample":{"materialFlowScenarioRequest":{"materialFlowScenarioRequest":{"scenarioSimResults":{"resultOwnId":"916b5688-8bd8-4d7e-83b9-e0d40939274e","resultOwnSimRunInitial":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"},"resultOwnSimRunUpdated":{"owner":{"bpnsProperty":"BPNS0123456789ZZ"},"dataQuality":0,"description":"Please simulate asap","comment":"successful simulation ","expirationTimestamp":"2023-03-24T09:15:24.000Z","runId":"0fece48b-c8d1-4180-1a9caca6d67e","shipments":[{"handlingUnits":[{"name":"Palette","volume":1,"weight":189,"batches":[{"unitOfMeasurement":"KG","materialName":"KK1000GR-Gehäuse-Rot","quantity":50,"materialNumber":"KK1000GR","materialHazardousGoods":false,"batchSerialNumber":"Batch_1","batchOrderId":"Order-0001","batchExpirationTimestamp":"2023-08-22T16:00:00.000Z","batchNumber":"45"}],"handlingUnitId":"HUT_1","amount":1}],"shipmentId":"DE51515151","recipientTimestampPlanned":"2023-04-19T09:00:00.000Z","destination":{"bpnsProperty":"BPNS0123456789ZZ"},"recipient":{"bpnsProperty":"BPNS0123456789ZZ"},"logistics":{"bpnsProperty":"BPNS0123456789ZZ"},"preceding":{"bpnsProperty":"BPNS0123456789ZZ"},"splittingAllowed":true,"destinationTimestamp":"2023-03-19T09:00:00.000Z"}],"timestamp":"2023-03-09T14:13:42.806Z"}},"scenarioParameter":[{"unitOfMeasurement":"KG","parameterComment":"updated Delivery Date","materialName":"KK1000GR-Gehäuse-Rot","parameterQuantityUpdated":1,"parameterId":"847c71e5-614a-468b-a3a0-674bf2af3004","materialNumber":"KK1000GR","parameterDeliveryDateUpdated":"2023-10-10T09:00:00.000Z","parameterDeliveryDateInitial":"2023-10-09T10:00:00.000Z","parameterOrderId":"OID-011123546","parameterQuantityInitial":1}],"scenarioHeader":{"scenarioOwnerRole":"Customer","scenarioCreationTimestamp":"2023-10-04T09:10:00.000Z","scenarioExpirationTimestamp":"2023-10-07T09:10:00.000Z","scenarioOwner":{"bpnsProperty":"BPNS0123456789ZZ"},"scenarioDescription":"Changes in Delivery Date","scenarioId":"8d464b8b-6977-4952-8a22-0489067ca081","scenarioTitle":"Delivery Modification"}}}},"info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"request Scenario Feedback","description":{"content":"The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.","type":"text/plain"},"url":{"path":["api","requestScenarioFeedback","bpns",":bpns"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## requestScenarioFeedback + + + +The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario. + +
                                    Path Parameters
                                    Request Body
                                      materialFlowScenarioRequest object required
                                      + +Characteristic describing the aspect Material Flow Scenario Request + +
                                      scenarioHeader object required
                                      + +Characteristic describing the parameter for a scenario header + +
                                      scenarioOwner object required
                                      + +Characteristic describing the Scenario Owner + +
                                      scenarioParameter object[]
                                      + +Characteristic describing the scenario parameter + +
                                      scenarioSimResults object required
                                      + +Characteristic for simulation results + +
                                      resultOwnSimRunInitial object
                                      + +Characteristic describing the property for a Material Flow Simulation Result + +
                                      owner object
                                      + +Characteristic describing the Scenario Owner + +
                                      shipments object[] required
                                      + +List of shipments contained in the simulation + +
                                      destination object
                                      + +Characteristic describing the Scenario Owner + +
                                      recipient object
                                      + +Characteristic describing the Scenario Owner + +
                                      logistics object
                                      + +Characteristic describing the Scenario Owner + +
                                      preceding object
                                      + +Characteristic describing the Scenario Owner + +
                                      handlingUnits object[] required
                                      + +List of handling units included in the shipment + +
                                      = 1`"} defaultValue={undefined}>
                                      batches object[] required
                                      + +List of material batches + +
                                      resultOwnSimRunUpdated object
                                      + +Characteristic describing the property for a Material Flow Simulation Result + +
                                      owner object
                                      + +Characteristic describing the Scenario Owner + +
                                      shipments object[] required
                                      + +List of shipments contained in the simulation + +
                                      destination object
                                      + +Characteristic describing the Scenario Owner + +
                                      recipient object
                                      + +Characteristic describing the Scenario Owner + +
                                      logistics object
                                      + +Characteristic describing the Scenario Owner + +
                                      preceding object
                                      + +Characteristic describing the Scenario Owner + +
                                      handlingUnits object[] required
                                      + +List of handling units included in the shipment + +
                                      = 1`"} defaultValue={undefined}>
                                      batches object[] required
                                      + +List of material batches + +
                                    + +OK + +
                                    Schema
                                    • string
                                    + +Bad request + +
                                    Schema
                                    • string
                                    + +Unauthorized + +
                                    Schema
                                    • string
                                    + +Unknown BPNS + +
                                    Schema
                                    • string
                                    + +Forbidden + +
                                    Schema
                                    • string
                                    + +Method not allowed + +
                                    Schema
                                    • string
                                    + +Internal server error + +
                                    Schema
                                    • string
                                    + +Service unavailable + +
                                    Schema
                                    • string
                                    + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx similarity index 90% rename from docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx rename to docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx index 102bb1861e4..880ebbd4405 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/06-receive-scenario-feedback.api.mdx @@ -5,7 +5,7 @@ description: "The receiveScenarioFeedback enables the requestor to transmit the sidebar_label: "receiveScenarioFeedback" hide_title: true hide_table_of_contents: true -api: {"tags":["receiveScenarioFeedback"],"operationId":"receiveScenarioFeedback","description":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"feedback","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["Realizable","NotRealizable"]},"example":"Realizable"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The feedbackState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}","info":{"title":"OSim API","description":"Osim API for requesting and receiving simulation results as well as for interactions related to scenario management.","version":"2.0.0"},"postman":{"name":"receive Scenario Feedback","description":{"content":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","type":"text/plain"},"url":{"path":["api","receiveScenarioFeedback","bpns",":bpns","scenarioId",":scenarioId","feedback",":feedback"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"feedback"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} +api: {"operationId":"receiveScenarioFeedback","tags":["receiveScenarioFeedback"],"description":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"feedback","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["Realizable","NotRealizable"]},"example":"Realizable"}],"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The feedbackState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"get","path":"/api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"receive Scenario Feedback","description":{"content":"The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor","type":"text/plain"},"url":{"path":["api","receiveScenarioFeedback","bpns",":bpns","scenarioId",":scenarioId","feedback",":feedback"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"feedback"}]},"header":[{"key":"Accept","value":"text"}],"method":"GET"}} sidebar_class_name: "get api-method" info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api custom_edit_url: null diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx new file mode 100644 index 00000000000..872564bce85 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/07-push-scenario-state.api.mdx @@ -0,0 +1,70 @@ +--- +id: push-scenario-state +title: "pushScenarioState" +description: "The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario" +sidebar_label: "pushScenarioState" +hide_title: true +hide_table_of_contents: true +api: {"operationId":"pushScenarioState","tags":["pushScenarioState"],"description":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","parameters":[{"name":"bpns","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"BPNS00000007OTZ3"},{"name":"scenarioId","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string"},"example":"50737df3-4237-4652-b092-1ef8649f6ca6"},{"name":"state","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["InRealization","Processed","Canceled"]},"example":"InRealization"}],"requestBody":{"content":{"text/plain":{"schema":{"type":"string"}}}},"responses":{"200":{"description":"OK","content":{"text":{"schema":{"type":"string","example":"The GET has succeeded. The pushScenarioState has been successfully processed in the backend system."}}}},"400":{"description":"Bad request","content":{"text":{"schema":{"type":"string","example":"The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)."}}}},"401":{"description":"Unauthorized","content":{"text":{"schema":{"type":"string","example":"Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response."}}}},"402":{"description":"Unknown BPNS","content":{"text":{"schema":{"type":"string","example":"The BPNS which is given as parameter is not registered in the data provider database as a direct partner."}}}},"403":{"description":"Forbidden","content":{"text":{"schema":{"type":"string","example":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource."}}}},"405":{"description":"Method not allowed","content":{"text":{"schema":{"type":"string","example":"The method used to request a scenario feedback was not GET"}}}},"406":{"description":"Unknown Scenario","content":{"text":{"schema":{"type":"string","example":"The scenarioID which is given as parameter is not registered."}}}},"407":{"description":"Unknown State","content":{"text":{"schema":{"type":"string","example":"The scenarioState value is unknown."}}}},"500":{"description":"Internal server error","content":{"text":{"schema":{"type":"string","example":"The server has encountered a situation it does not know how to handle."}}}},"501":{"description":"Service unavailable","content":{"text":{"schema":{"type":"string","example":"The server is not ready to handle the request."}}}}},"servers":[{"url":"https://{server-url}"}],"method":"post","path":"/api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}","info":{"title":"OSim API","description":"OSim API for requesting and receiving simulation results","version":"3.0.0"},"postman":{"name":"push Scenario State","description":{"content":"The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario","type":"text/plain"},"url":{"path":["api","pushScenarioState","bpns",":bpns","scenarioId",":scenarioId","state",":state"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"bpns"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"scenarioId"},{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"state"}]},"header":[{"key":"Content-Type","value":"text/plain"},{"key":"Accept","value":"text"}],"method":"POST","body":{"mode":"raw","raw":"\"\""}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/OSim Kit/Software Development View//osim-api +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## pushScenarioState + + + +The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario + +
                                    Path Parameters
                                    Request Body
                                    • string
                                    + +OK + +
                                    Schema
                                    • string
                                    + +Bad request + +
                                    Schema
                                    • string
                                    + +Unauthorized + +
                                    Schema
                                    • string
                                    + +Unknown BPNS + +
                                    Schema
                                    • string
                                    + +Forbidden + +
                                    Schema
                                    • string
                                    + +Method not allowed + +
                                    Schema
                                    • string
                                    + +Unknown Scenario + +
                                    Schema
                                    • string
                                    + +Unknown State + +
                                    Schema
                                    • string
                                    + +Internal server error + +
                                    Schema
                                    • string
                                    + +Service unavailable + +
                                    Schema
                                    • string
                                    + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/sidebar.js new file mode 100644 index 00000000000..78d82355043 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/Software Development View/sidebar.js @@ -0,0 +1,88 @@ +module.exports = [ + { type: "doc", id: "kits/OSim Kit/Software Development View//osim-api" }, + { + type: "category", + label: "requestLatestSimulationResult", + link: { + type: "generated-index", + title: "requestLatestSimulationResult", + slug: "/category/kits/OSim Kit/Software Development View/request-latest-simulation-result", + }, + items: [ + { + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "receiveLatestSimulationResult", + link: { + type: "generated-index", + title: "receiveLatestSimulationResult", + slug: "/category/kits/OSim Kit/Software Development View/receive-latest-simulation-result", + }, + items: [ + { + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "requestScenarioFeedback", + link: { + type: "generated-index", + title: "requestScenarioFeedback", + slug: "/category/kits/OSim Kit/Software Development View/request-scenario-feedback", + }, + items: [ + { + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "receiveScenarioFeedback", + link: { + type: "generated-index", + title: "receiveScenarioFeedback", + slug: "/category/kits/OSim Kit/Software Development View/receive-scenario-feedback", + }, + items: [ + { + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method get", + }, + ], + }, + { + type: "category", + label: "pushScenarioState", + link: { + type: "generated-index", + title: "pushScenarioState", + slug: "/category/kits/OSim Kit/Software Development View/push-scenario-state", + }, + items: [ + { + type: "doc", + id: "kits/OSim Kit/Software Development View//", + label: "Missing summary", + className: "api-method post", + }, + ], + }, +]; diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/architecture.png b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/architecture.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/OSim Kit/architecture.png rename to docs-kits_versioned_docs/version-24.08/kits/OSim Kit/architecture.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/businessProcess.png b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/businessProcess.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/OSim Kit/businessProcess.png rename to docs-kits_versioned_docs/version-24.08/kits/OSim Kit/businessProcess.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_adoption-view.md new file mode 100644 index 00000000000..666e9065989 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_adoption-view.md @@ -0,0 +1,262 @@ +--- +id: Adoption View OSim Kit +title: Adoption View +description: "OSim Kit" +sidebar_position: 2 +--- + +![osim kit banner](@site/static/img/OSimKitIcon.svg) + +### OSim Kit + +## Vision & Mission + + + +**Gain increased supply chain transparency through collaborative simulation across all stakeholders**. + +**Combine simulations of plants internally with simulations of external logistics over multiple tiers**. + +Online control and simulation aims at linking production simulation with logistics simulation in order to identify delivery problems earlier, to operate with potentially changed situations in production and to react in response to changing customer requirements or external disturbances/events. +The online control and simulation (OSim) Kit defines the mechanisms and services needed to enable every Catena-X partner (producer as well as logisticians) to exchange simulation results in an open, interoperable and Catena-X compliant way. +An open architecture for integrating partners of all kinds together with standardized interfaces and semantics models are the fundamental basis of the OSim Kit. + +**Integrate any supply chain partner**. + +Even partners that do not use any simulation tool can contribute to the overall transparency through the well-defined information requirements. + +**Integrate any simulation tool**. + +Thanks to open architecture OSim is independent of the simulation tools that partners use. + +## Business Value + +Conventional planning and simulation tools use material flow simulations only on the plant level but they don't exchange simulation results with their respective partners in the supply chain. OSim goes beyond this by enabling every Catena-X partner (producers as well as logisticians) to integrate material flow simulation results of their partners into the simulation of their own processes. This is achieved by sharing the material flow simulation results on supply chain level. + +The simulation results of the Catena-X partners on the supply chain's lower tier level and logistics, together with data of the company's own operations are fed into a simulation model as input. Considering both, plannable and unpredictable influencing factors, this simulation model is iterated as often as necessary until an optimal result has been found. Sharing of simulation results to the next tier level is the core capability of the collaborative simulation approach. +One specific case of this data exchange is so called “What-If” scenario. This capability provides validation respectively calibration of potentially changed manufacturing or transportation situations across the entire supply chain. + +A central application takes over the tasks of monitoring and controlling the transmission of the simulation results, regardless of the level of digitalization of the partners. In addition, this application takes over control of the simulation tools used. + +![Example of an OSim partner network from the perspective of the producing company WERK-76](./werk76.png) + +### Benefits for OEM, SME and Solution Provider + +- Collaborative simulation over the supply chain (Basic flow) +- “What-If” triggered scenarios (Scenario flow) +- Early reaction to delivery problems +- Early response to changes in customer requirements +- Early consideration of external disturbances/events on the process +- Validation of potential changes in advance of implementation + +## Business Process + +The simulation results of the Catena-X partners on the lower tier level and logistics, together with data of the company's own operations are fed into the individual simulation model as input. Considering both, plannable and unforeseeable influencing factors, this simulation model is iterated through as often as necessary until an optimal production schedule is reached and a simulation result is created. Sharing of simulation results to the next tier level is the base of the collaborative simulation approach in a short-term horizon, across the complete supply chain. + +This basic data exchange is based on a real production state and current planning. Additionally, a further functionality allows to operate with potentially changed situations in production or changed requirements. So called "What-If" scenarios" can be initiated and communicated to the supply chain partners confirming the feasibility. + +The following picture shows the fundamental network structure, consisting of suppliers, logisticians and OEMs who exchange simulation results with each other, considering the one-up and one-down principles. Every material flow simulation result includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. + +![business processes](./businessProcess.png) + +See also the following publications for more detailed description of the process and its components: + +- [Catena-X – Online Steuerung und Simulation](https://www.degruyter.com/document/doi/10.1515/zwf-2023-1031/html) (Publication by De Gruyter 18. April 2023) +- [Kollaborative Materialflusssimulationen zur Steuerung der Verknüpfung von Supply Chain und Shopfloor – Ein Catena-X Use-Case](https://elibrary.vdi-verlag.de/10.51202/9783181024195/automation-2023?page=1) (Publication in the VDI-Report „Automation 2023“ by VDI Wissensforum GmbH Hrsg., see pages 73-88) + +## Semantic Model + +### Materialflow Simulation Result (MaterialFlowSimulationResult) + +The Semantic Model MaterialFlowSimulationResult summarizes simulation results of the individual partners and is used for data exchange along the supply chain. + +The _MaterialFlowSimulationResult_ object will be sent by OSim partner to another OSim partner on a higher tier level. OSim partner can be a producing company as well as a logistics company. + +Every _MaterialFlowSimulationResult_ includes information about delivery readiness of packaged material goods, like material identifier, amount, delivery time and destination. + +#### Structure of the Materialflow Simulation Result + +The MaterialFlowSimulationResult semantic model contains 4 hierarchical entities: + +- MaterialFlowSimulationResult +- Shipment +- HandlingUnit +- MaterialBatch + +One _MaterialFlowSimulationResult_ refers to one or more Shipments. + +**Shipment** describes a delivery approach with information about source, destination and delivery time. One Shipment refers to one or more HandlingUnits. + +**HandlingUnit** describes the smallest shipment unit. One HandlingUnit refers to one or more MaterialBatches. The parameter Amount allows to define how many absolute identical (size and content) HandlingUnits are included in the shipment. + +**MaterialBatch** describes the material and the quantity which the handling unit contains. + +#### Aspect Model + +Github Link to semantic data model: + +### Materialflow Scenario Request (MaterialFlowScenarioRequest) + +The Semantic Model _MaterialFlowScenarioRequest_ includes scenario related information of the individual partners and is used for data exchange along the supply chain in regard to “What-If” scenarios. + +The _MaterialFlowScenarioRequest_ object will be sent by OSim partner to another OSim partner (possible in both directions: up and down). OSim partner can be a producing company as well as a logistics company. + +Every _MaterialFlowScenarioRequest_ includes information about the scenario description, scenario parameters (optional) and two simulation results analogues to the MaterialFlowSimulationResult (one with the unchanged and another one with the changed situation, allowing verification of scenario impact through comparison). + +#### Structure of the Materialflow Scenario Request + +The _MaterialFlowScenarioRequest_ semantic model contains 4 entities: + +- Scenario Header +- Scenario Parameters (optional) +- Scenario Simulation Results Initial (optional) +- Scenario Simulation Results Updated (optional) + +**Scenario Header** entity describes the scenario in general. + +**Scenario Parameters** entity includes the delivery related parameters, if relevant. + +**Scenario Simulation Results Initial** is a reference to the aspect model MaterialFlowSimulationResult and includes the simulation result of the unchanged situation. + +**Scenario Simulation Results Updated** is a reference to the aspect model MaterialFlowSimulationResult and includes the simulation result of the scenario related change. + +#### Aspect Model + +Github Link to semantic data model: + +## Logic & Schema + +### Architecture + +#### Introduction + +The OSim approach is based on a distributed simulation in which each participant simulates its role and additionally exchanges information with its suppliers and customers online via standardized interfaces. In the process, a strict 1-up / 1-down principle (i.e. data is only exchanged with the immediate predecessors and successors in the supply chain) guarantees compliance with antitrust regulations. The data exchange itself is carried out according to Gaia-X principles, which guarantee the data sovereignty of all partners involved. + +All partners involved in the supply chain simulate their respective actions (production or logistical deliveries) on the basis of the latest information from the shop floor and its internal systems. They then pass this on to the successors in the supply chain according to the 1-up principle, where a new simulation is carried out on the basis of this possibly changed information. In OSim, a "horizontal" exchange of information across the supply chain is thus combined with a "vertical" exchange with the simulation tools and thus indirectly with the shop floor. + +#### Components + +The OSim solution is built of different components mixed by CATENA-X central services and specific OSim components. The main OSim-specific application is the OSim Manager, followed by Simulation tools for logistics and production. + +The OSim Manager is a software application that exchanges all the information necessary for a local understanding of the supply chain with the partners and simulation tools, collects it and prepares it for the user. + +The simulation tools are responsible for the processing of material flow simulations in both, production plants and logistics. + +The following central services are needed for the communication along the supply chain: + +- Business Partner Number (BPN) Registry = Management of business partner legal entities, sites and addresses used to identify the partners and their BPN-IDs for communication +- Identity and Access Management (IAM) = IdP used to login against Catena-X services +- Self Sovereign Identity (SSI) = Central service hosting the EDCs certificates (public keys). Used for mutual authentication between different EDC instances +- Discovery Service (DS) = as a central registry used to store/lookup the EDC endpoints for OSim requests/sending. +- Eclipse Data Connector (EDC) = Handling contract negotiation and initiates data transfer. The Eclipse Data Connector (EDC) interface enables data exchange between the OSim managers of the participating partners. + +### Architecture and Dataflow + +![architecture](./architecture.png) + +### Technical requirements for a CATENA-X compliant data transmission + +The following appropriate configurations must be made in advance of the data exchange: + +1. In the BPN registry, all partner instances (production sites) participating in the OSim use case must be listed with their respective site identification and address. The BPN IDs of the production sites (BPNS) are used for registration in the DS. +2. In the IAM, each OSim participating partner must apply for a "technical user", which is used for process communication with the central services. +3. Registration of OSim endpoints takes place in the Discovery Service. +4. The certificates required for SSI are issued on request. + +At runtime the OSim Manager application must know the partner BPN-ID of the communication partner. With this BPN-ID, a look-up command is issued on the Discovery Service. The result is the endpoint link that the EDC connector needs to establish the connection. + +## Policies + +### Access Policies + +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the EDC, described in the following. Further details are described in the [CX - 0018 Sovereign Data Exchange standard](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/3_Sovereign_Data_Exchange/CX_-_0018_EDC_PlatformCapabilitySovereignDataExchange_v_1.0.1.pdf). + +To decide which company has access to the data assets, access policy should be used. Note that without protecting data assets with access policies, they become publicly available in the Catena-X network which is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). + +#### BPN Access Policy + +This policy allows limiting access to a data offer based on a list of specific BPNs. This translates to the following functionality: + +- The data offer creator will be able to create a policy listing all the BPN that can access the data offer +- This means that only the connectors registered in the Catena-X network with the BPN listed in the policy can see the data offer and accept it (for the creation of data contracts and subsequent data exchange) + +Examples including a JSON payload for single and multiple BPN are described on this page [in the Tractus-X EDC repository](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation) or in the [Business Partner Validation Extension part of the Connector Kit](https://eclipse-tractusx.github.io/docs-kits/kits/tractusx-edc/edc-extensions/business-partner-validation/). + +### Usage Policies + +To decide which company can use the data asset under specific conditions, usage policies (or contract policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. Currently, the usage policies aren't technically enforced but based on a legal framework (keep this in mind when publishing data assets). +Policies are defined based on the W3C ODRL format. This allows a standardized way of formulating policy payloads. It further allows to stack different constraints with the odrl:and operator. Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the network. It is recommended to restrict the data usage for all traceability aspects. An example of one usage policy containing three different constraints is shown and described in the following: + +**Sample-1**: The following example shows the payload used to create a usage policy with the restriction regarding Membership in CATENA-X network related to the consuming partner. + +```json +{ + "@context": { + "odrl": http://www.w3.org/ns/odrl/2/ + }, + "@type": "PolicyDefinitionRequestDto", + "@id": "", // Important for the contract definition + "policy": { + "@type": "Policy", + "odrl:permission": [ + { + "odrl:action": "USE", + "odrl:constraint": { + "@type": "LogicalConstraint", + "odrl:and": [ // All of the following three constraints have to be fullfilled (and, not or) + // First constraint to verify the the Catena-X membership + { + "@type": "Constraint", + "odrl:leftOperand": "Membership", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" + } + ] + } + } + ] + } +} +``` + +#### Membership Policy + +To verify the participants Catena-X membership, the Membership verifiable credential can be used. In case of a policy, the data can only be used from verified Catena-X members. The payload is shown in the first constraint-part of the example above and described in detail in the [EDC part of the SSI documentation](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md#1-membership-constraint). + +**Sample-2**: Membership Usage Policy example + +```json +{ + "@type": "Constraint", + "odrl:leftOperand": "Membership", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "active" +} +``` + +## Standards + +Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- [CX - 0133 Online Control and Simulation v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0133-OnlineControlandSimulation) + +## Product Documentation + +A deeper understanding of the basic Online Control and Simulation use case can be gained from the following linked document. While in the OSIM-KIT only the standardized partner interface of OSim is considered, the OSim product documentation represents the complete technical specification of the use case. + +- [OSim - Product Documentation_EN](./OSim-Product-Documentation-EN.pdf) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Manufacturing Engineering and Automation IPA +- SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Factory Operation and Automation IFF +- SPDX-FileCopyrightText: 2024,German Edge Cloud GmbH & Co.KG +- SPDX-FileCopyrightText: 2024,Siemens AG +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_changelog.md new file mode 100644 index 00000000000..70fc703cb37 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/page_changelog.md @@ -0,0 +1,76 @@ +--- +id: OSim Kit Changelog +title: Changelog +description: 'OSim Kit' +sidebar_position: 1 +--- + +![osim kit banner](@site/static/img/OSimKitIcon.svg) + +### OSim Kit + +All notable changes to this Kit will be documented in this file. + +## [3.0.0] - 2024-08-01 + +### Added + +- Adoption View: + - Added new Chapter Product documentation with a link to the document. + +### Changed + +- Adoption View: + - Updated the aspect model references to the newest version. +- Development View: + - Updated the API descriptions in accordance with the newest OSim standardization document CX-133 + +### Removed + +- Adoption View: + - References to the obsolete OSim Standards. + +## [2.0.0] – 2024-03-08 + +### Added + +Additionally to the “simulation flow” released in the version 1.0.0 this version was extended by “scenario flow” + +- Adoption View: + - Business process for scenario related data exchange + - MaterialFlowScenarioRequest aspect model +- Development View: + - requestScenarioFeedback API + - receiveScenarioFeedback API + - pushScenarioState API + +### Changed + +- n/a + +### Removed + +- n/a + +## [1.0.0] - 2023-08-18 + +### Added + +- Initial version of the Kit including adoption and development view + +### Changed + +- ./. + +### Removed + +- ./. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024,Fraunhofer Institute for Factory Operation and Automation IFF +- SPDX-FileCopyrightText: 2024,Siemens AG +- Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs-kits_versioned_docs/version-24.03/kits/OSim Kit/werk76.png b/docs-kits_versioned_docs/version-24.08/kits/OSim Kit/werk76.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/OSim Kit/werk76.png rename to docs-kits_versioned_docs/version-24.08/kits/OSim Kit/werk76.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..4d4af0fdc35 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,396 @@ +--- +id: Specification +title: Specification +description: 'PCF-Exchange-KIT' +sidebar_position: 3 +--- + +![PCF Exchange kit banner](/img/kit-icons/pcf-kit-icon.svg) + +## Introduction + +The developer view provides a detailed guide on how to utilize the PCF exchange KIT effectively. Developers will learn how to integrate the KIT into their applications and make use of the feature of exchanging PCF values via the Catena-X network. +IT-administrators will learn how they need to provide PCF data and which components are required. + +This KIT covers various aspects, starting from how to utilize the available API endpoints, the used data models and how to make them available to the Catena-X network. + +## Building Block View + +The following figure shows the current high level architecture of the PCF Exchange use case. It is build on an asynchronous data exchange. + +![Building Block View](../resources/development-view/BuildingblockView.png) + +## Sequence View + +The following chapter illustrates the process from searching for an EDC point, to querying a PCF value, and finally transmitting the requested value. + +### EDC Discovery and dDTR Access + +In order to receive the EDC endpoints for a requested partner, the EDC Discovery Service is used, following the [CX-0001](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) EDC Discovery API standard. Therefor, at least the BPNL (Business Partner Number Legal) entity needs to be known. For more details please refer to the Catena-X standard above. + +![EDCDiscoveryAndDTRAccess](../resources/development-view/EDCDiscoveryanddDTRAccess.png) + +### PCF Request + +In order to request PCF values via the PCF API endpoint first of all the EDC PCF asset needs to be identified. Therefor, the decentralized Digital Twin Registry (dDTR) is used. Data providers must register their dDTR(s) as EDC assets following the [CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) Digital Twins in Catena-X standard. After identifying the dDTR, the digital twin with the related PCF submodel can be looked up (see [API calls [0003 +0004]](#api-calls)). An example is documented [here](#payload-for-requesting-pcf-sub-model). + +After successfully locating the corresponding material twin containing a PCF submodel, the EDC asset containing the PCF request endpoint can be extracted (example payload can be found [here](#payload-for-edc-data-asset-pcf)) and the query for a PCF dataset can be initiated, as illustrated in the attached sequence diagram. + +![PCF Request](../resources/development-view/PCFRequestthroughAAS.png) + +In case no matching material twin or PCF submodel exists, the flow falls back to a direct lookup of an EDC asset containing the PCF request endpoint provided within the offers of any EDC registered for the data provider's BPNL. + +![PCF Request without Twin or Submodel](../resources/development-view/PCFRequestWithoutTwinOrSubmodel.png) + +>**Note** +>The API wrapper shown in the sequence diagrams is optional. The management API of the EDC can also be used directly. + +### PCF Update + +The sequence diagram provided below presents an example of a PCF update flow. An update is feasible only for assets that have been previously requested at least once, as demonstrated in [PCF Request](#pcf-request). Proactive updates without a prior request are not achievable with the current version. + +![PCF Update](../resources/development-view/PCFUpdatePushedThroughEDC.png) + +#### API Calls + +| Call | Method | Path | Parameter | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------| +| [001](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20EDC%20Discovery/post-list-of-bpns-or-an-empty-array-to-retrieve-available-company-connector-authorization-required-roles-view-connectors) (Lookup EDC endpoints) | POST | /api/administration/Connectors/discovery/ | `[]` | +| [002](https://eclipse-tractusx.github.io/docs-kits/next/kits/tractusx-edc/docs/samples/management-api-v2-walkthrough/catalog) (Look up dDTR) | POST | /v2/catalog/request | --> Lookup Asset in the EDC catalog (EDC asset type data.core.digitalTwinRegistry) | +| [003](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Discovery/get-all-asset-administration-shell-ids-by-asset-link) (Lookup Twin ID) | GET | /lookup/shells | `assetIds= [{"key": "manufacturerPartId", "value":"mat345",{"key":"digitalTwinType", "value": "PartType"}}]` | +| [004](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/API%20AAS%20Registry/get-all-asset-administration-shell-descriptors) (Lookup PCF submodel/EDC asset ID) | GET | /shell-descriptors | `{DIGITAL TWIN ID}` | +| [005](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) (Requesting PCF value) | GET | /productIds | {productId} | +| [006](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) (Sending PCF value) | PUT | /productIds | {productId} | + +- The assetIds under [003] must be base64 encoded! +- When responding an PCF exchange request, the "requestID" is mandatory in the PUT call. +- When sharing a PCF update, the "requestID" is NOT allowed in the PUT call. +- The EDC asset used to receive a PCF is NOT looked up through AAS, but identified by type ("data.pcf.exchangeEndpoint"). +- The Open API specification defining all mandatory PCF Exchange endpoints and the data structures transfered through those can be found [here](../resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml) + +##### Payload for Requesting PCF Sub Model + +The following JSON shows the structure of a registered PCF submodel in the DTR. The subprotocolBody is used for asset bundling. For this, the [CX-0002](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) Digital Twins in Catena-X standard needs to be followed. + +The digital twin id can be searched via the `manufacturerPartId` and the ``digitalTwinType:"PartType"``. + +The PCF submodel must be registered with the ``idshort: PCFExchangeEndpoint``. +
                                    + PCFExchange Endpoint of a DigitalTwin (JSON) + +```json +{ + "description": [ + { + "language": "en", + "text": "PCF endpoint for material 'mat345'" + } + ], + "idShort": "PCFExchangeEndpoint", + "identification": "urn:uuid:205cf8d1-8f07-483c-9c5b-c8d706c7d05d", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.pcf:7.0.0#Pcf" + } + ] + }, + "endpoints": [ + { + "interface": "PCF-1.1", + "protocolInformation": { + "href": "https://edc.data.plane/productIds/mat345", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=c34018ab-5820-4065-9087-416d78e1ab60;dspEndpoint=https://some.controlplane.url:7173/api/v1/dsp", + "subprotocolBodyEncoding": "plain" + } + } + ] +} +``` + +
                                    + +#### Payloads for EDC Asset + +##### Payload for EDC Data Asset PCF + +The following JSON shows the EDC Asset for a PCF defined in the EDC using the asset bundling mentioned under [Payload for Requesting PCF Sub Model](#api-calls). +
                                    + PCFExchange Asset Definition (JSON) + +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "odrl": "http://www.w3.org/ ns/odrl/2/", + "dcat": "http://www.w3.org/ns/dcat#", + "dct": "http://purl.org/dc/terms/", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" + }, + "@id": "c34018ab-5820-4065-9087-416d78e1ab60", + "@type": "edc:Asset", + "edc:properties": { + "rdfs:label": "PCF Data", + "rdfs:comment": "Endpoint for PCF data", + "cx-common:version": "1.1", + "aas-semantics:semanticId": {"@id":"urn:samm:io.catenax.pcf:7.0.0#Pcf"}, + "edc:contentType": "application/json", + "dct:type": {"@id":"cx-taxo:PcfExchange"} + }, + "edc:dataAddress": { + "edc:type": "HttpData", + "edc:baseUrl": "https://some.url/service", + "edc:proxyBody": "true", + "edc:proxyPath": "true", + "edc:proxyQueryParams": "true", + "edc:proxyMethod": "true", + "edc:contentType": "application/json" + } +} +``` + +
                                    + +#### Payload for EDC Policy + +The following JSON is a policy definition including the *mandatory* policy constraints for "active membership", "signed frameworkagreement" and "pcf base usage purpose". The [framework agreement document](https://catenax-ev.github.io/docs/next/regulatory-framework/20000ft/use-case-pcf-exchange) is published via the association and available via the Catena-X homepage. The membership credential is automatically created after successfully finishing the onboarding process. + +In addition an *optional* constraint for an existing tenant-specific bilateral contract can be added. It should reference the contract number and is NOT backed up by verifiable credentials. Nevertheless it will be checked on a syntactical level during contract negotiation. If such a contract refererence should be used, a specific usage policy per tenant is needed, as constraint concatenation via OR is not recommended. + +>**Note** +>More informations can be found in the official [ODRL Profile Definition](https://github.com/catenax-eV/cx-odrl-profile/blob/main/profile.md). + +##### Payload to create a SSI based Policy + +
                                    + SSI based Policy (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", + "policy": { + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/v1.0.0/" + } + ], + "@type": "Policy", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "and": [ + { + "leftOperand": "cx-policy:ContractReference", + "operator": "eq", + "rightOperand": "" + }, + { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "DataExchangeGovernance:1.0" + }, + { + "leftOperand": "cx-policy:Membership", + "operator": "eq", + "rightOperand": "active" + }, + { + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.pcf.base:1" + } + ] + } + } + ] + } +} +``` + +
                                    + +>**Note** +>Be aware that - due to an open issue in EDC version 0.7.x - all criterias must be added in fixed (alphabetical) order! + +For more examples on how to define policies with SSI have a look [here](https://github.com/eclipse-tractusx/ssi-docu/blob/main/docs/architecture/cx-3-2/edc/policy.definitions.md). + +#### Payload Contract Definition + +
                                    + Sample Contract (JSON) + +```json +{ + "@id": "54ef3326-42b2-4221-8c5a-3a6270d54db8", + "edc:accessPolicyId": "7cb20eb1-08db-4532-bd74-ad480f551654", + "edc:contractPolicyId": "a343fcbf-99fc-4ce8-8e9b-148c97605aab", + "edc:assetsSelector":[ + { + "@type": "Criterion", + "edc:operandLeft": "@id", + "edc:operator": "=", + "edc:operandRight": "c34018ab-5820-4065-9087-416d78e1ab60" + } + ] +} +``` + +
                                    + +Inside the contract definition, an access policy and a usage policy must be referenced. A sample for a usage policy (incl. mandatory and optional criterias) is given in the [section above](#payload-to-create-a-ssi-based-policy). + +The content of the access policy depends on the criterias used within the usage policy. The configuration MUST ensure that only one offer (per version) for a PCF Exchange asset is visible to a client when querying the catalog. + +The following paragraphs give options how to achieve this. These options can always be replaced by corresponding (or even more restictive) policies, as long as the requirement of delivering only one offer per PCF Exchange asset version is met: +If *no bilateral contract* reference criteria are used *in any usage policy* attached to the PCF Exchange asset, an empty access policy can be used:

                                    +![Tier1Supplier without bilateral contracts](../resources/development-view/Tier1AOpenUP.png) + +
                                    + Empty Access Policy (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "7cb20eb1-08db-4532-bd74-ad480f551654", + "policy": { + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/v1.0.0/" + } + ], + "@type": "Policy", + "profile": "cx-policy:profile2405", + "permission": [] + } +} +``` + +
                                    + +If a *bilateral contract* reference criteria is used *in a usage policy*, an access policy restricting access to the contract partners BPNL *MUST* be used for every usage policy holding a contract reference:

                                    +![Tier1Supplier using bilateral contracts and an open policy](../resources/development-view/Tier1ABCOnlyUP.png) + +
                                    + BPN restricted Access Policy to be used with a Usage Policy containing a contract reference (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "7cb20eb1-08db-4532-bd74-ad480f551654", + "policy": { + "@context": [ + "https://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/v1.0.0/" + } + ], + "@type": "Policy", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "leftOperand": "BusinessPartnerNumber", + "operator": "eq", + "rightOperand": "BPNL00000000XXXX" + } + } + ] + } +} +``` + +
                                    + +If *bilateral contract reference* criterias are used *in usage policies* and *in addition* a usage policy *without bilateral contract references* should be provided, an access policy restricting access to all partners without a bilateral contract reference *MUST* be used for the usage policy holding no contract references.

                                    +![Tier1Supplier using bilateral contracts and an open policy](../resources/development-view/Tier1ABCUP.png) +

                                    The following example uses BusinessPartnerGroups to achieve this:

                                    + +
                                    + BPN restricted Access Policy to be used with the "global" Usage Policy containing NO contract references (JSON) + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "PolicyDefinitionRequestDto", + "policy": { + "@type": "odrl:Set", + "odrl:permission": [ + { + "odrl:action": "USE", + "odrl:constraint": { + "@type": "Constraint", + "odrl:leftOperand": "https://w3id.org/tractusx/v0.0.1/ns/BusinessPartnerGroup", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "BusinessPartnerWithoutBilateralContract" + } + } + ] + } +} +``` + +
                                    + +## Error Handling + +In case no material twin or no PCF submodel is found, EDC asset type has to be used to find the endpoint needed to perform the PCF request. + +## Standards + +### Used CX Standards + +- [CX-0001 EDC Discovery API v1.0.2](https://catenax-ev.github.io/docs/next/standards/CX-0001-EDCDiscoveryAPI) +- [CX-0002 Digital Twins in Catena-X v2.2.0](https://catenax-ev.github.io/docs/next/standards/CX-0002-DigitalTwinsInCatenaX) +- [CX-0003 SAMMSemanticAspectMetaModel v1.1.0](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) +- [CX-0018 Dataspace Connectivity v3.1.0](https://catenax-ev.github.io/docs/next/standards/CX-0018-DataspaceConnectivity) +- [CX-0126 Industry Core: Part Type v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0126-IndustryCorePartType) +- [CX-0136 PCF UseCase v2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) + +## Other Standards + +- [Pathfinder Framework - v2.0.0](https://wbcsd.github.io/tr/2023/data-exchange-protocol-20230221) + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023, 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023, 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023, 2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023, 2024 SAP SE +- SPDX-FileCopyrightText: 2023, 2024 SIEMENS AG +- SPDX-FileCopyrightText: 2023, 2024 SUPPLY ON AG +- SPDX-FileCopyrightText: 2023, 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023, 2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023, 2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2023, 2024 BASF SE +- SPDX-FileCopyrightText: 2023, 2024 CCT +- SPDX-FileCopyrightText: 2023, 2024 Gris Group +- SPDX-FileCopyrightText: 2023, 2024 Contributors to the Eclipse Foundation +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js new file mode 100644 index 00000000000..744c39bc9a7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/Software Development View/pcf-exchange-api/sidebar.js @@ -0,0 +1 @@ +module.exports = []; \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/changelog.md b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/changelog.md new file mode 100644 index 00000000000..61dcc81e83b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/changelog.md @@ -0,0 +1,98 @@ +--- +id: PCF Exchange Kit Changelog +title: Changelog +description: 'PCF Exchange Kit' +sidebar_position: 1 +--- + +![PCF Exchange kit banner](/img/kit-icons/pcf-kit-icon.svg) + +## PCF Exchange KIT + +All notable changes to this Kit will be documented in this file. + +## [1.2.0] - 2024-08-01 + +### Added + +#### Adoption View + +* References to available PCF exchange solutions (moved from CX-0136 PCF Use Case standard) +* Comprehensive illustration of latest PCF data model (overview plus details) + +#### Development View + +* Specification for bilateral contracts + +### Changed + +#### Adoption View + +* Exemplary PCF data model payload to PCF data model version 7.0.0 (Rel. 24.08) +* References to relevant standards in their latest versions (Rel. 24.08) +* Several typos and link errors +* Reference to Framework Agreement + +#### Development View + +* PCF Exchange API to Rel. 24.08 (e.g. data format) +* Several illustrations to reflect latest changes in Rel. 24.08 +* Policy adapted to latest standards (incl. new Framework Agreement and bilateral contracts) +* Referenced standard updated + +### Removed + +#### Development View + +* Inlined Open-API (MDX) removed + +## [1.1.0] - 2024-05-17 + +### Added + +* Simple Data Exchanger (SDE) as available open-source reference implementation + +### Changed + +* DT submodel structure updated +* EDC asset structure updated +* Policy structure updated +* Sample data updated +* Minor bugfixes +* Changed banner image file location and converted .png image to .svg + +### Removed + +* Deprecated EDC asset attributes removed + +## [1.0.0] - 2024-03-08 + +### Added + +* Flow description in case no material twin or PCF submodel exists +* Versions of referenced standards + +### Changed + +* Open API updated to version 1.0.0 (Rel.24.03) +* Asset and Policy definitions updated +* Link to Framework Agreement updated +* Minor bugs fixed + +### Removed + +N/A + +## [0.1.0] - 2023-08-23 + +### Added + +Initial Version of the PCF exchange KIT including adoption and development view incl. all relevant API specifications. + +### Changed + +N/A + +### Removed + +N/A diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_adoption-view.md new file mode 100644 index 00000000000..3b3c05101df --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_adoption-view.md @@ -0,0 +1,650 @@ +--- +id: Adoption View +title: Adoption View +description: 'PCF-Exchange-KIT' +sidebar_position: 2 +--- + +![PCF Exchange kit banner](/img/kit-icons/pcf-kit-icon.svg) + +## Introduction + +Sustainability has become increasingly important in the automotive industry in recent years. In particular, the topic of CO2 emissions is the focus of interest, and the product-specific CO2 footprint (PCF: product carbon footprint) has developed into a key indicator for sustainable product design and supply chains. Accordingly, there is a need to determine this data as precisely as possible across the automotive supply chain and to exchange it among partners in the network. This requires appropriate standards for calculation and exchange of data. + +In this context, Catena-X offers a decentralized ecosystem supported by standards and principles like data sovereignty, which can effectively implement such a PCF data exchange. The PCF KIT will be the key enabler for various stakeholders to calculate and exchange PCF data in a standardized format. The objective of the PCF KIT is therefore to: + +- Provide a comprehensive overview about the methods and tools for a PCF data exchange in the Catena-X dataspace. +- Offer various standards and guidelines for industry stakeholders. +- Provide a detailed description of the essential components required. + +## Vision & Mission + +### Vision + +Report and steer the de-carbonization of our value chain with dedicated measures based on real PCF values, without compromising upstream data sovereignity. + +### Mission + +Addressing supply chain carbon emissions today is missing reliable data about baseline emissions, effect of reductions and best practices. This is due to three reasons: + +- Complexity of supply chains leading to huge amount of data: complex supply chains spanning different countries and actors from many industries lead to huge amounts of data. + +- Lack of trust: unwillingness to share data due to the risk of losing competitive advantage (data is shared with competitors). + +- Missing standards for measuring carbon emissions in a comparable way. + +At the core of our project is the recognition of a current challenge - the lack of transparency and accessibility to real PCF information in supply chains. Through our project, we strive to bridge this information gap by establishing a trusted and collaborative and interoperable environment. Suppliers will have the opportunity to share their PCF data with confidence, knowing that it remains sovereign and under their control. + +We will address this by working on a trustworthy ecosystem that prioritizes data sovereignity, security and collaboration on standards. Therefore, our mission is to revolutionize the supply chain industry by providing a platform where suppliers can securely share their primary PCF data throughout the supply chain. + +We are guided by the following principles: + +- **Building trust** by making clear rules for data exchange and by pre-agreed data contracts between partners in the value chain. +- Building trust through **data sovereignty and data security**. We will build an ecosystem to share minimal data on a need-to-know basis, incorporating 3rd party verification by trusted partners. Decentralized architectures ensure that data remains within companies and is only shared with authorized persons as needed. +- **Governance** on the principles of mutual collaboration in the automotive industry and across with all relevant actors of the value chain on the principle of equality between partners, involving relevant outside stakeholders and the scientific community. +- **Flexibility and interoperability** by building an ecosystem of interoperable apps based on open standards. Collaborative standards for collecting, calculating and sharing emission and product data make these processes more efficient and comparable. +- **Scalability** and manageability of large amounts of data. Decentralized data ecosystems can handle and scale large amounts of data, as decentralized structures are created as required by participating companies. + +## Business Process + +### Premises and assumptions + +We assume that the calculation and exchange of PCF data is “new territory” for many companies. In large or larger enterprises (e.g., OEM or Tier-1 suppliers) the topic of sustainability with its various facets has been on the agenda for several years now. Appropriate structures and organizations were set up there. In this respect, it can be assumed that they have the expertise and resources for a PCF calculation. Corresponding, self-developed IT tools can also be found there. We cannot expect this for small and medium-sized enterprises (SMEs). In particular small companies often lack the knowledge and resources to calculate a PCF. + +These premises are therefore relevant for the following customer journeys: + +- A PCF calculation requires expert or at least in-depth knowledge. +- A PCF calculation is currently mostly created manually; automation is not common or possible in most cases. +- Automation is also not yet feasible because there are no concepts or standards for verifying PCF data. +- Due to the (manual) effort, PCF calculation and data exchange will initially only be carried out for selected products. + +Accordingly, the presented customer journeys are characterized by manual process steps. However, as the topic becomes more widely known in the automotive supply chain (especially among SMEs), greater automation should be sought. This is the only way to represent a larger (ideally the entire) range of products. + +### Overview + +The scope of our business process is the calculation and the exchange of PCF data across the supply chain for parts/components that are already in series production (→ "after start of production (SOP)"). One can therefore assume that a real supply chain already exists for this part/component. + +To describe the process, we defined two customer journeys: + +1. The customer journey “PCF data exchange” describes an asynchronous communication process: a customer requests the PCF from their supplier for a component (“PCF Request”), and the supplier provides the requested data (“PCF Response”). +2. If necessary, the requested PCF data must first be determined; this leads to the second customer journey “PCF calculation”. + +The exchange-process is initiated top-down (e.g., at the OEM; but it can also start at any level of the supply chain), starting with a request of a customer to the supplier. It could then be continued step by step throughout the entire tier-n supply chain. Ideally, the entire supply chain (or actually: the entire supply tree) would be covered via this cascading request/response process. The result would be a PCF that is 100% based on requested and reported data. + +![PCF Request and Response](resources/adoption-view/PCFRequestandResponse.png) + +In the real world, this will not be implemented this way, at least in the short and medium term. It can be assumed that this process and information chain will break down at certain points in the supply chain. There, data is not requested, but calculated using secondary data, as is standard procedure these days. There can be various reasons for this: + +- The affected part of the supply chain is only of minor relevance to the PCF; the effort required to determine the real data would therefore not be worthwhile. +- The supplier cannot or does not want to provide corresponding data. + +However, it is important that a PCF value reported from a supplier to its customer always represents the entire supply chain behind it. Therefore, the following data is recorded in a PCF calculation and aggregated to form the resulting PCF: + +- direct emissions that are generated in the supplier's own production system ("Scope 1") +- indirect emissions from purchased energy ("Scope 2") +- upstream emissions caused by purchased products from the upstream supply chain ("Scope 3") + +![Scope of Catena-X Use Case](resources/adoption-view/ScopeofCatena-XUseCase.png) + +The data for direct and indirect emissions will usually come from internal data sources, as these emission-shares are generated in the supplier's own production system. The upstream emissions ("Scope 3") can either be requested from the respective sub-supplier or could be calculated, e.g. by using information from eco-databases. Putting all together, the transparency on the PCF for a given part or component is created through a cascade of top-to-bottom PCF requests, and a cascade of aggregated PCF data from bottom to top. + +### Customer Journey "PCF Data Exchange" + +This customer journey describes the exchange of PCF data in an asynchronous request/response process. + +![PCF Data Exchange Overview](resources/adoption-view/PCFDataExchangeOverview.png) + +PCF data is exchanged between a data consumer (e.g., supplier on tier n) and a data provider (e.g., supplier on tier n+1). It is basically an asynchronous request/response process that is started by the data consumer: + +- The data consumer realizes that he needs the PCF for a specific component and that this data is not available in his local data (or is not of sufficient quality). +- With his PCF data exchange tool, the data consumer checks whether the required PCF data is available via Catena-X (from a technical perspective, this means that there is already a digital twin for the component and that the PCF submodel is available for this twin). If so, the tool would “fetch up” this data. If not, the user can request this data from the supplier as described in the next steps. +- The data consumer submits a “PCF request” (according to the standardized API [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF)) to his supplier. In doing so, he asks the supplier to provide PCF data for the specific component, which was determined in accordance with the requirements of the Catena-X PCF Rulebook ([CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)). + +With this request, the process temporarily ends for the data consumer. The ball is now in the data provider's playing field: + +- The data provider receives the PCF request (message/display in his PCF data exchange tool). +- The data provider checks whether the requested data is already available (i.e., whether the PCF has already calculated in the past but has not yet been provided to the customer yet). +- If the data is not yet available, the data provider must create it first. At this point, he starts the “PCF Calculation” subjourney (see [below](#customer-journey-pcf-calculation)). At the end of this subjourney, the PCF data is available, and the provider can answer the original request with the next steps. +- The data provider sends a PCF response (according to the standardized API see [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF)) to the data consumer. At the same time, the data is made available in Catena-X (which means from a technical perspective, that a PCF submodel is attached to the corresponding digital twin of the component). + +For the data provider, the process is now over, and the consumer's request has been answered with the response. On the consumer side, a few more steps follow: + +- The data consumer, who sent the initial PCF request, receives the PCF response (message/display in his PCF data exchange tool). +- With the data exchange tool, the consumer can access and “pick up” the PCF data, according to the standardized PCF data model (see [Semantic Model](#semantic-models)). + +>**Remark:** +>There are currently no options for data verification or acceptance/rejection of transmitted data at this stage in the process. These topics are currently still being discussed on Catena-X association level and are therefore not yet covered in the processes and tools. This might happen with later releases. + +- The data consumer can now transfer this data to his internal systems/databases (e.g., a PCF calculation tool), and use it for the internal business processes (e.g., PCF calculation or reporting). +This ends this customer journey. + +### Customer Journey “PCF Calculation” + +This customer journey describes the calculation of a PCF in compliance with the Catena-X PCF Rulebook ([CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)), with some of the required data obtained via the Catena-X network. + +![PCF Calculation](resources/adoption-view/PCFCalculation.png) + +The calculation process will often be triggered by an incoming PCF request (see subjourney "[PCF data exchange](#customer-journey-pcf-data-exchange)"). But of course, a PCF calculation can also be carried out proactively without a corresponding request via PCF Request. +To determine a PCF, an appropriate calculation tool is usually used, which guides the user through the process and ensures that all relevant data is taken into account. We will limit ourselves here to a generic, tool-independent presentation of the most important steps. + +1. Make a plan: What are the different components of the PCF? Where can I get the relevant data from? +→ This structuring should be supported by an appropriate process in the calculation tool. +2. Put the direct emissions from the production site (e.g., use of natural gas or fuels) into the calculation. +→ Get the raw data from internal data sources and enter them in the calculation tool. +3. Put the indirect emissions from purchased energy into the calculation. +→ Get the raw data (consumption values, energy mix, …) from internal data sources and from the energy supplier, and enter it in the calculation tool. +4. Upstream emissions: + - For sub-components with a (expected) relevant share on the PCF, the aim is to use real data (or primary data) for the calculation. Therefore, a PCF request is sent to the suppliers of these sub-components, to obtain appropriate real data (see subjourney ["PCF data exchange"](#customer-journey-pcf-data-exchange)). As soon as the data is available (via PCF Response), it can be used as input for the calculation. + - For other sub-components, which only make up a small proportion of the upstream emissions, there will be no request of data to the supplier. Instead, the data will be obtained from a database for secondary data. +5. If necessary, put other emissions and further data into the calculation (e.g., transport emissions, waste, recycling quotas, ...). +6. Put it all together and get the overall PCF. +7. Transfer PCF to the exchange tool (or in general: make the PCF data available). + +### PCF Personas + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    PersonaRole and Task (in larger companies)Specifics for SME ChallengesCatena-X Contribution
                                    Purchaser In general, the purchaser will not be a sustainability expert! + For him, sustainability is just an additional dimension (as cost, quality, ...). +
                                      +
                                    • He requests sustainability data for purchased (sub)products from his suppliers.
                                    • +
                                    • In the sourcing process he evaluates the incoming offers (which will include more and more sustainability data).
                                    • +
                                    • He negotiates PCF targets with his suppliers.
                                    • +
                                    • He checks compliance with agreements and targets and evaluates the supplier's performance.
                                    • +
                                    • He will be often the one, who detects incidents (e.g., non-fulfillment of targets, missing certificates, ...).
                                    • +
                                    + Different responsibilities and views possible: +
                                      +
                                    • A part/component/material-oriented view
                                    • +
                                    • A supplier/commodity-oriented view
                                    • +
                                    +
                                    +

                                    We assume, that a SME will have a weaker negotiating position and assertiveness (as a large company), so it may be more difficult to …

                                    +
                                      +
                                    • request PCF data from (sub)suppliers.
                                    • +
                                    • forward customers' CO2 targets to (sub)suppliers.
                                    • +
                                    • negotiate own objectives/targets.
                                    • +
                                    +
                                    +

                                    He requires sustainability data of parts/materials (e.g., PCF) for various purposes.

                                    +

                                    He requires standardized data.

                                    +

                                    He also requires product-unspecific sustainability data of suppliers (e.g., production site-specific certificates).

                                    +

                                    He needs data in different phases (e.g., product development, procurement, industrialization, series production).

                                    +
                                    +

                                    Catena-X defines standards for sustainability data.

                                    +

                                    Catena-X provides up-to-date and reliable sustainability data

                                    +
                                      +
                                    • of parts / materials
                                    • +
                                    • of suppliers
                                    • +
                                    +

                                    Catena-X provides phase-specific data.

                                    +

                                    Catena-X provides (standard) reports.

                                    +

                                    Catena-X provides apps and services for data exchange.

                                    +
                                    PCF Calculator + He is an expert for PCF calculation. He could be described as a “PCF Engineer,” analogous to the role of a “Cost Engineer” established in many companies. +
                                      +
                                    • He has in-depth knowledge of PCF-, CCF- and LCA-methods.
                                    • +
                                    • He is responsible for the calculation of the own scope 1 and 2 values of a PCF
                                    • +
                                    • From this data and with the scope 3 data reported by suppliers (or obtained from databases), he calculates the PCF of his own products.
                                    • +
                                    • He hands the result over to the PCF Controller
                                    • +
                                    • He is a consultant in "costs vs. PCF" discussions (with internal, but also with external partners)
                                    • +
                                    • He analyzes customer incident requests (on behalf of the PCF controller).
                                    • +
                                    • If there are any discrepancies in reported PCF data, he initiates incident requests at the respective supplier (via the PCF controller).
                                    • +
                                    +
                                    +

                                    We assume, that at a SME there will be often a combined role: (Sustainability) Manager Product

                                    +
                                      +
                                    • He is no sustainability expert! So, he must draw on external expertise if necessary
                                    • +
                                    • He must handle internal and external topics
                                    • +
                                    +

                                    Customer view:

                                    +
                                      +
                                    • He is a key account for sustainability data (PCF and ESS) and an “interface” in both directions: customers and suppliers.
                                    • +
                                    • He releases sustainability data (esp. PCF) to customers
                                    • +
                                    • He receives PCF data from suppliers.
                                    • +
                                    • He is the addressee for (PCF) incidents
                                    • +
                                    +

                                    Internal View:

                                    +
                                      +
                                    • He knows the product BoM (Bill of Material)
                                    • +
                                    • He steers “PCF vs. cost" objectives at product levels.
                                    • +
                                    • He collaborates with external auditors.
                                    • +
                                    • He analyzes incoming incident request of customers
                                    • +
                                    +
                                    Requires standardized PCF calculation method. +

                                    Needs scope 3 values from suppliers, to calculate own PCF with this data.

                                    +

                                    May need a calculation tool for scope 1 and 2 values.

                                    +

                                    Requires access to eco-data (secondary data).

                                    +

                                    Needs BoM data for calculation and analysis.

                                    +
                                    +

                                    Catena-X defines standards for PCF calculation.

                                    +

                                    Catena-X provides up-to-date and reliable sustainability data of parts/materials.

                                    +

                                    Catena-X provides apps and services for data exchange.

                                    +

                                    Catena-X provides calculation tools.

                                    +

                                    Catena-X provides access to eco-data(bases) for secondary data.

                                    +
                                    PCF Controller (product) +

                                    He has an operational role (as opposed to the Sustainability Manager). As a PCF expert who works with many internal and external partners.

                                    +

                                    He is the first point of contact for the purchaser on PCF topics.

                                    +

                                    External/customer view:

                                    +
                                      +
                                    • He is a key account for PCF data and, in this regard, the central interface to customers/suppliers.
                                    • +
                                    • He releases calculated PCF data to customers.
                                    • +
                                    • He receives PCF data from the suppliers.
                                    • +
                                    • He triggers incident management.
                                    • +
                                    • He initiates collaborative PCF optimization.
                                    • +
                                    +

                                    Internal View:

                                    +
                                      +
                                    • He is the PCF data owner in the company.
                                    • +
                                    • He acts as a PCF data collector.
                                    • +
                                    • He receives PCF targets from the Sustainability Manager, evaluates them, and is consulted as a CO2 expert in negotiations.
                                    • +
                                    • He tracks PCF targets for purchased parts, and detects incidents in terms of non-fulfillment of targets.
                                    • +
                                    • He makes supplier performance reviews about PCF.
                                    • +
                                    +
                                    + +

                                    He requires up-to-date and reliable PCF data of parts/materials.

                                    +

                                    He needs data in different phases of the product lifecycle (e.g., in product development, sourcing, industrialization, series production).

                                    +

                                    He requires standardized data.

                                    +

                                    He needs a tool to exchange PCF data with internal and external partners.

                                    +

                                    He needs reports for tracking and monitoring of PCF data and targets.

                                    +
                                    +

                                    Catena-X defines standards for PCF data.

                                    +

                                    Catena-X provides apps and services for PCF data exchange.

                                    +

                                    Catena-X provides up-to-date and reliable PCF data of parts / materials.

                                    +

                                    Catena-X provides phase-specific data.

                                    +
                                    Sustainability Manager (product) +

                                    His role is more strategic than operational.

                                    +

                                    He is responsible for the coordination and steering of PCF and cost objectives at product level.

                                    +

                                    He ensures the consistency of product objectives with corporate objectives.

                                    +

                                    He defines PCF targets for products and breaks them down on part/component/material level.

                                    +

                                    He receives sustainability targets from customers.

                                    +

                                    He takes care of how sustainability targets (especially PCF) can be implemented and achieved.

                                    +

                                    He performs analyses in the context of sustainability.

                                    +

                                    He collaborates with external auditors.

                                    +
                                    + +

                                    He collaborates with external auditors.

                                    +

                                    He requires standardized data.

                                    +

                                    He needs data in different phases of the product lifecycle (e.g., in product development, sourcing, industrialization, series production).

                                    +

                                    He needs reports for tracking and monitoring of sustainability data.

                                    +

                                    He needs a tool to exchange sustainability data with internal and external partners.

                                    + He needs tools for: +
                                      +
                                    • PCF target breakdown.
                                    • +
                                    • PCF optimization (e.g., “what if analysis”).
                                    • +
                                    • Controlling of competing targets (sustainability vs. costs vs. quality …).
                                    • +
                                    +
                                    +

                                    Catena-X defines standards for sustainability data (esp. PCF).

                                    +

                                    Catena-X provides apps and services for data exchange.

                                    +

                                    Catena-X provides up-to-date and reliable sustainability data of parts / materials.

                                    +

                                    Catena-X provides phase-specific data.

                                    +

                                    Catena-X provides (standard) reports.

                                    +

                                    Catena-X provides analysis tools.

                                    +
                                    Sustainability Manager (corporate) +

                                    He has no active role in Catena-X (e.g.: getting reports is a passive, not an active role in this sense).

                                    +

                                    He sets corporate goals and breaks them down for different sectors and functions in the company.

                                    +

                                    He gets input from the Sustainability Manager (product).

                                    +
                                    +

                                    The role exists in principle; it is rather the question of who will take it over (e.g., personal union with management, or possibly Sustainability Manager).

                                    +

                                    Thesis: an SME does CCF rather than PCF.

                                    +
                                    +

                                    He requires (aggregated) sustainability data.

                                    +

                                    He requires “high level” (standard) reports.

                                    +
                                    Catena-X provides up-to-date and reliable sustainability data.
                                    Salespeople +

                                    He is the central interface to the customer.

                                    +

                                    He is the owner of the customer quotation process.

                                    +

                                    He negotiates PCF targets with customers (→purchaser).

                                    +

                                    He presents sustainability data (esp. PCF) to customers.

                                    +

                                    He is accountable for incident management with customers.

                                    +
                                    + +

                                    He needs sustainability data (e.g., PCF) of own products (or parts/materials)

                                    +

                                    He requires tools for information or data exchange (with both internal partners and external customers).

                                    +
                                    +

                                    Catena-X provides sustainability data of own products.

                                    +

                                    Catena-X provides apps and services for data exchange.

                                    +
                                    Auditor (external) +

                                    He does a yearly audit of conformity with Catena-X methodology.

                                    +

                                    At the beginning (before go-live) there is a one-time audit of the use of the Catena-X network and methods in the company to be audited.

                                    +

                                    The onboarding of suppliers requires a self-declaration of applying Catena-X methodology.

                                    +

                                    The auditor has a clearing role in case of escalated incidents.

                                    +
                                    He needs additional information and data to be able to verify the reported PCF data. +

                                    Catena-X provides up-to-date and verifiable sustainability data.

                                    +

                                    Catena-X provides access to metadata that allows the reported PCF data to be verified.

                                    +
                                    Sustainability Associations / InstitutionsThey provide industry-specific averages and benchmarks of PCF values.
                                    + +## Semantic Models + +Depending on the use case and related KIT, Catena-X provides different semantic models that help to structure and make use of data via semantic information. These models help to provide a basic meaning to the data and their relationship, thereby enabling interoperability between data sets. Catena-X data models rely on principles as understandability, standardization, accuracy, differentiation, audibility, comprehensiveness, and provision of insights to drive improvement actions. + +### PCF + +#### Introduction PCF Data Model + +In an era defined by growing environmental consciousness and sustainability imperatives, the concept of measuring and reducing carbon footprints has become paramount across industries. A pivotal key in this pursuit is an aligned and standardized PCF data model. This data model not only facilitates the systematic calculation and comparison of carbon footprints but also offers a structured approach to managing environmental impact data. + +As the global community grapples with the impacts of climate change, consumers, businesses, and governments are seeking actionable ways to mitigate their carbon emissions. The need for a consistent and universally accepted method of quantifying these emissions from diverse products has given rise to the significance of a standardized PCF data model. This model acts as a lingua franca, enabling stakeholders to communicate and analyze carbon footprint information transparently and comprehensively. + +For this KIT only the PCF data model is used. The PCF data model follows the [CX-0136](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) Use Case PCF standard and is implemented in compliance with the [CX-0003](https://catenax-ev.github.io/docs/next/standards/CX-0003-SAMMSemanticAspectMetaModel) SAMM Aspect Meta Model standard. + +#### Data Model Overview + +The Catena-X PCF data model has been developed in accordance with the "Technical Specifications for PCF Data Exchange" from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. The basis for the specification of the Catena-X PCF data model is the PCF Rulebook V3.0.0 (see [CX-0029](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook)). + +The following illustration describes the logical structure of the Catena-X PCF data model: + +
                                    + PCF Data Model structure + +![PCF Data Model Structure Rel. 24.08](resources/adoption-view/PCF%20Data%20Model%20Structure%20Rel.%2024.08.png) + +
                                    + +The table below shows the details of each data field in the Catena-X PCF data model: + +
                                    + PCF Data Model details + +M - Mandatory, O - Optional, O* - Mandatory starting 2025 + +| Property | Technical Name | PCF Exchange | PCF Calculation | Data Type Specification | Example | Technical Data Type | Description | +|--------------------------------------------------------------------|-------------------------------------------------------|-----------------------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **(General)** | | | | | | | | +| ***(Version Information)*** | | | | | | | | +| Product Footprint Identifier | id | M | O | String; must be a UUID v4 | 3893bb5d-da16-4dc1-9185-11d97476c254 | PfId | The PCF identifier. | +| Product Footprint Specification Version | specVersion | M | M | Text | urn:io.catenax.pcf:datamodel:version:7.0.0 | String | Version of the PCF data specification. | +| Partial Or Full PCF | partialFullPcf | M | M | Enumeration; "Cradle-to-gate",
                                    "Cradle-to-grave" | Cradle-to-gate | String | Indicator for partial or full PCF declaration. | +| Previous PCF Identifiers | precedingPfIds | O | O | Non-empty set of strings | 9c5b94b1-35ad-49bb-b118-8e8fc24abf8 | Array of PfId | Set of preceding PCF identifiers without duplicates. Declared as "optional" in WBCSD, needs to be covered by application. | +| Product (Carbon) Footprint Version | version | M | O | Integer in inclusive rage of 0..2^31-1; per default "0" in Catena-X | 0 | Number | Version of the PCF. In Catena-X for example set to "0" per default. | +| Creation of the Product (Carbon) Footprint | created | M | M | Time stamp; must be in UTC (Coordinated Universal Time) conforming to ISO 8601 | 2020-03-01T00:00:00Z | DateTime | Timestamp of the creation of the PCF. | +| Status | status | M | O | Enumeration; "Active", "Deprecated"; per default "Active" in Catena-X | Active | String | Status indicator of a PCF. WBCSD specific extension, in Catena-X for example set to "Active" per default. | +| Validity Period Start | validityPeriodStart | O | O | Time stamp; if defined, must be equal to or greater than referencePeriodEnd | 2022-01-01T00:00:01Z | DateTime | Start of interval during which the PCF is declared as valid. If specified, the validity period start must be equal to or greater than the reference period end. | +| Validity Period End | validityPeriodEnd | O | O | Time stamp | 2022-12-31T23:59:59Z | DateTime | End of interval during which the PCF is declared as valid. | +| Comment | comment | O | O | Text | Additional explanatory information not reflected by other attributes | String | Additional information and instructions related to the calculation of the PCF. | +| PCF Legal Statement | pcfLegalStatement | O | O | Text | This PCF (Product Carbon Footprint) is for information purposes only. It is based upon the standards mentioned above. | String | Option for legal statement/ disclaimer. | +| ***(Company Information)*** | | | | | | | | +| Company Name | companyName | M | O | String with 1 or more characters | My Corp | NonEmptyString | Name of the PCF data owner. | +| Company Ids | companyIds | M | O | Non-empty set of URN (Uniform Resource Name); array of strings (<URN> ::= "urn:" <NID> ":" <NSS>) | urn:bpn:id:BPNL000000000DWF | CompanyIdSet | Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the PCF data owner. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}. | +| ***(Product Information)*** | | | | | | | | +| Product Description | productDescription | O | O | Text | Ethanol, 95% solution | String | Free-form description of the product. | +| Product Ids | productIds | M | M | Non-empty set of URN; array of strings (<URN>, ::= "urn:" <NID> ":" <NSS>) | urn:gtin:4712345060507 | ProductIdSet | Non-empty set of product identifiers. Each value is supposed to uniquely identify the product. In Catena-X productId corresponds with Industry Core manufacturerPartId. | +| Product Category | productCategoryCpc | M | O | String; UN CPC Code version 2.1;
                                    per default "011-99000" in Catena-X | 011-99000 | CpcCode | UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product. WBCSD specific extension, which will probably be declared as "optional" in a later WBCSD specification version. In Catena-X for example specified with default value "011-99000". | +| Product Trade Name | productNameCompany | M | O | String with 1 or more characters | My Product Name | NonEmptyString | Non-empty trade name of a product. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer. | +| **(PCF)** | | | | | | | | +| ***(Unit Information)*** | | | | | | | | +| Unit of measurement | declaredUnit | M | M | String; enumeration as specified by WBCSD plus "piece" for Catena-X | kilogram | DeclaredUnit | Unit of analysis of a product in context of the PCF. In Catena-X for example list of valid units includes "piece". | +| Unitary Product Amount | unitaryProductAmount | M | M | Positive, non-zero decimal number | 1000.0 | StrictlyPositiveDecimal | Amount of units contained within a product in context of the PCF. | +| Product Mass Per Declared Unit | productMassPerDeclaredUnit | M | M | Positive, non-zero decimal number | 0.456 | StrictlyPositiveDecimal | Mass of a product per declared unit (net, unpackaged) in context of the PCF. | +| ***(PCF Assessment & Methodology)*** | | | | | | | | +| ***(PCF Assessment Information)*** | | | | | | | | +| *(Boundary Specifications)* | | | | | | | | +| Exempted Emissions Percent | exemptedEmissionsPercent | M | M | Decimal number between 0.0 and 5 including | 0.0 | ExemptedEmissionPercent | Applied cut-off percentage of emissions excluded from PCF.
                                    For accordance with Catena-X PCF Rulebook (Version 3.0.0) <3%. | +| Exempted Emissions Description | exemptedEmissionsDescription | O | O | Text; can be empty | No exemption | String | Rationale behind exclusion of specific PCF emissions. | +| Packaging Emissions Included | packagingEmissionsIncluded | M | M | Boolean; can be "TRUE" or "FALSE" | TRUE | Boolean | The Catena-X PCF Rulebook (Version 3.0.0) requires to include packaging from a system boundary perspective. "FALSE" is only possible due to the application of the cut-off rule. Flag indicating whether packaging emissions are included in a PCF. WBCSD specific extension. | +| *(Technology)* | | | | | | | | +| Boundary Processes Description | boundaryProcessesDescription | O | O | Text | Electricity consumption included as an input in the production phase | String | Processes attributable to each lifecycle stage. | +| *(Geography)* | | | | | | | | +| Geography Country Subdivision | geographyCountrySubdivision | O | O | String; if defined must be ISO 3166-2 Subdivision Code | US-NY | GeographyCountrySubdivision | Subdivision of a country which must be an ISO 3166-2 subdivision code. | +| Geography Country | geographyCountry | O | O | String; if defined must be an ISO 3166-2 alpha-2 code | FR | GeographyCountry | Two letter country code that must conform to data type ISO 3166CC. | +| Region | geographyRegionOrSubregion | M | O | String with 1 or more characters; enumeration as specified by WBCSD plus "Global" and "Several" for
                                    Catena-X | Africa | String | Region according to list specified in Catena-X PCF Rulebook (Version 3.0.0). | +| *(Time)* | | | | | | | | +| Reference Period Start | referencePeriodStart | M | M | Time stamp; must be in UTC conforming to ISO 8601 | 2022-01-01T00:00:01Z | DateTime | Start of time boundary for which a PCF value is considered to be representative. | +| Reference Period End | referencePeriodEnd | M | M | Time stamp; must be in UTC conforming to ISO 8601 | 2022-12-31T23:59:59Z | DateTime | End of time boundary for which a PCF value is considered to be representative. | +| ***(PCF Methodology)*** | | | | | | | | +| *(Standards)* | | | | | | | | +| Cross Sectoral Standard | crossSectoralStandardsUsed:
                                    crossSectoralStandard | M | M | Object crossSectoralStandardsUsed: set of Cross Sectoral Standard entries.
                                    For each crossSectoralStandard: Enumeration "ISO 14067", "Pathfinder v1", "Pathfinder v2", "GHG Protocol Product Standard", "PAS 2050", "ISO 14040-44", "PEF", "Other" | GHG Protocol Product Standard | CrossSectoralStandardsUsedEnumeration | Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions. | +| Operator or Publisher of Sector Specific Rules | productOrSectorSpecificRules:
                                    operator | M | M | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
                                    For each operator: enumeration "PEF", "EPD International", "Other"; per default "Other" in Catena-X | Other | ProductOrSectorSpecificRuleOperator | Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule). WBCSD specific extension, in Catena-X for example must always be "Other". | +| Product or Sector Specific Rule Names | productOrSectorSpecificRules:
                                    ruleNames | M | M | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
                                    For all rulenames: set of RuleName entries | urn:tfs-initiative.com:PCR:The Product Carbon Footprint Guideline for the Chemical Industry:version:v2.0 | NonEmptyString Vector | Non-empty set of rules applied by the specified operator. | +| Other Operator Name | productOrSectorSpecificRules:
                                    otherOperatorName | O | O | Object productOrSectorSpecificRules; set of Product or Sector Specific Rule entries (each including Operator, Rule Names and Other Operator Name)
                                    For each otherOperatorName: Non-empty string | NSF | NonEmptyString | Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule). WBCSD specific extension, in Catena-X for example specified by a default value. | +| *(GWP Characterization Factor Details)* | | | | | | | | +| Characterization Factors | characterizationFactors | M | M | Enumeration "AR6", "AR5"; per default "AR6" in Catena-X | AR6 | CharacterizationFactors | IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF. WBCSD specific extension, in Catena-X for example specified by default with value "AR6". Default value can be overwritten. | +| *(Data Sources and Quality)* | | | | | | | | +| *(Allocation in Foreground (Own Processes))* | | | | | | | | +| Allocation Rules Description | allocationRulesDescription | O | O | Text; per default "In accordance with Catena-X PCF Rulebook" in Catena-X | In accordance with Catena-X PCF Rulebook | String | Allocation rules used and underlying reasoning in context of a PCF. WBCSD specific extension, in Catena-X for example specified by default with value "In accordance with Catena-X PCF Rulebook". | +| Allocation Waste Incineration | allocationWasteIncineration | M | M | Enumeration "cut-off", "reverse cut-off", "system expansion"; per default "cut-off" in Catena-X | cut-off | AllocationWasteIncineration | Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value "cut-off". | +| *(Data Sources)* | | | | | | | | +| Primary Data Share | primaryDataShare | O* | O* | Decimal number in range of and including 0..100 | 7.183924 | Percent | Share of primary data in percent. | +| Emission Factor Data Source | secondaryEmissionFactorSources:
                                    emissionFactorDS | M | M | Object; set of EmissionFactorDataSources | ecoinvent 3.8 | Set of strings, each with 1 or more characters | Emission factor data sources used to calculate a PCF. | +| *(Data Quality)* | | | | | | | | +| Coverage Percent | dqi:coveragePercent | O* | O* | Decimal number in range of and including 0..100; per default "100" in Catena-X | 100 | Percent | Percentage of PCF included in the data quality assessment based on the >5% emissions threshold. In Catena-X for example set to "100" per default. | +| Technological DQR (Data Quality Rating) | dqi:technologicalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Technological representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Temporal DQR (Data Quality Rating) | dqi:temporalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Temporal representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Geographical DQR (Data Quality Rating) | dqi:geographicalDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Geographical representativeness of the sources used for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Completeness DQR (Data Quality Rating) | dqi:completenessDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Completeness of the data collected for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| Reliability DQR (Data Quality Rating) | dqi:reliabilityDQR | O | O | Decimal number in range of and including 1..3 | 2.0 | DqiNumber | Reliability of the data collected for PCF calculation based on weighted average of all inputs representing >5% of PCF emissions. | +| ***(Life Cycle Inventory Results)*** | | | | | | | | +| ***(Production Stage)*** | | | | | | | | +| PCF Excluding Biogenic | pcfExcludingBiogenic | M | M | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 2.0 | PositiveDecimal | PCF of a product excluding biogenic emissions. | +| PCF Including Biogenic | pcfIncludingBiogenic | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit | 1.0 | Decimal | PCF of a product including biogenic emissions. Optional value in current specification version but will be mandatory in future version. | +| Fossil Emissions | fossilGhgEmissions | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.5 | PositiveDecimal | Emissions from combustion of fossil sources. Identical to "pcfExcludingBiogenic", will be removed in later version. | +| Biogenic Carbon Emissions Other Than CO2 | biogenicCarbonEmissionsOtherThanCO2 | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. | +| Biogenic Carbon Withdrawal | biogenicCarbonWithdrawal | O* | O* | Must be calculated per declared unit in kgCO2e / declaredUnit equal to or less than zero | 0.0 | NegativeDecimal | Biogenic carbon content in the product converted to CO2e. | +| Direct land use change Greenhouse Gas Emissions | dlucGhgEmissions | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.4 | PositiveDecimal | Direct land use change CO2e emissions in context of a PCF. | +| Land use Greenhouse Gas Emissions | luGhgEmissions | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit | 0.3 | Decimal | Land use CO2 emissions in context of a PCF as specified by the TFS (Together For Sustainability) initiative. TFS specific extension. | +| Aircraft Greenhouse Gas Emissions | aircraftGhgEmissions | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product. | +| Packaging Greenhouse Gas Emissions | packagingGhgEmissions | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | Emissions resulting from the packaging of the product. WBCSD specific extension. In Catena-X not relevant to be reported separately. | +| ***(Distribution Stage)*** | | | | | | | | +| Distribution Stage PCF Excluding Biogenic | distributionStagePcfExcludingBiogenic | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 1.5 | PositiveDecimal | PCF for the distribution stage of a product excluding biogenic emissions. | +| Distribution Stage PCF Including Biogenic | distributionStagePcfIncludingBiogenic | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit | 0.0 | Decimal | PCF for the distribution stage of a product including biogenic emissions. | +| Distribution Stage Fossil Greenhouse Gas Emissions | distributionStageFossilGhgEmissions | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.5 | PositiveDecimal | Emissions from the combustion of fossil sources in the distribution stage. | +| Distribution Stage Biogenic Carbon Emissions Other Than CO2 | distributionStageBiogenicCarbonEmissionsOtherThanCO2 | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2. Excludes biogenic CO2. | +| Distribution Stage Biogenic Carbon Withdrawal | distributionStageBiogenicCarbonWithdrawal | O | O | Must be calculated per declared unit in kgCO2e / declaredUnit equal to or less than zero | 0.0 | NegativeDecimal | GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product). | +| Distribution Stage direct land use change Greenhouse Gas Emissions | distributionStageDlucGhgEmissions | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 1.0 | PositiveDecimal | Direct land use change CO2e emissions for the distribution stage in context of a PCF. | +| Distribution Stage land use Greenhouse Gas Emissions | distributionStageLuGhgEmissions | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit | 1.1 | Decimal | Land use CO2 emissions for the distribution stage in context of a PCF as specified by the TFS (Together For Sustainability) initiative. TFS specific extension. | +| Distribution Stage Aircraft Greenhouse Gas Emissions | distributionStageAircraftGhgEmissions | O | O | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product. | +| ***(Carbon Content)*** | | | | | | | | +| Carbon Content Total | carbonContentTotal | O* | O* | Must be calculated per declared unit with
                                    kgCO2e / declaredUnit equal to or greater zero | 2.5 | PositiveDecimal | Total carbon content per declared unit in context of a PCF. | +| Fossil Carbon Content | fossilCarbonContent | O* | O* | Must be calculated per declared unit with
                                    kgC / declaredUnit equal to or greater zero; per default calculated in Catena-X (Total - Biogenic) | 0.1 | PositiveDecimal | Fossil carbon amount embodied in a product. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value. | +| Biogenic Carbon Content | biogenicCarbonContent | O* | O* | Must be calculated per declared unit with
                                    kgC / declaredUnit equal to or greater zero | 0.0 | PositiveDecimal | Biogenic carbon amount embodied in a product. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero. | + +
                                    + +#### Example Payload + +The following json shows an exemplary payload for a requested PCF value. + +
                                    + Payload + +```json +{ + "specVersion" : "urn:io.catenax.pcf:datamodel:version:7.0.0", + "companyIds" : [ "urn:bpn:id:BPNL000000000DWF", "urn:vat:id:DE123456789"], + "extWBCSD_productCodeCpc" : "011-99000", + "created" : "2022-05-22T21:47:32Z", + "companyName" : "My Corp", + "extWBCSD_pfStatus" : "Active", + "version" : 0, + "productName" : "My Product Name", + "pcf" : { + "biogenicCarbonEmissionsOtherThanCO2" : 1.0, + "distributionStagePcfExcludingBiogenic" : 1.5, + "biogenicCarbonWithdrawal" : 0.0, + "distributionStageBiogenicCarbonEmissionsOtherThanCO2" : 1.0, + "extWBCSD_allocationRulesDescription" : "In accordance with Catena-X PCF Rulebook", + "exemptedEmissionsDescription" : "No exemption", + "distributionStageFossilGhgEmissions" : 0.5, + "exemptedEmissionsPercent" : 0.0, + "geographyCountrySubdivision" : "US-NY", + "extTFS_luGhgEmissions" : 0.3, + "distributionStageBiogenicCarbonWithdrawal" : 0.0, + "pcfIncludingBiogenic" : 1.0, + "aircraftGhgEmissions" : 0.0, + "productMassPerDeclaredUnit" : 0.456, + "productOrSectorSpecificRules" : [ { + "extWBCSD_operator" : "PEF", + "productOrSectorSpecificRules" : [ { + "ruleName" : "urn:tfs-initiative.com:PCR:The Product Carbon Footprint Guideline for the Chemical Industry:version:v2.0" + } ], + "extWBCSD_otherOperatorName" : "NSF" + } ], + "extTFS_allocationWasteIncineration" : "cut-off", + "pcfExcludingBiogenic" : 2.0, + "referencePeriodEnd" : "2022-12-31T23:59:59Z", + "extWBCSD_characterizationFactors" : "AR5", + "secondaryEmissionFactorSources" : [ { + "secondaryEmissionFactorSource" : "ecoinvent 3.8" + } ], + "unitaryProductAmount" : 1000.0, + "declaredUnit" : "liter", + "referencePeriodStart" : "2022-01-01T00:00:01Z", + "geographyRegionOrSubregion" : "Africa", + "fossilGhgEmissions" : 0.5, + "distributionStageAircraftGhgEmissions" : 0.0, + "boundaryProcessesDescription" : "Electricity consumption included as an input in the production phase", + "geographyCountry" : "DE", + "extWBCSD_packagingGhgEmissions" : 0, + "dlucGhgEmissions" : 0.4, + "carbonContentTotal" : 2.5, + "extTFS_distributionStageLuGhgEmissions" : 1.1, + "primaryDataShare" : 56.12, + "dataQualityRating" : { + "completenessDQR" : 2.0, + "technologicalDQR" : 2.0, + "geographicalDQR" : 2.0, + "temporalDQR" : 2.0, + "reliabilityDQR" : 2.0, + "coveragePercent" : 100 + }, + "extWBCSD_packagingEmissionsIncluded" : true, + "extWBCSD_fossilCarbonContent" : 0.1, + "crossSectoralStandardsUsed" : [ { + "crossSectoralStandard" : "ISO Standard 14067" + } ], + "extTFS_distributionStageDlucGhgEmissions" : 1.0, + "distributionStagePcfIncludingBiogenic" : 0.0, + "carbonContentBiogenic" : 0.0 + }, + "partialFullPcf" : "Cradle-to-gate", + "productIds" : [ "urn:gtin:4712345060507", "urn:id:9587654", "urn:uuid4:id:9885a472-2cbf-4f89-9650-e83a44e7bdf1" ], + "validityPeriodStart" : "2022-01-01T00:00:01Z", + "comment" : "Additional explanatory information not reflected by other attributes", + "id" : "3893bb5d-da16-4dc1-9185-11d97476c254", + "validityPeriodEnd" : "2022-12-31T23:59:59Z", + "pcfLegalStatement" : "This PCF (Product Carbon Footprint) is for information purposes only. It is based upon the standards mentioned above.", + "productDescription" : "Ethanol, 95% solution", + "precedingPfIds" : [ { + "id" : "3893bb5d-da16-4dc1-9185-11d97476c254" + } ] +} +``` + +
                                    + +The entire PCF data model is available as open source through the following link: +[Catena-X PCF Datamodel](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.pcf/7.0.0) + +## Business Architecture + +The PCF Exchange KIT can be used to exchange PCF data within the Catena-X ecosystem in a decentralized and interoperable manner, while maintaining a high level of data sovereignty. To achieve this, the PCF Exchange KIT leverages other KITs (particularly the platform-related ones), standardized data models, and an Identity and Access Management (IAM) system based on OAuth and Self-Sovereign Identity (SSI) technology. + +In order to ensure **interoperability**, as described in the section on [Semantic Models](#semantic-models), a standardized data model is essential. However, it's not only the data model but also the standardized interfaces (both the PCF Exchange API and the standardized API provided by the Connector Kit) that contribute to interoperability. + +To enable **data sovereignty**, Catena-X relies on **Self-Sovereign-Identity** (SSI). This allows data providers to precisely specify the conditions that must be met before requested data is transmitted. In the context of the PCF KIT, the "PCF Credential" and "Membership Credential" are mandatory. The PCF Credential references the [PCF Framework Agreement](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_PCF.pdf) signed by a data consumer. The Membership Credential additionally ensures that the requester is an active member of Catena-X. + +The diagram shown here illustrates the interaction between the PCF KIT and the other Catena-X components. +![Business Architecture](resources/adoption-view/BusinessArchitecture.png) + +## STANDARDS + +The relevant standards can be downloaded from the official [Catena-X Standard Library](https://catenax-ev.github.io/docs/next/standards/overview): + +- [CX-0136 Product Carbon Footprint UseCase (Version 2.0.0)](https://catenax-ev.github.io/docs/next/standards/CX-0136-UseCasePCF) +- [CX-0029 Product Carbon Footprint Rulebook (Version 3.0.0)](https://catenax-ev.github.io/docs/next/standards/CX-0029-ProductCarbonFootprintRulebook) + +## REFERENCE IMPLEMENTATIONS + +Currently there is no reference FOSS (Free and Open-Source Software) implementation. Several COTS (Commercial Of-The-Shelf) solutions are available, e.g. offered by the following providers: + +- [SiGREEN (Siemens)](https://www.siemens.com/de/de/unternehmen/themenfelder/product-carbon-footprint.html) +- [SDX (SAP)](https://www.sap.com/sustainability/climate-action.html) +- [SPF (SupplyOn)](https://www.supplyon.com/en/solutions/sustainability/product-carbon-footprint/#contactform) +- [SDE (T-Systems)](https://dih.telekom.com/de/catena-x) + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2024 SIEMENS AG +- SPDX-FileCopyrightText: 2023,2024 SUPPLY ON AG +- SPDX-FileCopyrightText: 2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023,2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2024 CCT +- SPDX-FileCopyrightText: 2023,2024 Gris Group +- SPDX-FileCopyrightText: 2023,2024 Contributors to the Eclipse Foundation +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_documentation.md b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_documentation.md new file mode 100644 index 00000000000..abc7feb8ab9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_documentation.md @@ -0,0 +1,21 @@ +--- +title: Documentation Overview +--- + +## NOTICE + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2023,2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2023,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2023,2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2023,2023,2024 SAP SE +- SPDX-FileCopyrightText: 2023,2023,2024 SIEMENS AG +- SPDX-FileCopyrightText: 2023,2023,2024 SUPPLY ON AG +- SPDX-FileCopyrightText: 2023,2023,2024 Volkswagen AG +- SPDX-FileCopyrightText: 2023,2023,2024 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023,2023,2024 Mercedes Benz Group +- SPDX-FileCopyrightText: 2023,2023,2024 BASF SE +- SPDX-FileCopyrightText: 2023,2023,2024 CCT +- SPDX-FileCopyrightText: 2023,2023,2024 Gris Group +- SPDX-FileCopyrightText: 2023,2023,2024 Contributors to the Eclipse Foundation +- [Source URL](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/tree/main/docs-kits/kits/PCF%20Exchange%20Kit) diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_software-operation-view.md new file mode 100644 index 00000000000..e51d5b52f6a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/page_software-operation-view.md @@ -0,0 +1,13 @@ +--- +id: Operation View +title: Operation View +description: 'PCF Exchange KIT' +sidebar_position: 4 +--- + +![PCF Exchange kit banner](/img/kit-icons/pcf-kit-icon.svg) + +In addition to certified commercial solutions, there is now also an open-source reference implementation available for the first time to support the CX PCF Use Case Standard (data model, API,...). Further information regarding this Simple Data Exchanger (usage, configuration and deployment) are published on GitHub: + +- [SDE Frontend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-frontend) +- [SDE Backend GitHub Repository](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-backend) diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/BusinessArchitecture.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/BusinessArchitecture.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/BusinessArchitecture.png rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/BusinessArchitecture.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png new file mode 100644 index 00000000000..222e5c2c131 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCF Data Model Structure Rel. 24.08.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFCalculation.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFCalculation.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFCalculation.png rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFCalculation.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFDataExchangeOverview.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFDataExchangeOverview.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/PCFDataExchangeOverview.png rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFDataExchangeOverview.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png new file mode 100644 index 00000000000..fb099bb227b Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/PCFRequestandResponse.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/ScopeofCatena-XUseCase.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/ScopeofCatena-XUseCase.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/adoption-view/ScopeofCatena-XUseCase.png rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/ScopeofCatena-XUseCase.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/Customer Journeys PCF Data -- PCF KIT 24-03.pptx b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/Customer Journeys PCF Data -- PCF KIT 24-03.pptx new file mode 100644 index 00000000000..1225712e89d Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/Customer Journeys PCF Data -- PCF KIT 24-03.pptx differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/PCF Workflow -- Business Context -- PCF KIT 24-03.pptx b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/PCF Workflow -- Business Context -- PCF KIT 24-03.pptx new file mode 100644 index 00000000000..5f9240e4850 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/adoption-view/src/PCF Workflow -- Business Context -- PCF KIT 24-03.pptx differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/BuildingblockView.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/BuildingblockView.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/BuildingblockView.png rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/BuildingblockView.png diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png new file mode 100644 index 00000000000..9aea8527ad4 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryanddDTRAccess.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png new file mode 100644 index 00000000000..aaef19fd937 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestWithoutTwinOrSubmodel.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png new file mode 100644 index 00000000000..a912f234668 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFRequestthroughAAS.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFUpdatePushedThroughEDC.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFUpdatePushedThroughEDC.png new file mode 100644 index 00000000000..cf013229876 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/PCFUpdatePushedThroughEDC.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png new file mode 100644 index 00000000000..4e66fb8b2ed Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCOnlyUP.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png new file mode 100644 index 00000000000..df003ab6a76 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1ABCUP.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png new file mode 100644 index 00000000000..58f7d7859a6 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/Tier1AOpenUP.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml new file mode 100644 index 00000000000..0401c7b8187 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/catena-x-pcf-endpoint-1_1_1.yaml @@ -0,0 +1,676 @@ +openapi: 3.0.0 +info: + title: Catena-X-pcf-request-endpoint + version: 1.1.1 +paths: + /productIds/{productId}: + get: + operationId: get_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF is requested for + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the call (will be referenced in corresponding PCF response) + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: true + schema: + type: string + - name: message + in: query + required: false + description: URL encoded, max 250 chars + example: No%20offset%20included%2C%20please%21 + schema: + type: string + responses: + '202': + description: PCF was accepted. PCF will be sent later via to POST endpoint. + put: + operationId: set_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF referring to + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call. + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: false + schema: + type: string + requestBody: + description: The requested PCF in WBCSD format + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProductFootprintResponse' + responses: + '200': + description: '' +components: + schemas: + ProductFootprintResponse: + description: A Product (Carbon) Footprint represents the carbon footprint of a product with values as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + specVersion: + description: 'Mandatory: Version of the product footprint data specification as defined in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#specVersion + $ref: '#/components/schemas/Text' + partialFullPcf: + description: 'Mandatory: Indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#partialFullPcf + $ref: '#/components/schemas/PartialFullPcfCharacteristic' + precedingPfIds: + description: 'Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as "optional" in WBCSD, needs to be covered by application.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#precedingPfIds + $ref: '#/components/schemas/PrecedingPfIdsCharacteristic' + version: + description: 'Mandatory: Version of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "0" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#version + $ref: '#/components/schemas/ProductFootprintVersion' + created: + description: 'Mandatory: Timestamp of the creation of the Product (Carbon) Footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#created + $ref: '#/components/schemas/Timestamp' + extWBCSD_pfStatus: + description: 'Mandatory: Status indicator of a product (carbon) footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example set to "Active" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#status + $ref: '#/components/schemas/PfStatusCharacteristic' + validityPeriodStart: + description: 'Optional: Start of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. If specified, the validity period start must be equal to or greater than the reference period end.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodStart + $ref: '#/components/schemas/Timestamp' + validityPeriodEnd: + description: 'Optional: End of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodEnd + $ref: '#/components/schemas/Timestamp' + comment: + description: 'Optional: Additional information and instructions related to the calculation of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#comment + $ref: '#/components/schemas/Text' + companyName: + description: 'Mandatory: Name of the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyName + $ref: '#/components/schemas/NonEmptyStringTrait' + companyIds: + description: "Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyIds + $ref: '#/components/schemas/IdsTrait' + productDescription: + description: 'Optional: Free-form description of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productDescription + $ref: '#/components/schemas/Text' + productIds: + description: 'Mandatory: Non-empty set of product identifiers. Each value is supposed to uniquely identify the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productId corresponds with Industry Core manufacturerPartId.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productIds + $ref: '#/components/schemas/IdsTrait' + extWBCSD_productCodeCpc: + description: 'Mandatory: UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product as specified the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, which will probably be declared as "optional" in a later WBCSD specification version. In Catena-X for example specified with default value "011-99000".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productCategoryCpc + $ref: '#/components/schemas/Text' + productName: + description: "Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productNameCompany + $ref: '#/components/schemas/NonEmptyStringTrait' + pcf: + description: A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcf + $ref: '#/components/schemas/CarbonFootprint' + pcfLegalStatement: + description: 'Optional: Option for legal statement/ disclaimer as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfLegalStatement + $ref: '#/components/schemas/Text' + required: + - id + - specVersion + - partialFullPcf + - version + - created + - extWBCSD_pfStatus + - companyName + - companyIds + - productIds + - extWBCSD_productCodeCpc + - productName + - pcf + UuidV4Trait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.shared.uuid:2.0.0#UuidV4Trait + description: The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by "urn:uuid:" to make it an IRI. + pattern: (^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$) + Text: + type: string + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text + description: Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc. + PartialFullPcfCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PartialFullPcfCharacteristic + description: Characteristic for defining an indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0). + enum: + - Cradle-to-gate + - Cradle-to-grave + PrecedingPfId: + description: Entity for defining a preceding PCF (Product Carbon Footprint) identifier entity as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfId + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + required: + - id + PrecedingPfIdsCharacteristic: + description: Characteristic for defining a non-empty set of product (carbon) footprint identifiers as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfIdsCharacteristic + type: array + items: + $ref: '#/components/schemas/PrecedingPfId' + ProductFootprintVersion: + type: number + minimum: 0 + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductFootprintVersion + description: Characteristic for defining a product footprint version as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + Timestamp: + type: string + pattern: '-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?' + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp + description: Describes a Property which contains the date and time with an optional timezone. + PfStatusCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PfStatusCharacteristic + description: Characteristic for defining a status indicator of a product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Enumeration with possible "Active" and "Deprecated". + enum: + - Active + - Deprecated + NonEmptyStringTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NonEmptyStringTrait + description: Constraint for ensuring that a string has at least one character. + minLength: 1 + IdsTrait: + description: Constraint for defining a non-empty set of URIs (Uniform Resource Identifieres). + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#IdsTrait + type: array + items: + type: string + format: uri + minItems: 1 + DeclaredUnitCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DeclaredUnitCharacteristic + description: Unit of analysis of the product with accepted values as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For countable products/ components/ materials, Catena-X for example adds the unit "piece" to the value list specified by WBCSD. + enum: + - liter + - kilogram + - cubic meter + - kilowatt hour + - megajoule + - ton kilometer + - square meter + - piece + StrictlyPositiveDecimalTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#StrictlyPositiveDecimalTrait + description: Constraint for defining a positive, non-zero decimal. + minimum: 0 + exclusiveMinimum: true + PositiveDecimalWeightTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveDecimalWeightTrait + description: Constraint for defining a decimal equal to or greater than zero. + minimum: 0 + exclusiveMinimum: false + ExemptedEmissionsPercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ExemptedEmissionsPercentTrait + description: Characteristic for defining the percentage of emissions excluded from a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + maximum: 5 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + GeographyCountrySubdivisionTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountrySubdivisionTrait + description: Constraint for defining a geography country subdivision in compliance to ISO 3166-2 as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) + GeographyCountryTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountryTrait + description: Constraint for defining a geography country conform to ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}) + GeographyRegionOrSubregionCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyRegionOrSubregionCharacteristic + description: Characteristic for defining a list of valid geographic regions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example "Global" has been added to the value list. + enum: + - Africa + - Americas + - Asia + - Europe + - Oceania + - Australia and New Zealand + - Central Asia + - Eastern Asia + - Eastern Europe + - Latin America and the Caribbean + - Melanesia + - Micronesia + - Northern Africa + - Northern America + - Northern Europe + - Polynesia + - South-eastern Asia + - Southern Asia + - Southern Europe + - Sub-Saharan Africa + - Western Asia + - Western Europe + - Global + - Several + CrossSectoralStandardsUsedEnumerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardsUsedEnumerationCharacteristic + description: Characteristic for defining the enumeration of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + enum: + - ISO Standard 14067 + - ISO Standard 14044 + - Pathfinder v1 + - Pathfinder v2 + - PAS 2050 + - ISO Standard 14040 + - ISO Standard 14041 + - ISO Standard 14042 + - ISO Standard 14043 + - PEF + - Other + - GHG Protocol Product Standard + CrossSectoralStandard: + description: Entity for defining an accounting standard used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandard + type: object + properties: + crossSectoralStandard: + description: 'Mandatory: Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandard + $ref: '#/components/schemas/CrossSectoralStandardsUsedEnumerationCharacteristic' + required: + - crossSectoralStandard + CrossSectoralStandardSet: + description: Characteristic for defining the list of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardSet + type: array + items: + $ref: '#/components/schemas/CrossSectoralStandard' + ProductOrSectorSpecificRuleOperator: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleOperator + description: Enumeration of PCR (Product Category Rule) operators as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension for example in Catena-X. + enum: + - PEF + - EPD International + - Other + RuleName: + description: Name of a rule applied by a specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleName + type: object + properties: + ruleName: + description: Name of a rule applied by a specific operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - ruleName + RuleNamesTrait: + description: Constraint for defining a non-empty set of rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleNamesTrait + type: array + items: + $ref: '#/components/schemas/RuleName' + uniqueItems: true + minItems: 1 + ProductOrSectorSpecificRule: + description: Entity for defining a product or sector specific rule of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRule + type: object + properties: + extWBCSD_operator: + description: 'Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example must always be "Other".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#operator + $ref: '#/components/schemas/ProductOrSectorSpecificRuleOperator' + productOrSectorSpecificRules: + description: 'Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleNames + $ref: '#/components/schemas/RuleNamesTrait' + extWBCSD_otherOperatorName: + description: 'Optional: Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a default value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#otherOperatorName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - extWBCSD_operator + - productOrSectorSpecificRules + ProductOrSectorSpecificRuleSet: + description: Characteristic for defining the set of product or sector specific rules of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleSet + type: array + items: + $ref: '#/components/schemas/ProductOrSectorSpecificRule' + uniqueItems: true + CharacterizationFactorsCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CharacterizationFactorsCharacteristic + description: Characteristic for defining the characterization factors of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example specified by a default value. + enum: + - AR5 + - AR6 + AllocationWasteIncinerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#AllocationWasteIncinerationCharacteristic + description: Characteristic for defining the allocation approach used for waste incineration as specified by the TFS (Together For Sustainability) initiative. + enum: + - cut-off + - reverse cut-off + - system expansion + PercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PercentTrait + description: Constraint for a decimal number in the range of and including 0 and 100. + maximum: 100 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + EmissionFactorDS: + description: Entity for defining an emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDS + type: object + properties: + secondaryEmissionFactorSource: + description: 'Mandatory: Emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#emissionFactorDS + $ref: '#/components/schemas/Text' + required: + - secondaryEmissionFactorSource + EmissionFactorDSSet: + description: Characteristic for defining a set of emission factor sources used for calculating a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDSSet + type: array + items: + $ref: '#/components/schemas/EmissionFactorDS' + uniqueItems: true + DqiNumberTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DqiNumberTrait + description: Constraint for defining a decimal between 1 and 3 including. + maximum: 3 + exclusiveMaximum: false + minimum: 1 + exclusiveMinimum: false + DataQualityIndicators: + description: Characteristic for defining the quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DataQualityIndicators + type: object + properties: + coveragePercent: + description: 'Mandatory starting 2025: Percentage of PCF (Product Carbon Footprint) included in the data quality assessment based on the >5% emissions threshold as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "100" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#coveragePercent + $ref: '#/components/schemas/PercentTrait' + technologicalDQR: + description: 'Optional: Technological representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#technologicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + temporalDQR: + description: 'Optional: Temporal representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#temporalDQR + $ref: '#/components/schemas/DqiNumberTrait' + geographicalDQR: + description: 'Optional: Geographical representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + completenessDQR: + description: 'Optional: Completeness of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#completenessDQR + $ref: '#/components/schemas/DqiNumberTrait' + reliabilityDQR: + description: 'Optional: Reliability of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#reliabilityDQR + $ref: '#/components/schemas/DqiNumberTrait' + Boolean: + type: boolean + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean + description: Represents a boolean value (i.e. a "flag"). + PositiveEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveEmissionsTrait + description: 'Only positive emission values (>0) are valid ' + minimum: 0 + exclusiveMinimum: false + PositiveOrNegativeEmission: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveOrNegativeEmission + description: Characteristic for defining (positive or negative) emissions in context of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative. + NegativeEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NegativeEmissionsTrait + description: Only negative emission values (<=0) are valid. + maximum: 0 + exclusiveMaximum: false + PcfEntity: + description: Entity for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PcfEntity + type: object + properties: + declaredUnit: + description: 'Mandatory: Unit of analysis of a product in context of the PCF (product carbon footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example list of valid units includes "piece".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#declaredUnit + $ref: '#/components/schemas/DeclaredUnitCharacteristic' + unitaryProductAmount: + description: 'Mandatory: Amount of units contained within a product in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#unitaryProductAmount + $ref: '#/components/schemas/StrictlyPositiveDecimalTrait' + productMassPerDeclaredUnit: + description: 'Mandatory: Mass of a product per declared unit (net, unpackaged) in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productMassPerDeclaredUnit + $ref: '#/components/schemas/PositiveDecimalWeightTrait' + exemptedEmissionsPercent: + description: |- + Mandatory: Applied cut-off percentage of emissions excluded from PCF (Product Carbon Footprint). + For accordance with Catena-X PCF Rulebook (Version 3.0.0) <3%. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsPercent + $ref: '#/components/schemas/ExemptedEmissionsPercentTrait' + exemptedEmissionsDescription: + description: 'Optional: Rationale behind exclusion of specific PCF (Product Carbon Footprint) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsDescription + $ref: '#/components/schemas/Text' + boundaryProcessesDescription: + description: 'Optional: Processes attributable to each lifecycle stage as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#boundaryProcessesDescription + $ref: '#/components/schemas/Text' + geographyCountrySubdivision: + description: 'Optional: Subdivision of a country which must be an ISO 3166-2 subdivision code as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountrySubdivision + $ref: '#/components/schemas/GeographyCountrySubdivisionTrait' + geographyCountry: + description: 'Optional: Two letter country code that must conform to data type ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountry + $ref: '#/components/schemas/GeographyCountryTrait' + geographyRegionOrSubregion: + description: 'Mandatory: Region according to list as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyRegionOrSubregion + $ref: '#/components/schemas/GeographyRegionOrSubregionCharacteristic' + referencePeriodStart: + description: 'Mandatory: Start of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodStart + $ref: '#/components/schemas/Timestamp' + referencePeriodEnd: + description: 'Mandatory: End of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodEnd + $ref: '#/components/schemas/Timestamp' + crossSectoralStandardsUsed: + description: 'Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandardsUsed + $ref: '#/components/schemas/CrossSectoralStandardSet' + productOrSectorSpecificRules: + description: 'Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productOrSectorSpecificRules + $ref: '#/components/schemas/ProductOrSectorSpecificRuleSet' + extWBCSD_characterizationFactors: + description: 'Mandatory: IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"AR6\". Default value can be overwritten.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#characterizationFactors + $ref: '#/components/schemas/CharacterizationFactorsCharacteristic' + extWBCSD_allocationRulesDescription: + description: 'Optional: Allocation rules used and underlying reasoning in context of a product carbon footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value "In accordance with Catena-X PCF Rulebook (Version 3.0.0)".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationRulesDescription + $ref: '#/components/schemas/Text' + extTFS_allocationWasteIncineration: + description: 'Mandatory: Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value "cut-off".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationWasteIncineration + $ref: '#/components/schemas/AllocationWasteIncinerationCharacteristic' + primaryDataShare: + description: 'Mandatory starting 2025: Share of primary data in percent as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#primaryDataShare + $ref: '#/components/schemas/PercentTrait' + secondaryEmissionFactorSources: + description: 'Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#secondaryEmissionFactorSources + $ref: '#/components/schemas/EmissionFactorDSSet' + dataQualityRating: + description: 'Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dqi + $ref: '#/components/schemas/DataQualityIndicators' + extWBCSD_packagingEmissionsIncluded: + description: |- + Mandatory: The Catena-X PCF Rulebook requires to include packaging from a system boundary perspective. "FALSE" is only possible due to the application of the cut-off rule. + Flag indicating whether packaging emissions are included in a PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingEmissionsIncluded + $ref: '#/components/schemas/Boolean' + pcfExcludingBiogenic: + description: 'Mandatory: Product carbon footprint of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + pcfIncludingBiogenic: + description: 'Mandatory starting 2025: Product carbon footprint of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Optional value in current specification version but will be mandatory in future version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + fossilGhgEmissions: + description: 'Mandatory starting 2025: Emissions from combustion of fossil sources as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Identical to "pcfExcludingBiogenic", will be removed in later version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonEmissionsOtherThanCO2: + description: 'Mandatory starting 2025: GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonWithdrawal: + description: 'Mandatory starting 2025: Biogenic carbon content in the product converted to CO2e as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + dlucGhgEmissions: + description: 'Mandatory starting 2025: Direct land use change CO2e emissions in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_luGhgEmissions: + description: 'Mandatory starting 2025: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#luGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + aircraftGhgEmissions: + description: 'Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#aircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_packagingGhgEmissions: + description: 'Optional: Emissions resulting from the packaging of the product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. In Catena-X not relevant to be reported separately.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfExcludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfIncludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + distributionStageFossilGhgEmissions: + description: 'Optional: Emissions from the combustion of fossil sources in the distribution stage as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageFossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonEmissionsOtherThanCO2: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2 ? excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonWithdrawal: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + extTFS_distributionStageDlucGhgEmissions: + description: 'Optional: Direct land use change CO2 emissions during distribution stage in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageDlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_distributionStageLuGhgEmissions: + description: 'Optional: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageLuGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + carbonContentTotal: + description: 'Mandatory starting 2025: Total carbon content per declared unit in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#carbonContentTotal + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_fossilCarbonContent: + description: 'Mandatory starting 2025: Fossil carbon amount embodied in a product as specified in the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + carbonContentBiogenic: + description: 'Mandatory starting 2025: Biogenic carbon amount embodied in a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageAircraftGhgEmissions: + description: 'Optional: GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageAircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + required: + - declaredUnit + - unitaryProductAmount + - productMassPerDeclaredUnit + - exemptedEmissionsPercent + - geographyRegionOrSubregion + - referencePeriodStart + - referencePeriodEnd + - crossSectoralStandardsUsed + - productOrSectorSpecificRules + - extWBCSD_characterizationFactors + - extTFS_allocationWasteIncineration + - secondaryEmissionFactorSources + - extWBCSD_packagingEmissionsIncluded + - pcfExcludingBiogenic + CarbonFootprint: + description: Characteristic for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CarbonFootprint + type: object + allOf: + - $ref: '#/components/schemas/PcfEntity' \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryAnddDTRAccess.puml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml similarity index 82% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryAnddDTRAccess.puml rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml index 1c6daf6cff8..2152c44565c 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/EDCDiscoveryAnddDTRAccess.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/EDCDiscoveryAnddDTRAccess.puml @@ -29,7 +29,8 @@ group Lookup Companies DTR PCF_Client -> Client_EDC: Lookup Companies DTR\n(via Company's EDC URL) Client_EDC -> Company_EDC: Lookup Asset in Catalog\n(EDC asset type "data.core.digitalTwinRegistry") note right -Assumption PI9: Only one dDTR behind one of the EDCs +Assumption: Due to DT Kit there should +only be one dDTR behind one of the EDCs (there could be multiple in theory!) end note Company_EDC -> Client_EDC: DTR Asset @@ -43,7 +44,7 @@ PCF_Client -> Client_EDC: Lookup Twin's Submodel\nin Companies DTR\n(via Company Client_EDC -> Company_EDC: Negotiate DTR access & lookup\nTwin's Submodel in Company's DTR\n(using AAS API and materialID) note right Lookup Twin ID for material: -GET https://someEDCProxURL/lookup/shells?assetIds=[{"key": "manufacturerPartId","value":"mat345"},{"key": "assetLifecyclePhase","value": "AsPlanned"}] +GET https://someEDCProxURL/lookup/shells?assetIds=[{"key": "manufacturerPartId","value":"mat345"},{"key": "digitalTwinType","value": "PartType"}] Lookup Twin for ID GET https://someEDCProxURL/registry/shell-descriptors/urn:uuid:c34018ab-5820-4065-9087-416d78e1ab60 @@ -66,19 +67,23 @@ Showing submodel only to ease readability! "idShort": "PCFExchangeEndpoint", "identification": "urn:uuid:205cf8d1-8f07-483c-9c5b-c8d706c7d05d", "semanticId": { - "value": [ - "urn:bamm:io.catenax.pcf:4.0.0#Pcf" - ] + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.pcf:7.0.0#Pcf" + } + ] }, "endpoints": [ { - "interface": "PCF-0.0.3", + "interface": "PCF-1.1", "protocolInformation": { "href": "https://edc.data.plane/productIds/mat345", "endpointProtocol": "HTTP", - "endpointProtocolVersion": ["1.1"] + "endpointProtocolVersion": ["1.1"], "subprotocol": "DSP", - "subprotocolBody": "id=c34018ab-5820-4065-9087-416d78e1ab60;dspEndpoint=https://some.controlplane.url:7173", + "subprotocolBody": "id=c34018ab-5820-4065-9087-416d78e1ab60;dspEndpoint=https://some.controlplane.url:7173/api/v1/dsp", "subprotocolBodyEncoding": "plain" } } diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequest.puml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml similarity index 80% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequest.puml rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml index 00de656e79c..86ace6b323e 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequest.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequest.puml @@ -21,21 +21,21 @@ end group Invoke PCF Submodel of Material Twin PCF_Client -> PCF_Client: Extract Endpoint from submodel via 'idShort' PCF_Client -> PCF_Client: Rewrite endpoint URL for call through own API Wrapper -PCF_Client -> Client_API_Wapper: Invoke asset with reqID, BPN & comment +PCF_Client -> Client_API_Wapper: Invoke asset with reqID & comment note right -GET https://clientApiWrapperUrl/api/service/c34018ab-5820-4065-9087-416d78e1ab60/productIds/mat345?providerUrl=https://some.controlplane.url:7173&requestId=123&BPN=&comment=... +GET https://clientApiWrapperUrl/api/service/c34018ab-5820-4065-9087-416d78e1ab60/productIds/mat345?providerUrl=https://some.controlplane.url:7173&requestId=123&comment=... end note Client_API_Wapper -> Client_EDC: Negotiate access to asset and enable proxy transfer Client_EDC -> Company_EDC: Negotiate access to asset and enable proxy transfer Company_EDC -> Client_EDC: Agreement & EndpointDataReference Client_EDC -> Client_API_Wapper: Agreement & EndpointDataReference -Client_API_Wapper -> Client_EDC: PCF endpoint call incl. req.ID, BPN & comment -Client_EDC -> Company_EDC: PCF endpoint call incl. req.ID, BPN & comment +Client_API_Wapper -> Client_EDC: PCF endpoint call incl. req.ID & comment +Client_EDC -> Company_EDC: PCF endpoint call incl. req.ID & comment note right Using PCF API through EDC via HTTP Proxy: -GET https://{someURL}/productIds/mat345?requestId=123&BPN=&comment=... +GET https://{someURL}/productIds/mat345?requestId=123&comment=... end note -Company_EDC -> Company_PCF_App: PCF endpoint call incl. req.ID, BPN & comment +Company_EDC -> Company_PCF_App: PCF endpoint call incl. req.ID, BPN (Header) & comment note right Can we use existing PCF API directly? @@ -69,7 +69,7 @@ end group Lookup Clients PCF Receive Asset Company_PCF_App -> Company_EDC: Lookup Client's Receive Asset\n(via Company's EDC URL) -Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type "data.pcf.exchangeEndpoint") +Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type '{"@id":"cx-taxo:PcfExchange"}') note right There could be multiple EDC URLs, but only one with a PCF Exchange Asset @@ -79,21 +79,21 @@ Company_EDC -> Company_PCF_App: PCF Asset ID end group Push PCF to Client -Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID, BPN & comment +Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID note right -PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123&BPN=& +PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123 end note Company_API_Wapper -> Company_EDC: Negotiate access to asset and enable proxy transfer Company_EDC -> Client_EDC: Negotiate access to asset and enable proxy transfer Client_EDC -> Company_EDC: Agreement & EndpointDataReference Company_EDC -> Company_API_Wapper: Agreement & EndpointDataReference -Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID & BPN -Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID & BPN +Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID +Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID note right Using PCF API through EDC via HTTP Proxy: -PUT https://{someURL}/productIds/mat345?requestId=123&BPN= +PUT https://{someURL}/productIds/mat345?requestId=123 end note -Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID, BPN & comment +Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID & BPN (Header) PCF_Client -> Client_EDC: OK Client_EDC -> Company_EDC: OK Company_EDC -> Company_API_Wapper: OK diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestAlternatives.puml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestAlternatives.puml similarity index 94% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestAlternatives.puml rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestAlternatives.puml index 79af9645658..dd284b674d0 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFRequestAlternatives.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestAlternatives.puml @@ -9,7 +9,7 @@ end !startsub GetAssetViaType group Discover PCF Asset via Type PCF_Client -> Client_EDC: Lookup Companies PCF Exchange Asset\n(via Company's EDC URL) -Client_EDC -> Company_EDC: Lookup Asset in Catalog\n(EDC asset type "data.pcf.exchangeEndpoint") +Client_EDC -> Company_EDC: Lookup Asset in Catalog\n(EDC asset type '{"@id":"cx-taxo:PcfExchange"}') note left There could be multiple EDC URLs, but only one with a PCF Exchange Asset diff --git a/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestWithoutTwinOrSubmodel.puml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestWithoutTwinOrSubmodel.puml new file mode 100644 index 00000000000..4125e03024b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFRequestWithoutTwinOrSubmodel.puml @@ -0,0 +1,119 @@ +@startuml "PCF Request with missing Twin or Submodel" + +participant PCF_Client +participant Client_API_Wapper +participant Client_EDC +participant EDC_Discovery_Service +participant Company_EDC +participant Company_DTR +participant Company_API_Wapper +participant Company_PCF_App + +group Request PCF value + +group Technical user login (not shown in detail here) +end + +!includesub EDCDiscoveryAnddDTRAccess.puml!EDCDiscovery +!includesub EDCDiscoveryAnddDTRAccess.puml!DTRDiscovery + +group Lookup PCF Submodel of Material Twin +PCF_Client -> Client_EDC: Lookup Twin's Submodel\nin Companies DTR\n(via Company's EDC URL) +Client_EDC -> Company_EDC: Negotiate DTR access & lookup\nTwin's Submodel in Company's DTR\n(using AAS API and materialID) +note right +Lookup Twin ID for material: +GET https://someEDCProxURL/lookup/shells?assetIds=[{"key": "manufacturerPartId","value":"mat345"},{"key": "digitalTwinType","value": "PartType"}] + +Lookup Twin for ID +GET https://someEDCProxURL/registry/shell-descriptors/urn:uuid:c34018ab-5820-4065-9087-416d78e1ab60 + +end note +Company_EDC -> Company_DTR: Lookup Material Twin\nincl. PCF submodel +Company_DTR -> Company_EDC: Not Found! +Company_EDC -> Client_EDC: Not Found! +Client_EDC -> PCF_Client: Not Found! +end + +!includesub PCFRequestAlternatives.puml!GetAssetViaType +group Send Request via EDC Proxying +PCF_Client -> Client_API_Wapper: Invoke asset with reqID & comment +note right +GET https://clientApiWrapperUrl/api/service/c34018ab-5820-4065-9087-416d78e1ab60/productIds/mat345?providerUrl=https://some.controlplane.url:7173&requestId=123&comment=... +end note +Client_API_Wapper -> Client_EDC: Negotiate access to asset and enable proxy transfer +Client_EDC -> Company_EDC: Negotiate access to asset and enable proxy transfer +Company_EDC -> Client_EDC: Agreement & EndpointDataReference +Client_EDC -> Client_API_Wapper: Agreement & EndpointDataReference +Client_API_Wapper -> Client_EDC: PCF endpoint call incl. req.ID & comment +Client_EDC -> Company_EDC: PCF endpoint call incl. req.ID & comment +note right +Using PCF API through EDC via HTTP Proxy: +GET https://{someURL}/productIds/mat345?requestId=123&comment=... +end note +Company_EDC -> Company_PCF_App: PCF endpoint call incl. req.ID, BPN (Header) & comment +note right +Can we use existing +PCF API directly? +If so: no AAS adapter +would be needed! +end note +Company_PCF_App -> Company_EDC: Accepted +Company_EDC -> Client_EDC: Accepted +Client_EDC -> Client_API_Wapper: Accepted +Client_API_Wapper -> PCF_Client: Accepted +end +end + +Company_PCF_App -> Company_PCF_App: Approve PCF Request and\ncalculate PCF if needed + +group Receive/Send PCF value + +group Technical user login (not shown in detail here) +end + +group Lookup Clients's EDC +Company_PCF_App -> EDC_Discovery_Service: Lookup EDC URL (via BPN) +note right +POST https://portal-backend.some.demo.catena-x.net/api/administration/connectors/discovery +{ + [ ] +} +end note +EDC_Discovery_Service -> Company_PCF_App: EDC URL +end + +group Lookup Clients PCF Receive Asset +Company_PCF_App -> Company_EDC: Lookup Client's Receive Asset\n(via Company's EDC URL) +Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type '{"@id":"cx-taxo:PcfExchange"}') +note right +There could be multiple EDC URLs, but +only one with a PCF Exchange Asset +end note +Client_EDC -> Company_EDC: PCF Asset +Company_EDC -> Company_PCF_App: PCF Asset ID +end + +group Push PCF to Client +Company_PCF_App -> Company_API_Wapper: Invoke asset with reqID +note right +PUT https://clientApiWrapperUrl/api/service/20ac18ab-5820-4065-9087-416d78e155cd/productIds/mat345?providerUrl=https://client.controlplane.url:8184&requestId=123 +end note +Company_API_Wapper -> Company_EDC: Negotiate access to asset and enable proxy transfer +Company_EDC -> Client_EDC: Negotiate access to asset and enable proxy transfer +Client_EDC -> Company_EDC: Agreement & EndpointDataReference +Company_EDC -> Company_API_Wapper: Agreement & EndpointDataReference +Company_API_Wapper -> Company_EDC: PCF endpoint call incl. req.ID +Company_EDC -> Client_EDC: PCF endpoint call incl. req.ID +note right +Using PCF API through EDC via HTTP Proxy: +PUT https://{someURL}/productIds/mat345?requestId=123 +end note +Client_EDC -> PCF_Client: PCF endpoint call incl. req.ID, BPN (Header) +PCF_Client -> Client_EDC: OK +Client_EDC -> Company_EDC: OK +Company_EDC -> Company_API_Wapper: OK +Company_API_Wapper -> Company_PCF_App: OK +end +end + +@enduml \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdate.puml b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFUpdate.puml similarity index 82% rename from docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdate.puml rename to docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFUpdate.puml index 67ad46e1667..c1df4efb996 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/PCF Exchange Kit/resources/development-view/PCFUpdate.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/PCF Exchange Kit/resources/development-view/src/PCFUpdate.puml @@ -29,7 +29,7 @@ end group Lookup Clients PCF Receive Asset Company_PCF_App -> Company_EDC: Lookup Client's Receive Asset\n(via Company's EDC URL) -Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type "data.pcf.exchangeEndpoint") +Company_EDC -> Client_EDC: Lookup Asset in Catalog\n(EDC asset type '{"@id":"cx-taxo:PcfExchange"}') note right There could be multiple EDC URLs, but only one with a PCF Exchange Asset @@ -39,9 +39,9 @@ Company_EDC -> Company_PCF_App: PCF Asset ID end group Push PCF to Client -Company_PCF_App -> Company_API_Wapper: Invoke asset with sender's BPN +Company_PCF_App -> Company_API_Wapper: Invoke asset note right -PUT https://clientApiWrapperUrl/api/service/722b7ea2-3bc6-4f9e-a106-b8650d206b69/productIds/mat345?providerUrl=https://client.controlplane.url:8384&BPN= +PUT https://clientApiWrapperUrl/api/service/722b7ea2-3bc6-4f9e-a106-b8650d206b69/productIds/mat345?providerUrl=https://client.controlplane.url:8384 { ...Updated PCF JSON in Body... } @@ -50,14 +50,14 @@ Company_API_Wapper -> Company_EDC: Negotiate access to asset and enable proxy tr Company_EDC -> Client_EDC: Negotiate access to asset and enable proxy transfer Client_EDC -> Company_EDC: Agreement & EndpointDataReference Company_EDC -> Company_API_Wapper: Agreement & EndpointDataReference -Company_API_Wapper -> Company_EDC: PCF endpoint call incl. sender's BPN -Company_EDC -> Client_EDC: PCF endpoint call incl.sender's BPN +Company_API_Wapper -> Company_EDC: PCF endpoint call +Company_EDC -> Client_EDC: PCF endpoint call note right Using PCF API through EDC via HTTP Proxy: -PUT https://{someURL}/productIds/mat345?BPN= +PUT https://{someURL}/productIds/mat345 { ... } end note -Client_EDC -> PCF_Client: PCF endpoint call incl. sender's BPN +Client_EDC -> PCF_Client: PCF endpoint call incl. sender's BPN (EDC header) PCF_Client -> Client_EDC: OK Client_EDC -> Company_EDC: OK Company_EDC -> Company_API_Wapper: OK diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..fb626f8ffa7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,932 @@ +--- +id: Software Development PURIS Kit +title: Software Development View +description: "PURIS Kit" +sidebar_position: 3 +--- + +![puris kit banner](/img/kit-icons/puris-kit-icon.svg) + +## Introduction + +The Development View provides information and resources for implementing the PURIS standards.. The architecture chapter +describes the interactions of all components in the PURIS context as well as the shared asset approach. The policies +chapter describes the access policies, usage policies, contract definitions and include information about the framework +agreement. The protocol chapter gives examples how the connector data asset is registered and how shell descriptors are +created. In the chapter sample data the PURIS aspect models are defined with a reference to the turtle file and an +example JSON payload. For the ready PURIS implementation and quick installation guides, please see Operation View. + +## Architecture + +This chapter shows the interactions of all necessary components required to fulfill the PURIS standards. + +Also the standards' transferred data objects are shown in the Catena-X context of registered assets. + +### Component Architecture (High-Level View) + +Figure 1 shows the high-level architecture of the Submodel exchange in the Catena-X dataspace and the services that are +involved. Both the data provider and the data consumer must be members of the Catena-X network in order to communicate +with each other. With the help of the Identity Access Management (IAM) each participant can authenticate itself, verify +the identity including associated claims (see Usage Purpose section) of the requesting party and decide whether to +authorize the request. For a local deployment of the portal including the IAM components, please refer to +the [umbrella helm chart](https://github.com/eclipse-tractusx/tractus-x-umbrella "https://github.com/eclipse-tractusx/tractus-x-umbrella"). +The data is provisioned in accordance with +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) +in Catena-X. The architecture in this figure only applies to standards that are based on the Digital Twins in +Catena-X ([Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). + +![PURIS Conceptual Levels](resources/PURIS-R2405-architecture-sketch.svg) +_Figure 1: High-level architecture of the submodel exchange in the Catena-X dataspace_ + +### Component Architecture (Conceptual Whitebox View) + +From conceptual point of view a PURIS system consists of different building blocks. These building blocks in the +following diagram show which participant deploys which components. Identification and Access Management is omitted for +simplicity reasons. + +![Whitebox View](resources/PURIS-KIT-24.08-Whitebox.svg) +_Figure 2: Whitebox view on a PURIS system_ + +The PURIS App is a software application that allows to exchange relevant data with partners. It's meant to + +- Provide data following the shared asset approach (see Digital Twin KIT). It manages the Digital Twin Registry (AAS + Registry and AAS Discovery API) and provides the data in the correct format via Submodel API. +- Manage the apis and assets in the Connector ( + see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit)). + +The following components are needed for the communication based on the PURIS standard: + +- PURIS App: Component orchestrating the Data Exchange following this KIT (as explained above) while providing business + value. +- Connector: Component that manages data and API as assets to enable the sovereign data exchange (see Connector KIT) +- Digital Twin Registry: Component that provides AAS Registry and AAS Discovery API implementations (see Digital Twin + KIT) +- Data Provisioning & Transformation: Proprietary component allowing to use OWN data or to use PURIS data in internal + systems. +- Identity and Access Management (IAM): Identity Provider spanning authentication and authorization within Catena-X + and / or your company. Includes the Credential Service to proof e.g. that a participant signed the Framework + Agreement. + +Beside that a partner may use the Discovery Service in Catena-X to determine the EDC for a partner based on a Business +Partner Number Legal Entity. As there already exists a contractual basis, this information in the PURIS context can be +considered as known a-priori. + +### Distribution of aspects in shared asset approach + +Figure 2 shows how the shared asset approach is realized. The orange lines show which submodels belong to the respective +AAS. All specific submodels are bound to the specific Part Type's context e.g., meaning that each aspect is described +for the specific catalog item on supplier and customer side represented by the AASs. +See [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) for more information on +the shared asset approach. + +The orange submodels are the submodels used within this standard's context. + +The grey submodels are used within +the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit) ( +_PartTypeInformation, SingleLevelBomAsPlanned, SingleLevelUsageAsPlanned_). Besides PartTypeInformation on +supplier-side, no other models are mandatory. The Bill Of Material (BOM) and usage models can be used to build data +chains, if the partners align to ( +see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit)). This KIT relies +on the "_Part Type_" life cycle of the Industry Core representing catalog items after sourcing. + +The blue dashed lines show the references between DTs based on Catena-X UUIDs and BPNL information that may be resolved +by the Item Relationship Service ( +see [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit), [Data Chain KIT](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit) +and [Traceability KIT](https://eclipse-tractusx.github.io/docs-kits/category/traceability-kit)). + +The shared asset approach shown in figure 2 is one of the patterns described in the Digital Twin KIT. It preserves the +sovereignty by provisioning the aspect on on the owning partner's side creating a common view on the asset. A shared +asset approach is needed whenever the customer provides data for a part type digital twin. The following implications +apply: + +- The supplier generates the Catena-X ID and provides the aspect model _PartTypeInformation_ while the customer reuses + the generated Catena-X ID for his digital twin representation (see Industry Core KIT). +- If only the supplier would provide the Planned Production Output, no digital twin representation would be needed on + the customer-side. +- Also if only the customer provides information (e.g. Short-Term Material Demand), the supplier needs to create the + digital twin first so that the customer can create his representation. +- While one supplier side twin can be created to handle multiple customers, a customer must create the representation of + the specific twin per supplier - also if it's the same part type from customer point of view. + +Note: from business point of view a quid-pro-quo principle of exchanged information is recommended (stock for stock, +production for demand, delivery information as needed based inco term, days of supply for days of supply). + +![Conceptual Levels](resources/PURIS-Conceptual-levels-R2405.svg) +_Figure 3: Conceptual levels of provisioning digital twins in the shared asset approach_ + +## Policies + +This chapter describes the access & usage policies as well as the contract definitions. For more information on the +access & usage policies, please refer to +the [policies documentation in the tractusx-edc repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md) + +### Access Policies + +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the +connector, as described in +the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit). + +To decide which company has access to the data assets, access policy should be used. Note that without protecting data +assets with access policies, they become publicly available in the Catena-X network which is not recommended. + +Therefore, every asset should be protected and only be made available through specified BPNL policy groups or specific +BPNL policies. For a detailed description, +see [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +#### BPNL Access Policy + +This policy allows limiting access to a data offer based on a list of specific BPNLs. This translates to the following +functionality: + +- The data offer creator will be able to create a policy listing all the BPN that can access the data offer. +- This means that only the connectors registered in the Catena-X network with the BPNL listed in the policy can see the + data offer and accept it (for the creation of data contracts and subsequent data exchange). + +#### Implementation Hint + +Examples including a JSON payload for a BPNL group access policy are described in +the [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +This reference implementation also provides an extension to add the BPNL of the requesting party to the header of a +proxied request. As a result, during implementation one can use this bpnl to design the internal submodel api design. + +### Usage Policies + +To decide which company can use the data asset under specific conditions, usage policies (also referred to as contract +policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. +Currently, the usage policies aren't technically enforced but based on a legal framework agreements. Signing of +framework agreements can be enforced during negotiation depending on the connector implementation. + +Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way +of formulating policy payloads. It further allows to stack different constraints with the `odrl:and` operator. +Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the +network. It is recommended to restrict the data usage for all exchanged data standards. An example of one usage policy +containing three different constraints is shown and described in the following: + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "", // Important for the contract definition + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "@type": "LogicalConstraint", + "and": [ + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "Puris:1.0" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.puris.base:1" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:ContractReference", + "operator": "eq", + "rightOperand": "x12345" + } + ] + } + } + ] + } +} +``` + +PURIS relies on the usage purpose [cx.puris.base:1](https://github.com/catenax-eV/cx-odrl-profile/blob/main/profile.md), +used in the example above. It's purpose is related to "_Optimizing processes, which includes, without limitation, +regular exchange of data to prevent and/or solve shortages in the supply chain, conducting plausibility checks against +other sources and/or collecting information to facilitate sound decision making, all of the above in the context of +predictive unit real-time information relating to production and/or logistics._" + +More information can be found in +the [Policies in Catena-X of the Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view_policies_cx/). + +### Contract Definitions + +In the connector, every policy is associated with a contract. Thus, a contract definition is needed, detailing what +policies are required when contracting assets. + +When using an above mentioned Access Policy, their `ACCESS_POLICY_ID` needs to be included as a value of +the `accessPolicyId` key in the contract definition. + +When using an above mentioned Usage Policy, their `CONTRACT_POLICY_ID` needs to be included as a value of +the `contractPolicyId` key in the contract definition. + +```json +{ + "id": "{{CONTRACT_DEFINITION_ID}}", + "criteria": [ + { + "operandLeft": "asset:prop:id", + "operator": "=", + "operandRight": "{{ASSET_ID}}" + } + ], + "accessPolicyId": "{{ACCESS_POLICY_ID}}", + "contractPolicyId": "{{CONTRACT_POLICY_ID}}" +} +``` + +For a more detailed tutorial on creating contracts for assets, see +in [Chapter 3 of the End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/boost/provideData). + +## Protocol + +This chapter contains data structures that are designed for providing data in the PURIS standards. + +The PURIS KIT does not define its own protocol, as it is using the communication pattern described in +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns) +and relies on +the [Part Type Twin definitions of the Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Industry%20Core%20Kit/Software%20Development%20View/Digital%20Twins%20Development%20View%20Industry%20Core%20Kit). + +Examples of how the required data structures for that pattern may look like for PURIS are described in this chapter. + +### Connector Data Asset Structure + +To allow partners to find data regarding a specific Industry Core Part Type Twin, the provider has to register a +connector data asset (see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) +specifying the address of the Digital Twin Registry of the provider ( +see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns)). + +The structure is as follows: + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "http://purl.org/dc/terms/" + }, + "@id": "{{CONNECTOR_ASSET_ID}}", // defined by yourself + "properties": { + "dct:type": { "@id": "cx-taxo:DigitalTwinRegistry" }, + "cx-common:version": "3.0" + }, + "privateProperties": {}, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ DIGITAL_TWIN_REGISTRY_ENDPOINT }}", + "proxyQueryParams": "true", + "proxyBody": "false", + "proxyPath": "true", + "proxyMethod": "false" + } +} +``` + +The property **_@id_** must uniquely identify the connector data asset. + +Other fields are predetermined by the used standard and protocol. + +### Connector Data Asset Structure for "Submodel" + +In order to allow partners to receive the actual aspect model data (e.g. Item Stock, +see [all PURIS semantic models](https://eclipse-tractusx.github.io/docs-kits/kits/PURIS%20Kit/Adoption%20View%20PURIS%20Kit#semantic-models)), +the provider has to register a connector data asset ( +see [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit)) specifying the address of +the submodel endpoint ( +see [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/digital-twin-kit)) providing the +actual data. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "http://purl.org/dc/terms/", + "aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/" + }, + "@id": "{{CONNECTOR_ASSET_ID}}", // defined by yourself + "properties": { + "dct:type": { "@id": "cx-taxo:Submodel" }, + "cx-common:version": "3.0", + "aas-semantics:semanticId": { + "@id": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock" + } + }, + "privateProperties": {}, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ SUBMODEL_ENDPOINT }}", + "proxyQueryParams": "false", + "proxyBody": "false", + "proxyPath": "true", + "proxyMethod": "false" + } +} +``` + +The property **_@id_** must uniquely identify the connector data asset. + +Other fields are predetermined by the used standard and protocol. + +Especially the semantic ID can be found in the Sample Data chapter and has to match the aspect model to be transferred. +Currently the PURIS standards restrict the user to not use the repository approach as the semantic id is mandatory for +the asset. + +### Shell Descriptors + +The Shell Descriptor defines the metadata of the Industry Core Part Type Twin. The following example Shell Descriptor +represents a the Shell Descriptor of a supplier who provides access to an "_Item Stock_" submodel ( +see [GitHub](https://github.com/eclipse-tractusx/sldt-semantic-models)) for two customers using the legacy access +control in the Digital Twin Registry reference implementation. For further information on the creation of Part Type +Twins, refer to +the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/next/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-software-development-view) +and the [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/industry-core-kit). + +When searching the data assets catalog of a data provider, a data consumer uses the assetId determined via +subprotocolBody of the Submodel Descriptor's endpoint definition of subprotocol type "DSP" of the Submodel Descriptor of +interest. + +The relevant Submodel can be identified based on the semantic Id (see Sample Data chapter). + +```json +{ + "id": "{{TECHNIAL_TWIN_ID}}", + "globalAssetId": "{{MATERIAL_NUMBER_CX}}", + "idShort": "Semiconductor", + "specificAssetIds": [ + { + "name": "digitalTwinType", + "value": "PartType", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" + } + ] + } + }, + { + "name": "manufacturerPartId", + "value": "{{MATERIAL_NUMBER_SUPPLIER}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" + } + ] + } + }, + { + "name": "manufacturerId", + "value": "{{SUPPLIER_BPNL}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" + } + ] + } + }, + { + "name": "customerPartId", + "value": "{{MATERIAL_NUMBER_CUSTOMER}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{CUSTOMER_BPNL}}" + } + ] + } + }, + { + "name": "customerPartId", + "value": "{{MATERIAL_NUMBER_OTHER_CUSTOMER}}", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{SUPPLIER_BPNL}}" + }, + { + "type": "GlobalReference", + "value": "{{OTHER_CUSTOMER_BPNL}}" + } + ] + } + } + ], + "submodelDescriptors": [ + { + "id": "e5c96ab5-896a-482c-8761-efd74777ca97", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ] + }, + { + "id": "a6c96ab5-896a-482c-8761-efd74777ca99", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ] + } + ] +} +``` + +## Sample Data + +The semantic models in the business context are defined in the PURIS Adoption View. This chapter gives additional +information for each aspect model by providing the example data objects in JSON format, link to the RDF turtle file on +GitHub and unique semantic id of the aspect model. + +### 1. Item Stock v.2.0.0 + +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.item_stock/2.0.0/ItemStock.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.item_stock/2.0.0/ItemStock.ttl) + +This aspect model has the following semantic id: + +```text +urn:samm:io.catenax.item_stock:2.0.0#ItemStock +``` + +**Example:** Item stock of 20 pieces for an order position of a given material with the Catena-X ID "urn:uuid: +48878d48-6f1d-47f5-8ded-a441d0d879df". This data object is created by the customer for its supplier, therefore with a +direction "INBOUND". + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" + }, + "allocatedStocks": [ + { + "isBlocked": false, + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "quantityOnAllocatedStock": { + "value": 20.0, + "unit": "unit:piece" + }, + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ] + } + ], + "direction": "INBOUND" +} +``` + +### 2. Short-Term Material Demand v1.0.0 + +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.short_term_material_demand/1.0.0/ShortTermMaterialDemand.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.short_term_material_demand/1.0.0/ShortTermMaterialDemand.ttl) + +This aspect model has the following semantic id: + +```json +urn:samm:io.catenax.short_term_material_demand:1.0.0#ShortTermMaterialDemand +``` + +**Example 1:** A demand quantity of 180 pieces with a demand category "series" and a demand quantity of 100 pieces with +demand category "after-sales" for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". The +customer location varies for the different demand series. This Short-Term Material Demand is the demand that a supplier +received from a customer. + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "demandSeries": [ + { + "lastUpdatedOnDateTime": "2023-11-05T08:15:30.123-05:00", + "expectedSupplierLocation": "BPNS8888888888XX", + "demands": [ + { + "demand": { + "value": 180.0, + "unit": "unit:piece" + }, + "day": "2023-10-09" + } + ], + "customerLocation": "BPNS8888888888XX", + "demandCategory": { + "demandCategoryCode": "SR99" + } + }, + { + "expectedSupplierLocation": "BPNS8888888888XX", + "lastUpdatedOnDateTime": "2023-11-05T08:15:30.123-05:00", + "demands": [ + { + "demand": { + "value": 100.0, + "unit": "unit:piece" + }, + "day": "2023-10-09" + } + ], + "customerLocation": "BPNS5555555555XX", + "demandCategory": { + "demandCategoryCode": "A1S1" + } + } + ] +} +``` + +### 3. Delivery Information v2.0.0 + +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.delivery_information/2.0.0/DeliveryInformation.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.delivery_information/2.0.0/DeliveryInformation.ttl) + +This aspect model has the following semantic id: + +```text +urn:samm:io.catenax.delivery_information:2.0.0#DeliveryInformation +``` + +The JSONs snippets below provide an example of the value-only serialization of the "_DeliveryInformation_" aspect model +for three different delivery situations: + +1. A not yet departed delivery - estimated departure and arrival dates +2. A delivery in transit - actual departure and estimated arrival dates +3. A delivery with actual arrival times - actual departure and arrival dates + +**Example 1:** The order has not yet departed from its origin, as is indicated by the estimated values for both +departure and arrival (see transitEvents property). This is an example of estimated delivery. + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" + }, + "deliveries": [ + { + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "estimated-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "estimated-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } + } + ] + } + ] +} +``` + +**Example 2:** The status of this delivery is currently in transit, denoted by the actual departure and estimated +arrival values (see transitEvents property). + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" + }, + "deliveries": [ + { + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "actual-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "estimated-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } + } + ] + } + ] +} +``` + +**Example 3:** As seen from the actual departure and actual arrival values (see transitEvents property), this is an +example of a completed delivery. + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "positions": [ + { + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" + }, + "deliveries": [ + { + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "deliveryQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "transitEvents": [ + { + "dateTimeOfEvent": "2023-04-01T14:23:00+01:00", + "eventType": "actual-departure" + }, + { + "dateTimeOfEvent": "2023-04-05T14:23:00+01:00", + "eventType": "actual-arrival" + } + ], + "trackingNumber": "1Z9829WDE02128", + "incoterm": "EXW", + "transitLocations": { + "destination": { + "bpnsProperty": "BPNS0000000410ZZ", + "bpnaProperty": "BPNA0000002082ZZ" + }, + "origin": { + "bpnsProperty": "BPNS0000000185ZZ", + "bpnaProperty": "BPNA0000001982ZZ" + } + } + } + ] + } + ] +} +``` + +### 4. Planned Production Output Exchange v2.0.0 + +GitHub link to semantic data model in RDF turtle +format: [https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/8e4b33858008c2bff56885904ce1e1f3cdef59da/io.catenax.planned_production_output/2.0.0/PlannedProductionOutput.ttl) + +This aspect model has the following semantic id: + +```text +urn:samm:io.catenax.planned_production_output:2.0.0#PlannedProductionOutput +``` + +**Example:** The _Planned Production Output_ quantities for three consecutive days in two different sites (BPNS) for a +material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df". + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "positions": [ + { + "lastUpdatedOnDateTime": "2023-04-01T14:23:00+01:00", + "orderPositionReference": { + "supplierOrderId": "M-Nbr-4711", + "customerOrderId": "C-Nbr-4711", + "customerOrderPositionId": "PositionId-01" + }, + "allocatedPlannedProductionOutputs": [ + { + "plannedProductionQuantity": { + "value": 10.0, + "unit": "unit:piece" + }, + "productionSiteBpns": "BPNS0123456789ZZ", + "estimatedTimeOfCompletion": "2023-04-01T14:23:00+01:00" + }, + { + "plannedProductionQuantity": { + "value": 20.0, + "unit": "unit:piece" + }, + "productionSiteBpns": "BPNS0123456789YZ", + "estimatedTimeOfCompletion": "2023-04-02T14:23:00+01:00" + }, + { + "plannedProductionQuantity": { + "value": 10.0, + "unit": "unit:piece" + }, + "productionSiteBpns": "BPNS0123456789ZZ", + "estimatedTimeOfCompletion": "2023-04-03T14:23:00+01:00" + } + ] + } + ] +} +``` + +### 5. Days of Supply v2.0.0 + +GitHub link to semantic data model in RDF turtle +format: + +This aspect model has the following semantic id: + +```text +urn:samm:io.catenax.days_of_supply:2.0.0#DaysOfSupply +``` + +**Example 1:** The _Days of Supply_ for a material with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" for +one specific date. This data object is send from a customer to its supplier. The direction INBOUND (or incoming) +specifies that the value of days of supply refers to the amount of days in which the customer's _Item Stock_ (material +stock) is sufficient for the customer's _Short-Term Material Demand_. + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "allocatedDaysOfSupply": [ + { + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "amountOfAllocatedDaysOfSupply": [ + { + "date": "2024-01-01T14:23:00+01:00", + "daysOfSupply": 3.51 + } + ], + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ], + "direction": "INBOUND" +} +``` + +**Example 2**: The _Days of Supply_ for a product with Catena-X ID "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df" for +three specific dates. This data object is send from a supplier to its customer. The direction OUTBOUND (or outgoing) +specifies that the value of days of supply refers to the amount of days in which the supplier's _Item Stock_ (product +stock) is sufficient for the supplier's scheduled deliveries (see _Delivery Information_ standard). + +```json +{ + "materialGlobalAssetId": "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df", + "allocatedDaysOfSupply": [ + { + "stockLocationBPNA": "BPNA1234567890ZZ", + "lastUpdatedOnDateTime": "2023-04-28T14:23:00.123456+14:00", + "amountOfAllocatedDaysOfSupply": [ + { + "date": "2024-02-01T14:23:00+01:00", + "daysOfSupply": 3.51 + }, + { + "date": "2024-02-02T14:23:00+01:00", + "daysOfSupply": 4.25 + }, + { + "date": "2024-02-03T14:23:00+01:00", + "daysOfSupply": 2.78 + } + ], + "stockLocationBPNS": "BPNS1234567890ZZ" + } + ], + "direction": "OUTBOUND" +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg new file mode 100644 index 00000000000..a39dff78a0a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    represents same material
                                    equivalent specific asset IDs, global asset ID,
                                    different AAS ID
                                    represents same material...
                                    PartType for Material (e.g. "Semiconductor")
                                    PartType for Material...
                                    Supplier
                                    Supplier
                                    Customer
                                    Custom...
                                    Asset
                                    registered in dDTR as AAS
                                    Asset...
                                    Submodel
                                    Submodel
                                    PartType for Material "Control Unit"
                                    PartType for Materia...
                                    Item Stock
                                    (Direction = Outgoing)
                                    Item Stock...
                                    Item Stock
                                    (Direction = Incoming)
                                    Item Stock...
                                    PartTypeInformation
                                    PartTypeInformation
                                    SingleLevelUsageAs Planned
                                    SingleLevelUsageAs P...
                                    references twin
                                    references twin
                                    PartTypeInformation
                                    PartTypeInformation
                                    SingleLevel
                                    BomAsPlanned
                                    SingleLevel...
                                    references twin
                                    references twin
                                    submodel of
                                    submodel of
                                     Legend
                                     Legend
                                    Digital Twin in DTR
                                    Digital Twin in DTR
                                    Submodel (this KIT)
                                    Submodel (this KIT)
                                    Submodel (IC Part Type)
                                    Submodel (IC Part Type)
                                    submodel of
                                    submodel of
                                    references twin
                                    references twin
                                    PartType for Material "Semiconductor"
                                    PartType for Materia...
                                    Short-Term Material Demand
                                    Short-Term Material Dem...
                                    Delivery Information
                                    (Inco Term dependent)
                                    Delivery Information...
                                    Planned Production Output
                                    Planned Production Outp...
                                    Delivery Information
                                    (Inco Term dependent)
                                    Delivery Information...
                                    Days of Supply
                                    (Direction = Outgoing)
                                    Days of Supply...
                                    Days of Supply
                                    (Direction = Incoming)
                                    Days of Supply...
                                    submodel of
                                    submodel of
                                    submodel of
                                    submodel of
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license new file mode 100755 index 00000000000..dc254b0d581 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-Conceptual-levels-R2405.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg new file mode 100644 index 00000000000..402af7add38 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg @@ -0,0 +1,3 @@ + + +
                                    represents same material
                                    equivalent specific asset IDs, global asset ID,
                                    different AAS ID
                                    represents same material...
                                    PartType for Material (e.g. "Semiconductor")
                                    PartType for Material...
                                    Supplier
                                    Supplier
                                    Customer
                                    Custom...
                                    Asset
                                    registered in dDTR as AAS
                                    Asset...
                                    Submodel
                                    Submodel
                                    PartType for Material "Control Unit"
                                    PartType for Materia...
                                    Item Stock
                                    (Direction = Outgoing)
                                    Item Stock...
                                    Item Stock
                                    (Direction = Incoming)
                                    Item Stock...
                                    PartTypeInformation
                                    PartTypeInformation
                                    SingleLevelUsageAs Planned
                                    SingleLevelUsageAs P...
                                    references twin
                                    references twin
                                    PartTypeInformation
                                    PartTypeInformation
                                    SingleLevel
                                    BomAsPlanned
                                    SingleLevel...
                                    references twin
                                    references twin
                                    submodel of
                                    submodel of
                                     Legend
                                     Legend
                                    Digital Twin in DTR
                                    Digital Twin in DTR
                                    Submodel (this KIT)
                                    Submodel (this KIT)
                                    Submodel (IC Part Type)
                                    Submodel (IC Part Type)
                                    submodel of
                                    submodel of
                                    references twin
                                    references twin
                                    PartType for Material "Semiconductor"
                                    PartType for Materia...
                                    Short-Term Material Demand
                                    Short-Term Material Dem...
                                    Delivery Information
                                    (Inco Term dependent)
                                    Delivery Information...
                                    Planned Production Output
                                    Planned Production Outp...
                                    Delivery Information
                                    (Inco Term dependent)
                                    Delivery Information...
                                    Days of Supply
                                    (Direction = Outgoing)
                                    Days of Supply...
                                    Days of Supply
                                    (Direction = Incoming)
                                    Days of Supply...
                                    submodel of
                                    submodel of
                                    submodel of
                                    submodel of
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license new file mode 100644 index 00000000000..dc254b0d581 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-Conceptual-levels-R2405.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-Conceptual-levels-R2405.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg new file mode 100644 index 00000000000..97177abc934 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    «data ecosystem»
                                    Catena-X
                                    «data ecosystem»...
                                    «system»
                                    PURIS (OTHER PARTNER)
                                    «system»...
                                    «system»
                                    PURIS
                                    «system»...
                                    «subsystem»
                                    Data Provisioning
                                    & Transformation
                                    «subsystem»...
                                    Submodel API
                                    Submodel API
                                    «subsystem»
                                    PURIS App
                                    «subsystem»...
                                    View Catalog (Data Offers),
                                    Negotiate Contracts,
                                    Initialize Data Transfer,
                                    Perform Data Transfer
                                    View Catalog (Data Offers),...
                                    Lookup Twin and
                                    Submodels via proxy
                                    Lookup Twin and...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    Receive OWN Data
                                    Receive OWN Data
                                    Register Digital Twin Registry
                                    Register Submodels as Assets
                                    Query Partner Data,
                                    Negotiate Contract,
                                    Initialize Data Transfer
                                    Register Digital Twin Registry...
                                    «Service»
                                    Discovery Service
                                    «Service»...
                                    Update OWN data
                                    Transform PARTNER data
                                    Update OWN data...
                                    Lookup Twin
                                    and Submodel
                                    Lookup Twin...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    «subsystem»
                                    PURIS App
                                    «subsystem»...
                                    Provide Data
                                    Provide Data
                                    Provide Data to Partner
                                    via Proxy
                                    Provide Data to Partner...
                                    Lookup partners' EDC address
                                    Lookup partners' EDC address
                                    Internal Systems
                                    I...
                                    Other interaces
                                    O...
                                    «subsystem»
                                    Digital Twin Registry
                                    «subsystem»...
                                    Retrieve OWN Data
                                    Retrieve OWN Data
                                    Reqister / Update Shell Descriptor with
                                     Submodel Descriptor
                                    Reqister / Update Shell Descri...
                                    AAS Discovery API
                                    AAS Discovery API
                                    AAS Discovery API
                                    AAS Registry API
                                    AAS Discovery API...
                                    «subsystem»
                                    Digital Twin Registry
                                    «subsystem»...
                                    Submodel API
                                    Submodel API
                                    AAS Discovery API
                                    AAS Discovery API
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license new file mode 100755 index 00000000000..79dea71f211 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-KIT-24.08-Whitebox.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg new file mode 100644 index 00000000000..d6bd1358e8f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg @@ -0,0 +1,3 @@ + + +
                                    «data ecosystem»
                                    Catena-X
                                    «data ecosystem»...
                                    «system»
                                    PURIS (OTHER PARTNER)
                                    «system»...
                                    «system»
                                    PURIS
                                    «system»...
                                    «subsystem»
                                    Data Provisioning
                                    & Transformation
                                    «subsystem»...
                                    Submodel API
                                    Submodel API
                                    «subsystem»
                                    PURIS App
                                    «subsystem»...
                                    View Catalog (Data Offers),
                                    Negotiate Contracts,
                                    Initialize Data Transfer,
                                    Perform Data Transfer
                                    View Catalog (Data Offers),...
                                    Lookup Twin and
                                    Submodels via proxy
                                    Lookup Twin and...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    Receive OWN Data
                                    Receive OWN Data
                                    Register Digital Twin Registry
                                    Register Submodels as Assets
                                    Query Partner Data,
                                    Negotiate Contract,
                                    Initialize Data Transfer
                                    Register Digital Twin Registry...
                                    «Service»
                                    Discovery Service
                                    «Service»...
                                    Update OWN data
                                    Transform PARTNER data
                                    Update OWN data...
                                    Lookup Twin
                                    and Submodel
                                    Lookup Twin...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    «subsystem»
                                    PURIS App
                                    «subsystem»...
                                    Provide Data
                                    Provide Data
                                    Provide Data to Partner
                                    via Proxy
                                    Provide Data to Partner...
                                    Lookup partners' EDC address
                                    Lookup partners' EDC address
                                    Internal Systems
                                    I...
                                    Other interaces
                                    O...
                                    «subsystem»
                                    Digital Twin Registry
                                    «subsystem»...
                                    Retrieve OWN Data
                                    Retrieve OWN Data
                                    Reqister / Update Shell Descriptor with
                                     Submodel Descriptor
                                    Reqister / Update Shell Descri...
                                    AAS Discovery API
                                    AAS Discovery API
                                    AAS Discovery API
                                    AAS Registry API
                                    AAS Discovery API...
                                    «subsystem»
                                    Digital Twin Registry
                                    «subsystem»...
                                    Submodel API
                                    Submodel API
                                    AAS Discovery API
                                    AAS Discovery API
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license new file mode 100644 index 00000000000..79dea71f211 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-KIT-24.08-Whitebox.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-KIT-24.08-Whitebox.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg new file mode 100644 index 00000000000..fcac834a754 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Data Provider
                                    Data Provider
                                    Connector
                                    Connector
                                    Busines Application
                                    Busines App...
                                    Catena-X Core Service Provider
                                    Catena-X Core Service Provider
                                    IAM
                                    IAM
                                    Shared Identity Provider
                                    Shared Ident...
                                    Central Identity Provider
                                    Central Iden...
                                    Credential Service
                                    Credential S...
                                    BPN-DID Resolution Service
                                    BPN-DID Reso...
                                    Data Consumer
                                    Data Consumer
                                    Connector
                                    Connector
                                    Busines Application
                                    Busines Applicati...
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                    (8) Get Submodel
                                    (8) Get Su...
                                    (5) Query dDTR for Twin and submodel
                                    (5) Query dDTR for Twin and submodel
                                    (4) Connector Communication
                                      (Catalog / Contracting / Transfer)  
                                    (4) Connector Communication...
                                    dDTR
                                    dDTR
                                    Submodel Endpoint
                                    Submodel E...
                                    (10) Get Submodel
                                    (10) Get S...
                                    (3) Register Twin
                                    with Submodels
                                    (3) Register Twin...
                                    (2) Register Submodel Endpoint
                                     at Connector
                                    (2) Register Submodel Endpoint...
                                    (9)
                                    (9)
                                    Text
                                    Text
                                    (6) Get lookup/shells
                                    by specific asset ids
                                    (6) Get lookup/shells...
                                    (1) Register dDTR at Connector
                                    (1) Register dDTR at Connector
                                    (7) Get shell-descriptors
                                    by AAS ID
                                    (7) Get shell-descriptors...
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license new file mode 100755 index 00000000000..f089cee51e3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-R2405-architecture-sketch.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg new file mode 100644 index 00000000000..534f4d4f49f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg @@ -0,0 +1,3 @@ + + +
                                    Data Provider
                                    Connector
                                    Busines Application
                                    Catena-X Core Service Provider
                                    IAM
                                    Shared Identity Provider
                                    Central Identity Provider
                                    Credential Service
                                    BPN-DID Resolution Service
                                    Data Consumer
                                    Connector
                                    Busines Application
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                    (8) Get Submodel
                                    (5) Query dDTR for Twin and submodel
                                    (4) Connector Communication
                                      (Catalog / Contracting / Transfer)  
                                    dDTR
                                    Submodel Endpoint
                                    (10) Get Submodel
                                    (3) Register Twin
                                    with Submodels
                                    (2) Register Submodel Endpoint
                                     at Connector
                                    (9)
                                    Text
                                    (6) Get lookup/shells
                                    by specific asset ids
                                    (1) Register dDTR at Connector
                                    (7) Get shell-descriptors
                                    by AAS ID
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license new file mode 100644 index 00000000000..f089cee51e3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/Software Development View/resources/PURIS-R2405-architecture-sketch.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/resources/PURIS-R2405-architecture-sketch.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg new file mode 100644 index 00000000000..e2acc8e369f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Short Term Material Demand
                                    Item Stock
                                    Delivery Information
                                    Days of Supply
                                    SC Disruption Notification
                                    Planned Production Output
                                    Item Stock
                                    Delivery Information
                                    Days of Supply
                                    SC Disruption Notification
                                    Data Exchange
                                    Data Exchange
                                    Customer
                                    Tier-n
                                    Tier-2
                                    OEM
                                    Tier-1
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license new file mode 100755 index 00000000000..c403e99de11 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/PURIS_KIT_overview.drawio.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg new file mode 100644 index 00000000000..26545464717 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg @@ -0,0 +1,3 @@ + + +
                                    Short Term Material Demand
                                    Item Stock
                                    Delivery Information
                                    Days of Supply
                                    SC Disruption Notification
                                    Planned Production Output
                                    Item Stock
                                    Delivery Information
                                    Days of Supply
                                    SC Disruption Notification
                                    Data Exchange
                                    Data Exchange
                                    Customer
                                    Tier-n
                                    Tier-2
                                    OEM
                                    Tier-1
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license new file mode 100644 index 00000000000..29155d66dcf --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/PURIS_KIT_overview.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/PURIS_KIT_overview.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg new file mode 100644 index 00000000000..0c1d1ae6492 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    • Production Plan
                                    • Stocks
                                    • Demand
                                    • ...
                                    PURIS & ecosystem, showing the novelty and value-added process
                                    In addition to improving the traditional management of shortage cases, PURIS enables continuous monitoring of critical parts to proactively prevent supply chain bottlenecks.
                                    Supplier
                                    Shortage Management
                                    .xls
                                    Customer
                                    Shortage Management
                                    Supplier
                                    Shortage Management
                                    Customer
                                    Shortage Management
                                    Monitoring
                                    Monitoring
                                    • Production plan
                                    • Stocks
                                    • Demands
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg.license new file mode 100755 index 00000000000..769aeab3475 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.drawio.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/example-use-case.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg new file mode 100644 index 00000000000..6a61fc8e283 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg @@ -0,0 +1,3 @@ + + +
                                    • Production Plan
                                    • Stocks
                                    • Demand
                                    • ...
                                    PURIS & ecosystem, showing the novelty and value-added process
                                    In addition to improving the traditional management of shortage cases, PURIS enables continuous monitoring of critical parts to proactively prevent supply chain bottlenecks.
                                    Supplier
                                    Shortage Management
                                    .xls
                                    Customer
                                    Shortage Management
                                    Supplier
                                    Shortage Management
                                    Customer
                                    Shortage Management
                                    Monitoring
                                    Monitoring
                                    • Production plan
                                    • Stocks
                                    • Demands
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg.license b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg.license new file mode 100644 index 00000000000..769aeab3475 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/assets/example-use-case.svg.license @@ -0,0 +1,9 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/docs-kits/kits/PURIS%20Kit/assets/example-use-case.svg diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_adoption-view.md new file mode 100644 index 00000000000..dcbedcf2b69 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_adoption-view.md @@ -0,0 +1,188 @@ +--- +id: Adoption View PURIS Kit +title: Adoption View +description: "PURIS Kit" +sidebar_position: 2 +--- + +![PURIS kit banner](/img/kit-icons/puris-kit-icon.svg) + +### PURIS Kit + +## Vision & Mission + +### Vision + +**_Revolutionizing the Global Supply Chain Ecosystem with Integrated, Proactive Data Sharing and Collaboration_** + +The introduction of the **P**redictive **U**nit **R**eal-Time **I**nformation **S**ervice (PURIS) enriches a company's resilience strategy through standardized data sharing, giving stakeholders heightened transparency and comprehensive information. This clarity allows PURIS users to detect supply chain issues earlier, initiate solution-finding more swiftly, and access a wider array of options, leading to more effective, cost-efficient, and environmentally friendly outcomes. By facilitating proactive anticipation, concurrent management, and reactive recovery, PURIS supports the supply chain across pre-, during-, and post-disruption phases, thereby improving operational efficiency and resilience within the Catena-X network. + + + +## Mission + +**_Empowering Stakeholders with Real-time, Predictive Insights for Proactive Supply Chain Management_** + +The PURIS KIT provides the necessary standards, aspect models, interfaces, logics, and processes to implement a comprehensive and compliant exchange of short term supply chain key information between business partners. It intends to enhance the foundation of supply chain interactions, encouraging a proactive management approach over a reactive one. + +The core is the exchange of supply chain key information between partners within a horizon of up to four weeks, including: + +1. **Item Stock:** Visibility of current inventory levels on both sides +2. **Short-term Material Demand**: Forecast of materials needed for production +3. **Planned Production Output:** Anticipated production output quantities +4. **Delivery Information:** Scheduled and actual deliveries and their details +5. **Days of Supply:** Information on how long the inventory on hand will last + +With PURIS, supply chain partners can anticipate, adapt, and align their operations to both current and future events, optimizing inventory levels, production and planning capabilities. The result is improved operational efficiency, enabling businesses to respond adequate and quickly to changes and disruptions in the supply chain. + +The PURIS service enriches companies' resilience strategy by improving data sharing and providing key information between supply chain partners on demand. This enables users to identify and manage supply chain issues with enlarged foresight. The result is that \(from a process perspective\) downstream services, systems or applications can detect critical bottlenecks at an earlier stage. + +![Overview](assets/PURIS_KIT_overview.svg) + +_Figure 1: PURIS information exchange between partners_. + +Key aspects of PURIS are: + +- **Standardized information exchange**: Base for a fast and effective handling of shortages and enhances early detection capabilities for optimized supply chain decision-making. +- **Short-term focus:** PURIS targets a period of 0-4 weeks, although longer periods are not technically restricted. +- **Collaborative approach**: Equal and fair data exchange \(quid-pro-quo\) between partners \(1-up / 1-down\), leading to a more transparent, predictable, and resilient supply chain ecosystem. +- **Data usage control and compliance**: PURIS employs the Catena-X data space to ensure the required level of data security and sovereignty for all participants. +- **Accessibility**: PURIS provides a FOSS \(Free and Open-Source Software\) reference implementation that aims to keep the entry threshold for participating in PURIS as low as possible, making it easier for smaller businesses to participate and take advantage of the benefits. + +By considering these principles, PURIS is not just enhancing current supply chain management practices but is also paving the way for a more agile, informed, and responsive automotive industry + +## Today's Challenge + +Supply chain complexity and the frequency of crises and exceptional situations pose a growing threat of significant disruptions, supply shortages and even temporary production halts for both small and medium enterprises \(SMEs\) and large enterprises \(LEs\). Rapid response and replanning are critical, which can involve considerable expenses. Costly, drawn-out decision-making among partners who might be reluctant to share information can lead to expensive special arrangements and workarounds. The longer the problem persists, the fewer viable alternatives for ensuring a continuous supply. There is an urgent need for a better information base for decision-making. + +Status-quo: + +1. **Supply Chain Transparency:** The lack of up-to-date data and transparency in the supply chain makes it difficult to anticipate disruptions and actual demand, manage production and inventory efficiently, and ensure timely deliveries. Complex and Volatile Supplier Network: The supply chain, with its widespread and diverse suppliers, faces visibility and control challenges. Demand volatility, influenced by key companies, impacts forecasting and immediate needs. +2. **Inefficient communication:** Manual and non-standardized information exchange, e.g. via Excel or phone, between partners is slow and can lead to misunderstandings, errors and unnecessary effort, which in turn negatively impacts the supply situation and increases costs. +3. **Lack of Trust:** Reluctance to share sensitive information, such as inventory levels, demand forecasts, and production capacities hinders the flow of critical information and prevent the formation of a cohesive, collaborative supply chain network. This can lead to a siloed and inefficient supply chain, where the best and most sustainable solutions are not realized. Consequences are missed opportunities, increased costs, and decreased competitiveness. + +Moreover, currently only proprietary systems are available, which are insufficiently scalable and also involve a vendor lock-in. This highlights the need for an open standard and a FOSS \(Free and Open Source Software\) reference implementation. Moreover, these systems often have a long-term focus on demand and capacity management. + +## Business Value + +The traditional approach to managing supply chains is often inflexible and involves a high degree of manual work, leading to delays and limited opportunities for proactive measures. This is particularly challenging when dealing with potential shortages that can affect the entire supply chain. + +PURIS transforms this by creating a collaborative network within the Catena-X data space, where partners, including suppliers and customers, share and use daily data. This approach allows for a dynamic and interconnected supply chain management, enhancing the ability to monitor supply and demand, identify potential issues early, and make informed decisions. + +The benefits of adopting the PURIS KIT for suppliers and customers include: + +**Improved Efficiency and Data Quality**: + +- Less manual information gathering through automated exchange of required supply chain information. +- Higher data quality and reliability through the use of standardized plan and actual data. +- Efficient planning by having a broader information and decision base. + +**Better Visibility and Collaboration**: + +- Shared view of the supply and demand situation between partners; especially in tight supply situations. +- Data sovereignty through the usage of Catena-X standards and principles as a base for trustful cooperation. + +**Cost Reduction and Sustainability**: + +- Reduced costs through avoidance of downtime, production holds and overstocks. +- Contribute to waste reduction, lower emissions, and compliance with environmental regulations and sustainability goals by avoiding unnecessary logistics measures, such as underutilized transportation of small quantities. + +Overall, adapting PURIS helps businesses achieve operational excellence, strategic resilience, data-driven decision making, collaborative innovation, and sustainability, all while reducing costs and improving market responsiveness. + +**Benefits for Large Enterprises, Small and Medium-sized Enterprises, and Solution Provider**: + +- **For OEMs and large suppliers:** + - **Increased overall supply chain efficiency:** When a critical mass of participants is reached, the PURIS standard can increase efficiency of the entire supply chain, ultimately benefiting OEMs and large Tier-1s at the end of the chain. + - **Lower operating and maintenance costs:** Consolidating and standardizing data flow through the PUris standard can reduce operating and maintenance costs for proprietary systems. + - **Avoid vendor lock-in:** With the PURIS standard, there is no need to depend on a dominant solutions provider that can result in vendor lock-in. +- **For Small and Medium-sized Enterprises \(SMEs\):** + - **Single integration point:** With PURIS there is just a single integration point, reducing the complexity and costs of managing and serving multiple customer interfaces, systems and platforms. + - **Bi-directional data exchange:** One of the significant benefits of PURIS is that it enables small and medium companies to receive information in addition to providing it. This bi-directional data exchange on equal footing reduces blind decision-making and guesswork, allowing for more informed decision-making and collaboration + - **Competitive advantage:** Using the PURIS standard can give a competitive advantage when bidding for contracts, as compliance with the PURIS standard can be favored in some procurement processes. By adopting the PURIS standard, it can be demonstrated to potential partners that a SME ist committed to data exchange best practices, making it a more attractive partner for collaboration and contract opportunities. +- **For Solution Providers:** + - **Scaling solutions:** Solution providers can scale their PURIS solutions in the market and thereby access new customer groups. + - **Versatile business models:** Offerings in the areas of consulting, integration, and operation allow for various business models, providing solution providers with the flexibility to tailor their services to specific customer needs. + +## Example Use Case + +In the following example, a Supply Chain Manager uses a tool similar to the PURIS reference application to monitor goods and parts. If problems arise, I can immediately check the status of my parts and respond appropriately. + +**The results in detail:** + +- I have a perfect view of my material pipeline towards my customer at any time. +- I can rely on updates immediately if necessary. +- This gives me confidence in my supply situation as result of my work. + +**Decisions about replenishment, additional transportation or other measures can be made immediately if necessary:** + +- I always have a clear perspective on the most economical booking methods, such as with agents. +- I receive immediate updates if necessary. This provides my organization with cost savings, even in critical situations, as a result of these practices. + +**Stressful phone calls & meetings with my customer can be reduced to exceptional situations.** + +- I no longer need to circulate Excel spreadsheets and fill them in manually. +- This means for me less stress and work load. + +![Example Use Case](assets/example-use-case.svg) +_Figure 2: Use case for standardized information exchange via PURIS_ + +## Semantic Models + +The information about the provided PURIS standardization objects is detailed in this section. It's used in ongoing business relationships and build-to-order \(BTO\) contexts, not for build-to-stock \(BTS\) situations without existing business ties. + +| Semantic Model | Semantic Model Version | Standard name | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------: | :-----------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Item Stock](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.item_stock/2.0.0) | v.2.0.0 | CX-0122 | Item Stock includes materials in the outbound warehouse or inbound at the customer's site. Standardizing its definition and using digital twins for data sharing allows quick inventory updates across the supply chain, improving coordination and addressing supply shortages. | +| [Short-Term Material Demand](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.short_term_material_demand/1.0.0) | v.1.0.0 | CX-0120 | This exchange specifies the material a customer's production line needs from a supplier in the next four weeks. It adds context to regular orders, highlighting essential demands and extra requests for safety stocks. This detail helps suppliers plan and address potential shortages proactively. | +| [Planned Production Output](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.planned_production_output/2.0.0) | v.2.0.0 | CX-0121 | This exchange shows the agreed but unmanufactured material quantity a supplier plans to produce for a customer. Standardizing this via digital platforms ensures clear communication of future production volumes, aligning supply chain expectations and improving responsiveness to market needs. | +| [Delivery Information](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.delivery_information/2.0.0) | v.2.0.0 | CX-0118 | Delivery Information includes logistics details and metrics. It specifies shipment timing, location, quantity, and compares planned vs. actual departure and arrival times. This data, including tracking numbers and essential logistics info, helps coordinate and streamline deliveries. | +| [Days of Supply](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.days_of_supply/2.0.0) | v2.0.0 | CX-0145 | The Days of Supply \(DoS\) standard measures how long inventory can sustain operations without replenishment. This metric helps manage inventory efficiently. The standard supports proactive decisions and ensures data accuracy across the supply chain. | + +## Business Process + +PURIS orchestrates a set of business processes within the Catena-X network, enhancing supply chain visibility and operational coordination. These processes, characterized by their adaptability to multi-sourcing strategies, are described as follows: + +### Actors and Roles + +- **Data Provider:** Act as data consumers needing information on customers' production output and material demand. +- **Data Consumer:** Act as data providers, offering detailed information about their material demand and production plans to suppliers. + +### Key Processes + +- **Single Sourcing:** Direct allocation of orders and material demand in a one-to-one relationship between customer and supplier. +- **Multi-Sourcing:** One item is supplied from more than one supplier. The exchanged data must be allocated to each supplier. +- **Multi-Customer:** One item is provided to more than one customer. The exchanged data must be allocated to each customer. +- **Demand Categories:** Differentiation between regular and extraordinary demand to assist suppliers in prioritization and planning. +- **Production Planning:** Daily versus non-daily planning, with a recommendation for daily planning to enhance accuracy and responsiveness. +- **Inventory Management:** Balances inventory to prevent excess and shortages, optimizing costs and enhancing supply chain responsiveness. +- **Shortage Management:** Early detection and rapid response to supply disruptions via standardized data exchange. + +The business process facilitated by PURIS enables partners in the Catena-X network to swiftly act on up-to-date information, adapt to the fluidity of market conditions, and develop a well-rounded view of supply chain operations. This comprehensive approach not only encourages collaborative partnerships but also advances risk mitigation strategies and bolsters the overall resilience of the supply chain ecosystem. + +## Standards + +The relevant standards can be found in the [Catena-X Association Standard Library](https://catenax-ev.github.io/docs/next/standards/overview)\: + +- [CX-0118 Delivery Information Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0118-ActualDeliveryInformationExchange) +- [CX-0120 Short-Term Material Demand Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0120-ShortTermMaterialDemandExchange) +- [CX-0121 Planned Production Output Exchange](https://catenax-ev.github.io/docs/next/standards/CX-0121-PlannedProductionOutputExchange) +- [CX-0122 Item Stock Exchange 2.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0122-ItemStockExchange) +- [CX-0145 Days of Supply Exchange 1.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0145-DaysofsupplyExchange) + +## Notice + +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_changelog.md new file mode 100644 index 00000000000..880efbf2ae9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_changelog.md @@ -0,0 +1,61 @@ +--- +id: PURIS Kit Changelog +title: Changelog +description: 'PURIS Kit' +sidebar_position: 1 +--- + +### PURIS Kit + +All notable changes to this Kit will be documented in this file. + +## [0.3.0] - 2024-08-01 + +### Added + +- Development View + - Added page logo on the top + - Added "Sample Data > 5. Days of Supply v2.0.0" chapter + - Added section "Component Architecture (Conceptual Whitebox View)" with figure 2: Whitebox View on a PURIS System. + +- Operation View + - Added initial Operation View + - Moved reference implementation from the Development View to Operation View + +### Changed + +- Development View + - Updated architecture chapter: added link to the umbrella helm chart + - Updated figure 1: replaced Keycloak with SIP, CIP and BPN-DID + - Updated figure 3 (previously 2): extended with Days of Supply model + - Updated policies chapter: removed membership policy example, moved framework agreement example into the JSON example in the usage policies, add PURIS purpose explanation. + - Updated reference implementation chapter: extended the PURIS FOSS description to include all other PURIS models + +## [0.2.0] - 2024-05-29 + +### Added​ + +- documentation of the adoption view +- documentation of the software development view + +### Changed​ + +- ./. + +### Removed​ + +- ./. + +## [0.1.0] - 2023-11-29 + +### Added + +- Initial version of the Kit including the adoption view + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_operations-view.md b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_operations-view.md new file mode 100644 index 00000000000..59e8e3362b1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/PURIS Kit/page_operations-view.md @@ -0,0 +1,24 @@ +--- +id: Operations View PURIS Kit +title: Operations View +description: 'PURIS Kit Operations View' +sidebar_position: 4 +--- + +![PURIS kit banner](/img/kit-icons/puris-kit-icon.svg) + +## Reference Implementation + +The [PURIS FOSS reference implementation](https://github.com/eclipse-tractusx/puris/tree/main/docs) serves as an application allowing to request and provide all information mentioned in sample data chapter. + +It also allows exchanging the Demand and Capacity Notifications which are described in the Supply Chain Disruption Notifications KIT. + +Arc42 of the implementation is found [here](https://github.com/eclipse-tractusx/puris/blob/main/docs/architecture/Index.md). + +## Setup + +The PURIS FOSS reference implementation can be deployed by following the [project Installation](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/INSTALL.md) guide. + +To run a test scenario locally, follow the [local testing and development guide](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/INSTALL.md). + +A guide to run the integration tests is found [here](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/postman/README.md). diff --git a/docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/Software Development View/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/Software Development View/page_software-development-view.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Quality-Kit/Software Development View/page_software-development-view.md rename to docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/Software Development View/page_software-development-view.md diff --git a/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_adoption-view.md new file mode 100644 index 00000000000..2f96597d3a6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_adoption-view.md @@ -0,0 +1,390 @@ +--- +id: Adoption View Quality Kit +title: Adoption View +description: 'Quality Kit' +sidebar_position: 2 +--- + +![Quality kit banner](/img/kit-icons/quality-kit-icon.svg) + +### Quality KIT + +## Vision & Mission + +### Vision + +Our vision is to move from parts-based quality management on a bilateral level between supplier and customer to a +data-based approach across the OEM-n-Tier chains of value creation to enable a network approach for producing and +ensuring product quality. + +![quality kit vision diagram](@site/static/img/quality-kit_vision-min.png) + +The Quality KIT enables **data provider** and **consumer** to exchange and analyse existing data across company +boundaries on a daily basis, securely and easily. By merging the OEM's field quality data and the supplier's product +information, a new level of transparency is achieved in a joint analysis (single point of information). This leads to +earlier failure detection, faster cooperation between partners and acceleration of root cause analysis. Once the root +cause of the problem is known, corrective actions can be targeted to the products and vehicles that have the quality +problem using Catena-X traceability capabilities. The containment minimises the number of parts & vehicles for which +corrective actions need to be implemented. + +This KIT enables **quality app provider** to deliver solutions for quality data analysis including tracebility and +notification functionalities. + +### Mission + +![quality kit mission diagram](@site/static/img/quality-kit_mission-min.png) + +The Quality KIT provides the necessary standards, aspect models, technical data pipeline specifications and business +logics on how to estabilish a soverein exchange of quality related data along the OEM-Tier n chain. All the components +mentioned are based on the following principles: + +- We bring together data from suppliers and manufacturers (OEM). +- Data exchange between data provider and consumer complies with the Catena-X network's data sovereignty principles. +- Data exchange enables each partner to use the applications of their choice for data analysis features like Early + Warning and Root Cause Analysis. +- We standardize data models incl. their assets +- Data exchange in the current Quality KIT version is described as a common requirement. +- Analysis methods and algorithms that are realized in the quaity applications are not part of any standardization. It + is desirable that different tools deliver different results Specialisation of tools is valuable. + +In sum this KIT enables quality management to substantially **increase speed** in resolving quality problems and reach a +**new level on transparency** and traceability. + +### Customer Journey + +With the Quality KIT, we support the Catena-X customer journey for our adopters and solutions providers. + +![quality kit customer journey diagram](@site/static/img/quality.kit_customer-Journey-1_1.jpg) + +## Business Value + +Through the standardized specifications described in the “Quality-KIT” – mainly the semantic models and data exchange +process – data providers & consumers can build up a soverreign and trusty data exchange pipeline with their partner +companies and reduce investment and implementation costs to integrate data based quality processes in their company +inhouse process and IT landscape. + +Furthermore, quality application providers can also reduce the implementation effort and enter potential new markets +providing specific analytic capabilities. + +## Use Case + +### Status Quo / Today's challenge + +In today’s global and complex collaboration models quality does not emerge as the sum of the quality contributions of +the individual partners in the value chain of OEM and suppliers, but rather because of the networking of the partners +involved. + +The existing conventional bilateral working models do not account for this. There is no operative network in the +industry with a substantial coverage of elements of the value chains that provides the necessary means for collaborative +quality management with all involved partners. + +From Quality Management perspective, the main challenge within the automotive industry is to define and implement +inter-organizational end-to-end data chains across the whole automotive partner chain to empower data driven quality use +cases. + +Main challenges to ensure a trustful and scalable cooperation are: + +- Trustful and sovereign data exchange mechanism including ... + - legal contracts and access/usage policy framework along the complete data chain + - Standardized data pipeline + - Aligned standard data exchange, e.g. file format and transfer +- Standardized data models + +### Benefits + +| Advantages | For OEM | For n-Tier | +|---------------------------------------------------------------------------------------------------|---------|------------| +| Availability of daily updated field data for monitoring the own component in real operation | | X | +| Linking OEM and supplier data for cross-supplychanin quality analysis | X | X | +| Reduction of analysis capacities along the automotive value chain by preventive field observation | X | X | +| Reduction of the NTF (no trouble found) at the customer and supplier | X | X | +| Significant reduction in time to detect an abnormality | X | X | +| Fulfillment of required response times from authorities | X | | +| Creation of transparency and options for new warranty models | X | X | + +![quality kit benefits diagram](@site/static/img/quality-kit_benefits-min.png) + +#### OEM and large automotive suppliers + +The Quality KIT from Catena-X enables companies to realize trustful and sovereign data exchange with their partners and +utilize the data in a cooperative way for an Early Warning of known and unknown quality issues. Root causes can be +analysed und understood much faster what leads to an earlier and focussed counter measure. In sum companies can realize +economic benefit by reduction of warranty costs while at the same time increasing customer satisfaction due to a maximum +availability of vehicles, products and services. + +#### SME + +The defined standards like data models and data exchange pipelines enforce a flexible and low-barries approach to +integrate quality use cases and features according to SME need. An easy access to analytic capabilities or transparent +analytic results from partner companies leads to an economic benefit from warranty costs reduction via faster on more +focused activities related to quality issues. + +#### Solution Provider + +Solution providers have the potential to scale customer groups via platform effects and standardization of data models +and their exchange. Additional new market potentials can be accessed via marketplace and shared service network. + +##### Example: Benefits of using early warning and root cause analyses in active field monitoring of a vehicle component + +OEM A and supplier B agree to carry out quality analyses with field data from the OEM and production data from the +supplier based on Catena-X Use Case Quality Methodology (live control loop see above) and with Catena-X-certified tools. +For this purpose, a quality case with framework conditions is agreed to in the use case. A component and the associated +data are selected. After technical and organizational onboarding and the agreed data exchange, the joint analysis room +is available and collaborative quality work can be started. + +In general, one of the partners carries out continuous monitoring of the components using the common database. This +allows, for example, error messages in the vehicle, repairs and claims to be monitored and anomalies are immediately +visible. + +In our example, an engine component passes on various error messages (DTCs = Diagnosis Trouble Codes) to the vehicle via +the central engine control unit. After 4 weeks, it is visible in the Catena-X certified tool that a DTC in the field is +slowly but steadily increasing. With Catena-X Tooling, this is immediately recognized, although no increasing workshop +visits and repairs are yet visible in the database. An employee of a partner immediately notices this and shares this +observation with the joint team. At the same time, the employee begins to clarify through initial analyses whether the +anomaly is actually a problem. Since it quickly becomes clear from the data that this is a potentially critical fault +pattern with the result of increasing repair cases and that a replacement of parts may be necessary, the employee +reports this to the joint team (early warning). + +The team decides to carry out a root cause analysis together. Various hypotheses about the cause of the fault are +examined: running times are compared, software levels, environmental conditions at the time the fault occurred, etc. The +cause of the fault is a diagnostic algorithm modified in a software update, which results in the abnormal DTC appearing +more often in the field at hot temperatures. This is caused by the production of vehicles from a certain point in time +with the new software version or the installation of a new software version for vehicles in the field, e.g. during a +service visit to a workshop. + +As a jointly defined corrective measure between OEM and supplier, a modified algorithm will be integrated into the next +regular software update. This starts as soon as possible in vehicle production and vehicles with the faulty software +version receive a software update the next time they visit the workshop. For this purpose, repair shops are informed +that the displayed error (DTC) for a particular software version is a software problem and does not require any repair. +This minimizes costs due to unnecessary repairs. + +The affected component continues to be monitored regularly. After a few months, there is a decrease in the conspicuous +DTC corresponding to the reduction in the number of vehicles in the field with the faulty software version (proof of +effectiveness of the corrective measure adopted). + +The image below shows user feedback, challenges, results and benefits of the new data-based way of working using the +example of the Early Warning & Root Cause Analysis process steps. + +![quality kit example of benefits chart](@site/static/img/quality-kit_example-benefit-1_2.png) + +**Conclusion:** + +The example impressively shows that with the Catena-X methodology (live control loop), quality problems can be +identified earlier, the causes of faults can be found more quickly, corrective measures can be carried out in a more +targeted manner and the affected vehicles can be narrowed down more precisely. There are similar examples of the +conversion of production parameters at the supplier or design errors in the design of vehicle components. + +(Source: The example is based on real project results from piloting the Catena-X methodology at an OEM with 5 selected +suppliers) + +## Tutorials + +The following videos gives an overview of the presented Quality Improvement Use Case. + +Overview about how Quality Management is improved by Catena-X + + + +For more technical details take a look at the video in +the [Operation View](/docs-kits/kits/Quality-Kit/page_software-operation-view.md) + +Data driven Quality Management with +Catena-X - [Statements from the consortial partners](http://youtube.com/watch?v=T-Xh_LzXXbg) + + + +## Semantic Models + +### Semantic Structure + +![semantic structure chart](@site/static/img/quality-kit_semantic-structure-min.png) + +### Overview Data Model Entities + +Download for MS Excel: Quality_KIT_DataModelOverview_v1.0.xlsx + +### Common Data + +Data structured in the following semantic models are to be delivered by OEM & supplier. + +#### Quality Task + +Quality Task is the root element and describes why companies are working together on a quality topic and what they want +to do. All involved companies and their contact people are named. In addition, a flag tells what should be done with +exchanged data after a Quality Task is closed. A Quality Task (qTask) can be created by both **OEM or Supplier** and +defines why data is exchanged between two or more companies and what insights should be generated out of the transferred +data. In addition, there is a flag what happens with the transferred data when this qTask is closed. + +Github Link to semantic data +model: [CX-00036 Quality Task](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.quality_task) + +#### Quality Task Attachment + +Quality Task Attachment gives the ability to share data that is not standardized in an existing semantic model yet. Non +standardized data provisioning is realized as a file transfer. The model contains file parameters and the schema of +structured data in the provided file. A Quality Task Attachment can be provided by both **OEM or Supplier**. + +Github Link to semantic data +model: [CX-00092 Quality Task Attachment](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.quality_task_attachment) + +### OEM Data + +Data structured in the following semantic models are to be delivered by OEM. + +#### Fleet Vehicles Product Description + +Master data for each vehicle of a specific population - from an end customer view. This model represents the vehicle as +it was sold to the customer. All entities and properties are constant over the lifetime of the vehicle. + +Github Links to semantic data models: + +[CX-00037 Vehicle Product Description](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.vehicle.product_description) + +[CX-00091 Fleet Vehicles](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.vehicles) + +#### Fleet Diagnostic Data + +Data model for vehicle diagnostic data suitable for mass data transfer. Diagnostic data coming from multiple vehicles +that are affected by an quality issue + Diagnostic data from similar vehicles that are not affected by an quality issue. + +Github Link to semantic data +model: [CX-00038 Fleet Diagnostic Data](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.diagnostic_data) + +#### Fleet Claim Data + +Customer complaints that are linked to this QualityTask +Data about the exchange of potentially faulty parts. + +Github Link to semantic data +model: [CX-00039 Fleet Claim Data](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.fleet.claim_data) + +### Supplier Data + +Data structured in the following semantic models are to be delivered by Supplier (Tier n). + +#### Manufactured Parts Quality Information + +A selection of manufacturing-related parameters that help to solve a quality issue. + +Github Link to semantic data +model: [CX-00041 Manufactured Parts Quality Information](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufactured_parts_quality_information) + +#### Parts Analyses + +Analyses results of replaced and potentially faulty parts, that are linked to this Quality Task. + +Github Link to semantic data +model: [CX-00040 Parts Analyses](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.parts_analyses) + +## Logic & Schema + +### Business Logic + +![quality kit business logic diagram](@site/static/img/quality-kit_business-logic-1_1.png) + +The prerequisite for faster faster problem solving is the earliest possible detection of a problem (early warning) and +the fastest possible understanding of the error chain and cause (root cause analysis). Early Warning in general has to +be realized at all relevant points along the value chain. + +**Early Warning** in the **Field**, an early warning system for issues in a vehcile fleet, enables the earliest possible +detection of quality problems in products in vehicles after delivery. Vehicle data from the OEM is used for the +analysis, in particular fault codes that are stored in ECUs and read out during a workshop visit or frequently "over the +air". Increases in product-specific fault codes across the vehicle population provide a reliable indicator of quality +problems much earlier than through parts replacement and analysis. + +**Early Warning** in the **Production** focuses on early detection in the production of products. Various practical +scenarios have been developed and the corresponding technical requirements specified. If, for example, a supplier +discovers that a delivered product has a quality defect, the customer can be informed by means of notification. The +functionality of traceability (Catena-X Use Case Traceability) in the supply chain makes it possible to trace in which +vehicle or follow-up product the affected components are installed. Remedial measures can thus be applied specifically +to a limited quantity. + +If a problem is detected by early warning in the field or in production, a data-based **Root Cause Analysis** is +started. The aim is to derive hypotheses regarding the cause and effect relationship from the shared database of the +customer and supplier and to verify them together. With the Catena-X network functions, this transparency can be +achieved much faster. If the root cause is known more quickly, effective counter measures can be defined and implemented +much faster. + +### Architecture Overview + +![independant architecture r2312 chart](@site/static/img/quality-kit_general_app-independant_archicture-R2312.jpg) + +The tier-1 receives data on vehicle master data, existing claims and DTCs. Once the data is received, the Tier-1 +supplier is analyzing the data in order to detect patterns based on which DTCs and claims can be explained. The data is +shared and consumed as assets via the companies' EDC while the authorization is managed via the the shared services of +the consortia. + +#### Quality Components + +| Subsystem | Description | +|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Data Provisioning | This component provides a company's data to the Catena-X network by transforming it into the Catena-X format and publishing it. In Catena-X, data must be provided to the network based on existing standards from the other Kits. One example that can be used is the Connector Kit that builds a component based on the IDS protocol, e.g. the Connector of the Eclipse Dataspace Components (EDC). The data format used for Quality data is based on the aspects (Sub-)models published in the Semantic Hub. | +| Internal Systems | Existing internal systems of a Catena-X partner which provide data to Quality components. - For Data Provisioning: The data provided to Catena-X via the EDC should be fetched from a partner's internal system. e. g. quality claims, defect code collection system | +| Quality App | Enables traceability functionalities like quality alerts or notifications. When a Traceability App fetches data for digital twins (submodels), there are two options: - Directly access the partner's EDC (and the Digital Twin Registry) to connect to other partner's EDC and retrieve the data from ther - Use a local IRS service to get the data and let the IRS handle the EDC and Digital Twin Registry communication. | + +#### Catena-X Core Services + +| Subsystem | Description | +|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Eclipse Dataspace Components (EDC) | The Connector of the Eclipse Dataspace Components provides a framework for sovereign, inter-organizational data exchange. It will implement the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems. [Repository of the Catena-X specific EDC](https://github.com/eclipse-tractusx/tractusx-edc). | +| SSI → MIW | The Self-Sovereign Identity is also a life long identity,( when credentials are created and the MIW is not reachable) , the other verifiers should be able to check and validate exisiting valid credentials from distributed databases, directory or DLT. The MIW (also called "Custodian") provides a private/public key pair and related DID for a legal entity along with the onboarding. | +| Discovery Service | The EDC / dataspace discovery interface is a CX network public available endpoint which can get used to retrieve EDC endpoints and the related BPNs, as well as search for endpoints via the BPN. | + +## Business Process + +To realize the **Business Logic** described in the Quality Kit + +![quality kit business process diagram](@site/static/img/quality-kit_business-logic-1_1.png) + +all steps of the **Business Process** (described in +the [Development View](https://confluence.catena-x.net/display/BDPQ/WORK+IN+PROGRESS+-+Quality+KIT+-+Development+View)), +like data provisioning and consuming by the involved partner companies, are realized in compliance with +the [Catena-X Data Governance Framework](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). +Under this link you can find the latest version of the framework regulations as download. The documents are seperated in +the following levels: + +**Data Space Level**: 10 Golden Rules of Catena-X + +**Use Case Level +**: [Quality Management specific policy](https://catena-x.net/fileadmin/user_upload/04_Einfuehren_und_umsetzen/Governance_Framework/231016_Catena-X_Use_Case_Framework_Quality.pdf) +as download. + +**Data Offering** and **Usage Level** are defined by bi-lateral aligned policies and contracts between the cooperating +partner companies. Content is currently in definition. + +## Standards + +Our relevant standards can be downloaded from the +official [Catena-X Standard Library:](https://catena-x.net/de/standard-library) + +- [CX - 0018 Eclipse Data Space Connector EDC](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0018-EclipseDataConnector_EDC_-v.2.0.1.pdf)) + +- [CX - 0036 Semantic Model Quality Task](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0036_Semantic_Model_Quality_Task_v_1.0.1.pdf) + +- [CX - 0037 Semantic Model Vehicle Product Description](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0037_Semantic_Model_Vehicle_Product_Description_v_1.0.1.pdf) + +- [CX - 0038 Semantic Model Fleet Diagnostic Data](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0038_Semantic_Model_Fleet_Diagnostic_Data__v_1.0.1.pdf) + +- [CX - 0039 Semantic Model Fleet Claim Data](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0039_Semantic_Model_Fleet_Claim_Data__v_1.0.1.pdf) + +- [CX - 0040 Semantic Model Parts Analyses](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0040_Semantic_Model_Parts_Analyses_v_1.0.1.pdf) + +- [CX - 0041 Semantic Model Manufactured Parts Quality Information](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_PDF_Maerz/PLM_Quality_Use_Case_Live_Quality_Loops/CX_-_0041_Semantic_Model_Manufactured_Parts_Quality_Information_v_1.0.1.pdf) + +- [CX - 0071 Triangle Quality Early Warning Field and Root Cause)](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Archiv/Update_Juli_23_R_3.2/CX-0071-TriangleQualityEarlyWarningFieldandRootCause-v1.0.0.pdf) + +- [CX - 0091 Aspect Model Fleet Vehicles](https://catena-x.net/fileadmin/user_upload/Standard-Bibliothek/Update_September23/CX-0091-AspectModelFleetVehicles-v.1.0.0.pdf) + +- [CX - 0092 Aspect Model Quality Task Attachment](https://catena-x.net/de/standard-library#top) + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2023,2023 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2023,2023 Robert Bosch GmbH +- SPDX-FileCopyrightText: 2023,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2023,2023 SAP SE +- SPDX-FileCopyrightText: 2023,2023 Siemens AG +- SPDX-FileCopyrightText: 2023,2023 Volkswagen AG diff --git a/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_changelog.md new file mode 100644 index 00000000000..f95b4c97d80 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_changelog.md @@ -0,0 +1,106 @@ +--- +id: Quality Kit Changelog +title: Changelog +description: 'Quality Kit' +sidebar_position: 1 +--- + +![Quality kit banner](/img/kit-icons/quality-kit-icon.svg) + +### Quality KIT + +All notable changes to this Kit will be documented in this file. + +## [1.2.1] - unreleased + +### Added + +- ./. + +### Changed + +- Changed banner image file location and converted .png image to .svg + +### Removed + +- ./. + +## [1.2.0] - 2024-03-08 + +### Added + +#### Development view + +- Added S3 adresses details +- Added properties details + +### Changed + +#### Adaption view + +Area Benefits: + +- Advantages slide converted to table +- Advantage example slide make-over + +Area Sematic model: + +- Deleted the detailed tables for each aspect model to make it more compact - see software development view instead + +Area Business process: + +- Deletion of picture "Levels" replaced by direct link to Catena-X website +- Deletion of link to policy as word document instead added link to PDF on Catena-X website + +Area Standards: + +- Added link to EDC standard to list + +### Removed + +- ./. + +## [1.1.0] - 2023-11-23 + +### Added + +- ./. + +### Changed + +#### Adaption view + +General + +- Update picture "Customer Journey" +- Update cosmetics to all pictures +- Document Use Case Framework Quality v1 added +- Update list of related standards +- License notice added + +Area Tutorials + +- Video "Data driven Quality Management with Catena-X - Statements from the consortial partners" now provided as link + only + +#### Development view + +- Updated Asset Transfer recommendation + +### Removed + +- ./. + +## [0.1.0] - 2023-08-18 + +### Added + +- Initial version of the Kit including adoption, operation and development view + +### Changed + +- ./. + +### Removed + +- ./. diff --git a/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_software-operation-view.md b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_software-operation-view.md new file mode 100644 index 00000000000..65336ea904f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Quality-Kit/page_software-operation-view.md @@ -0,0 +1,16 @@ +--- +id: Operation View Quality Kit +title: Operation View +description: 'Quality Kit' +sidebar_position: 3 +--- + +![Quality kit banner](/img/kit-icons/quality-kit-icon.svg) + +### Quality KIT + +Based on the information provided in the Quality KIT, it is possible to share quality related data between OEM and Tier n, use own and provide custom Quality Apps. The data sharing process, described in the [Development View](/docs-kits/next/kits/Quality-Kit/Software%20Development%20View/Specification%20Quality%20Kit) consists only standard Catena-X core components. Additional Quality KIT specific code or API are not provided and implementation therefor not necessary. + +An overview about the interaction of the different modules is provided in the following video: + + diff --git a/docs-kits_versioned_docs/version-24.03/kits/Resiliency/MP_Kit.md b/docs-kits_versioned_docs/version-24.08/kits/Resiliency/MP_Kit.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Resiliency/MP_Kit.md rename to docs-kits_versioned_docs/version-24.08/kits/Resiliency/MP_Kit.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Resiliency/MaaS.md b/docs-kits_versioned_docs/version-24.08/kits/Resiliency/MaaS.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Resiliency/MaaS.md rename to docs-kits_versioned_docs/version-24.08/kits/Resiliency/MaaS.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Resiliency/PURIS_Kit.md b/docs-kits_versioned_docs/version-24.08/kits/Resiliency/PURIS_Kit.md similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Resiliency/PURIS_Kit.md rename to docs-kits_versioned_docs/version-24.08/kits/Resiliency/PURIS_Kit.md diff --git a/docs-kits_versioned_docs/version-24.03/kits/Resiliency/resiliency.mdx b/docs-kits_versioned_docs/version-24.08/kits/Resiliency/resiliency.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Resiliency/resiliency.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Resiliency/resiliency.mdx diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md new file mode 100644 index 00000000000..8ecf1d6c09c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_adoption-view.md @@ -0,0 +1,238 @@ +--- +id: Adoption View PURIS-DCM Supply Chain Disruption Notifications +title: Adoption View +description: "PURIS-DCM Supply Chain Disruption Notifications" +sidebar_position: 2 +--- + +## Vision + +**_Elevating Robustness and Flexibility in the Supply Chains through Disruption Notifications_** + +The Supply Chain Disruption Notifications within the Catena-X framework embodies a transformative approach to fortify supply chains. This notification holds significant relevance beyond the automotive supply chain and can be effectively applied to other industries characterized by an n-tier supplier structure. By establishing a standardized, rapid communication for supply chain disruption notifications, this notification empowers stakeholders across the value chain to act swiftly and effectively in the face of challenges. Enhanced transparency and timely information exchange enable members to anticipate disruptions, streamline decision-making processes, and mitigate potential impacts. This proactive and collaborative framework not only elevates operational resilience but also drives cost efficiencies, reduces production downtime, and promotes a more sustainable and responsive supply chain ecosystem. By fostering rapid information flow, the Supply Chain Disruption Notifications is a significant step toward a more interconnected and resilient automotive industry. + +## Mission + +**_Enhancing Proactive Resilience in Supply Chains through Effective Disruption Notifications_** + +The Supply Chain Disruption Notification marks an important step in advancing industries' capability to preemptively manage supply chain risks. By instituting a standardized, efficient communication for disruption notifications, this standard is transforming how stakeholders anticipate, communicate, and respond to supply chain disruptions. It's not merely about relaying information; it's about redefining the essence of collaborative supply chain management to be anticipatory and strategic rather than merely responsive. + +Central to this mission is equipping stakeholders with a mechanism that delivers timely, actionable information, enabling them to make strategic decisions swiftly and effectively. Through the seamless integration of quick disruption notifications and information exchange, stakeholders gain a dynamic view of the supply chain, facilitating rapid adaptation to both imminent and potential disruptions. + +**Key facets of this mission include:** + +- Establishing a standardized framework for Supply Chain Disruption Notifications, ensuring consistency, accuracy, and speed in communication. +- Enhancing the industry's collective ability to respond to disruptions, thereby minimizing operational impact and maintaining continuity. +- Ensuring that all supply chain participants, no matter their size or role, have access to essential information, thereby promoting fairness across the industry. +- Promoting a culture of transparency and collaboration, enabling stakeholders to work together more effectively in the face of disruptions, thereby enhancing the overall resilience and agility of the automotive supply chain. + +Through these principles, the Supply Chain Disruption Notifications is not only addressing the immediate needs for better disruption management but also laying the groundwork for a more resilient, adaptive, and interconnected supply chain ecosystems. + +### Example Use Case + +#### Streamlining Disruption Management in Automotive Manufacturing + +The automotive industry, particularly in the context of increasing complexity and interconnectivity in supply chains, faces significant challenges in managing disruptions. + +Consider a scenario where an unexpected disruption occurs in the supply of aluminum, a critical material for vehicle manufacturing. This disruption could arise from various factors such as natural disasters, geopolitical tensions, or logistical challenges, impacting multiple manufacturers and their production lines. The aluminum producer (sender) must evaluate the impact and identify which products and stakeholders are affected. If the impact is significant, the sender will communicate the current situation upstream in a notification, potentially informing its supplier as well. Another scenario would be that an OEM notifies their suppliers about a significant demand increase which then potentially goes down the supply chain. + +For both scenarios, the recipient of this notification reviews the content and assesses the impact on their operations. Based on this assessment, the recipient determines whether further stakeholders need to be informed (either one level up or down the supply chain). If additional notifications are necessary, the recipient, now acting as the sender, drafts a new message (including a UID for the original message) to inform subsequent recipients. These recipients then evaluate the impact on their own operations and decide if further notifications are required. + +In this context, the "Supply Chain Disruption Notifications" plays a significant role in addressing these challenges by facilitating swift and standardized communication of supply chain disruptions. + +![Process](res/Process2SCDN.jpg) +_Figure 1: Visualisation of example use case_ + +#### Implementation Example + +1. **Disruption Notification Initiation:** When a primary supplier of aluminum faces a disruption, it utilizes the "Supply Chain Disruption Notification" to send out an alert. This notification includes detailed information about the nature of the disruption, expected impact, and the estimated duration of the disruption. +1. **Proactive Response Activation:** Based on the received notification, automotive manufacturers can quickly assess the impact on their production schedules. They can determine whether the disruption affects specific models or production lines and initiate contingency plans, such as activating alternative suppliers or adjusting production schedules to minimize the impact. The mentioned consequences and measures are not part of the "Supply Chain Disruption Notification" feature, but can be initiated significantly faster than without the feature. +1. **Collaborative Problem-Solving:** The standardized notification format allows for quick understanding and response from all impacted stakeholders (i.e. notification recipients). For instance, if a particular model is heavily affected, manufacturers can collaborate with suppliers to explore rapid procurement alternatives or adjust orders based on the real-time data provided in the notification. +1. **Feedback Loop:** As the situation evolves, the supplier continues to provide updates through the notification system, ensuring all impacted stakeholders have the latest information to make informed decisions. This ongoing communication fosters a collaborative environment where manufacturers and suppliers work together to mitigate the disruption's effects. +1. **Resolution**: As soon as the situation is finalized (e.g. solution found, crisis over, measures effective), the sender updates all impacted stakeholders through the notification system. This ensures, that all stakeholders have the latest status and can take corresponding decisions. + +#### Impact & Benefits + +This use case demonstrates the vital role of the "Supply Chain Disruption Notifications" standard in enhancing the agility and resilience of the automotive supply chain. By providing a structured and efficient way to communicate disruptions, the notification enables all involved stakeholders of the supply chain (both 1-up and 1-down) to: + +- Quickly adapt to supply chain disruptions, reducing production downtime and maintaining production continuity. +- Enhance collaboration between customers and suppliers, fostering a more responsive and flexible supply chain network. +- Make informed decisions rapidly, minimizing the financial and operational impacts of disruptions. +- Maintain transparency with stakeholders, including customers, about potential delays or changes in production. + +Ultimately, the adoption of this standard contributes to a more robust and adaptable automotive industry, capable of navigating the complexities of modern supply chains with enhanced efficiency and resilience. + +## Business Value + +Traditional supply chain management often struggles with rigidity and manual interventions, leading to inefficiencies and a reactive stance towards disruptions. The "Supply Chain Disruption Notifications" standard improves this by facilitating an integrated, real-time communication network within the Catena-X ecosystem, enabling stakeholders to swiftly respond to and manage supply chain disruptions. + +The adoption of this standard brings several advantages to all stakeholders within the supply chain: + +- **Enhanced Proactive Management:** The standard provides a mechanism for immediate notification and detailed insights into disruptions, allowing stakeholders to transition from a reactive to a proactive management approach. This enables faster decision-making and implementation of contingency plans, minimizing downtime and operational disruptions. +- **Improved Supply Chain Visibility:** By standardizing the disruption notification process, all parties gain a clearer understanding of the supply chain's current state. This visibility helps in identifying potential bottlenecks and vulnerabilities, facilitating a more robust supply chain design and operational strategy. +- **Increased Collaboration and Trust:** The standardized communication fosters a culture of transparency and collaboration among supply chain partners. Enhanced trust leads to more effective joint problem-solving and innovation, driving collective resilience against future disruptions. +- **Strategic Decision Support:** Access to real-time, actionable data allows organizations to make informed strategic decisions. This capability supports better resource allocation, investment in mitigation strategies, and overall supply chain optimization. +- **Market Competitiveness:** Organizations that rapidly adapt to disruptions can maintain or even improve their market position. The ability to sustain operations during adverse events translates to reliable service delivery, maintaining customer satisfaction and loyalty. +- **Sustainability:** Effective disruption management contributes to sustainability by reducing waste associated with overproduction or expedited shipping to compensate for delays. + +In sum, integrating the "Supply Chain Disruption Notifications" standard into the Catena-X data space equips stakeholders with advanced tools to navigate the complexities of modern supply chains. This adoption underscores a commitment to operational excellence, resilience, and strategic foresight, paving the way for a more interconnected and resilient automotive industry. + +## Use Case / Domain explanation + +In the context of the automotive industry's evolving needs, particularly with the integration of the "Supply Chain Disruption Notifications" within the Catena-X network, we explore a pertinent domain: Enhancing Disruption Management in Automotive Supply Chains. This domain aims to tackle the challenges posed by disruptions in the automotive supply chain, focusing on improving resilience and response strategies. + +### Today's Challenge + +The automotive supply chain is characterized by a high degree of complexity and interdependence, where disruptions can ripple through the network, impacting production, lead times, and market competitiveness. Key challenges include: + +- **Disruption Readiness:** The ability to rapidly identify, communicate, and respond to disruptions is often hampered by a lack of current data and standardized communication. +- **Interconnectedness:** The intricate web of suppliers, manufacturers, and logistic partners in the automotive industry necessitates a cohesive approach to manage and mitigate disruptions effectively. +- **Response Agility:** The speed at which an organization can adapt to and recover from supply chain disruptions directly affects its operational continuity and market position. + +**Opportunities**: + +1. **Enhanced Communication:** Establishing a standardized communication for disruption notifications enables swift and accurate information sharing, fostering a proactive response mechanism. +1. **Operational Resilience:** Empowering stakeholders with real-time data and insights into supply chain disruptions strengthens the industry's ability to maintain continuity amidst volatility. +1. **Strategic Collaboration:** Facilitating a collaborative environment where stakeholders can coordinate responses to disruptions enhances the supply chain's overall robustness. + +### Benefits for involved n-tier suppliers and OEMs + +Within the n-tier value chain there are customer-supplier relationships. As a participant in the value chain, a company commonly acts as a customer and a supplier: + +- **Customers (incl. OEM):** Immediate access to Disruption Notifications allows for quicker adjustment of production plans, inventory management, and customer communications, reducing the impact on operations. +- **Supplier:** Enhanced visibility into potential disruptions enables suppliers to adjust their production and delivery schedules proactively, maintaining service levels and customer relationships. + +### Use case conclusion + +Addressing the challenges of disruption management in the automotive supply chain through the "Supply Chain Disruption Notifications" within the Catena-X network offers significant advantages. By enhancing the flow of critical information and fostering a collaborative response to disruptions, stakeholders can achieve greater operational resilience, maintain supply chain continuity, and uphold competitive advantage. This collaborative framework not only mitigates the immediate effects of disruptions but also paves the way for a more agile and responsive automotive industry. + +## Semantic Models + +Currently the standard _Supply Chain Disruption Notifications_ provides one semantic model _Demand and Capacity Notification._ + +| Semantic Model | Version | Link to GitHub Repository | +| ------------------------------------------------ | ------- | ---------------------------------------------------------------------------------------------------------------- | +| Demand and Capacity Notification (Release 24.05) | v2.0.0 | | + +## Business Process + +The Supply Chain Disruption Notifications standard orchestrates significant business processes within the Catena-X network, aiming to enhance the industries' resilience to supply chain disruptions. These processes facilitate timely and efficient communication among stakeholders, ensuring a coordinated response to disruptions. Here's an overview of the roles and processes involved: + +**Actors and Roles:** + +- **Notification Senders:** Entities that detect and report disruptions within the supply chain, acting as the primary source of real-time disruption information. +- **Notification Recipient:** Stakeholders who receive the disruption notifications, needing to adjust their operations or decision-making in response to the reported disruptions. + +**Potential Triggers:** + +Supply Chain Disruption Notifications are recommended for exceptional circumstances and are not intended for routine communication regarding changes in demands or capacities. For the latter the usage of the DCM and the PURIS KIT/Apps is recommended. As outlined, these notifications are specifically deployed in response to extraordinary events that significantly impact the supply chain. The determination of what constitutes an "extraordinary" event is at the discretion of the sender. Below is a list of potential triggers for issuing a Supply Chain Disruption Notification: + +- **Affected Period:** An assessment indicating that the issue or situation will have a long-term impact that cannot be resolved within a defined period of weeks or persists over an extended duration. +- **Duration:** Duration of capacity reduction or change in demand, such as whether capacity is diminished over a specified period. +- **Degree of Deviation:** The degree of capacity loss or demand change is typically addressed in the normal failure batch by setting user capacity to zero. However, if significant changes occur, an alert may be triggered. +- **Affected number of business partners:** Assessment indicates that the problem or situation will impact additional business partners beyond the direct 1:1 business relationship and cannot be resolved solely within that relationship. + +**Data Exchange and Notification Transmission:** + +- **Disruption Information:** Detailed notifications about the nature, scope, and expected impact of the disruption, including estimated duration and affected materials or components if already known/identified. +- **Impact Assessment:** Recipients evaluate the potential impact of the disruption on their operations, considering factors like inventory levels, production schedules, and delivery commitments. Further, they evaluate if they need to inform their partners via a new notification. +- **Response Coordination:** Facilitates a collaborative approach among impacted stakeholders to develop and implement mitigation strategies, ensuring a unified response to the disruption. + +**Key Processes:** + +- **Direct Notification:** Immediate dissemination of disruption information from the sender to all relevant recipients (limited to 1-up/1-down) within the network. +- **Collaborative Resolution:** Stakeholders work together to address the disruption, sharing insights and potential solutions to mitigate the impact across the supply chain. +- **Update and Feedback Loop:** Continuous updates on the evolving status of the disruption and its resolution, enabling stakeholders to adapt their strategies in real-time. + +**Operational Adaptation:** + +- **Proactive Adjustment:** Stakeholders use the received information to proactively adjust production plans, inventory management, and logistical arrangements. +- **Strategic Planning:** Incorporation of disruption data into strategic planning, enhancing the supply chain's agility and preparedness for future disruptions. + +**Notification Identifiers:** + +To differentiate messages and maintain chronological and dependance tracking, distinct IDs are included in the notifications sent: + +- **Notification ID:** Unique ID identifying the notification. +- **Related Notification ID:** Unique ID identifying a previously received notification triggering the exchange of the current notification. +- **Source Notification ID:** Unique ID identifying a source notification related to the current one. + +The business process underpinned by the "Supply Chain Disruption Notifications" standard empowers partners within the Catena-X network to respond effectively to unexpected disruptions. This system enhances the industry's ability to maintain operational continuity, mitigate risks, and uphold service levels, contributing to a more resilient and responsive automotive supply chain. + +## Business Architecture + +### Introduction + +The "Supply Chain Disruption Notifications" standard within the Catena-X framework facilitates a structured and efficient communication process for disruption notifications across the automotive supply chain. This system is integral for enabling rapid dissemination and reception of critical disruption information among stakeholders. The architecture of this system is designed to: + +- Provide operative capabilities for stakeholders to exchange supply chain disruption notifications with immediate upstream and downstream partners, ensuring a direct and efficient communication pathway. +- Define data models that are essential for the interoperable and standardized exchange of supply chain disruption information. +- Offer guidance on how stakeholders should disseminate and react to supply chain disruption notifications, supporting scenarios that involve complex supply chain structures such as multi-sourcing or multi-customer frameworks. +- Propose methodologies for leveraging supply chain disruption data to enhance decision-making and supply chain resilience (referencing the provided use case example). + +### Components + +The "Supply Chain Disruption Notifications" framework consists of several components that work in unison to ensure a robust and responsive system: + +- **Notification Exchange Application:** A software component that enables stakeholders to send and receive supply chain disruption notifications. It integrates with existing systems to extract and input relevant data, ensuring the timeliness and accuracy of the information exchanged. +- **Connector:** This component manages the secure and compliant exchange of data, acting as a bridge between business partners within the Catena-X network. It ensures that data flow adheres to standardized communication and security measures. +- **Data Provisioning & Transformation:** This aspect involves transforming internal data into the standardized format required for the notification system and vice versa, allowing seamless integration with internal systems and processes. +- **Identity and Access Management (IAM):** Ensures secure access to the system, managing authentication and authorization across the Catena-X network. It includes mechanisms to verify the identity and credentials of participating entities, ensuring that data exchange occurs within a trusted environment. + +By adopting this business architecture, stakeholders in the automotive supply chain can significantly enhance their ability to manage and mitigate the impacts of disruptions, fostering a more resilient and agile supply chain ecosystem within the Catena-X framework. + +## Logic & Schema + +To send and receive Supply Chain Disruption Notifications, an internal process for evaluating incoming notifications as well as sending new notifications needs to be implemented. The following figure visualises the process in the supply chain, in which a tier 2 company sends a notification to its customers and a supplier. + +![Logic & Schema](res/image-2024-3-5_15-22-27-1.png) +_Figure 2: Visualisation of the notifications process_ + +## Standards + +The relevant standards can be found in the [Catena-X Association Standard Library](https://catenax-ev.github.io/docs/next/standards/overview): + +- [CX-0146 Supply Chain Disruption Notifications 1.0.0](https://catenax-ev.github.io/docs/next/standards/CX-0146-SupplyChainDisruptionNotifications) + +### Normative References + +| Standard | Standard Name | +| -------- | ----------------------------------- | +| CX-0001 | EDC Discovery API | +| CX-0003 | SAMM Aspect Meta Model | +| CX-0006 | Registration and initial onboarding | +| CX-0010 | Business Partner Number (BPN) | +| CX-0015 | IAM & Access Control Paradigm | +| CX-0018 | Dataspace Connectivity | +| CX-0126 | Industry Core: Part Type | +| CX-0149 | Verified Company Identity | + +### Non-Normative References + +| Context | Link | +| --------- | -------------------------------------------- | +| CX - 0118 | Delivery Information | +| CX - 0120 | Short-Term Material Demand | +| CX - 0121 | Planned Production Output | +| CX - 0122 | Item Stock | +| CX - 0128 | Demand and Capacity Management Data Exchange | +| CX - 0145 | Days of Supply | + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode) + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_changelog.md new file mode 100644 index 00000000000..5bc6357b679 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_changelog.md @@ -0,0 +1,44 @@ +--- +id: Supply Chain Disruption Notifications Changelog +title: Changelog +description: 'Supply Chain Disruption Notifications' +sidebar_position: 1 +--- + + +### Supply Chain Disruption Notifications + +All notable changes to this Kit will be documented in this file. + +## [1.0.0] - 2024-08-01 + +### Added + +- Initial version of the Kit including adoption, development and operations view + +### Changed + +- ./. + +### Removed + +- ./. + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 Mercedes Benz Group AG +- SPDX-FileCopyrightText: 2024 BASF SE +- SPDX-FileCopyrightText: 2024 SupplyOn AG +- SPDX-FileCopyrightText: 2024 Henkel AG & Co.KGaA +- SPDX-FileCopyrightText: 2024 Contributors of the Eclipse Foundation +- SPDX-FileCopyrightText: 2024 ISTOS GmbH (a member of the DMG Mori Group) +- SPDX-FileCopyrightText: 2024 Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. (represented by Fraunhofer ISST) +- SPDX-FileCopyrightText: 2024 TRUMPF Werkzeugmaschinen SE + Co. KG +- SPDX-FileCopyrightText: 2024 Volkswagen AG +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md new file mode 100644 index 00000000000..276bbf957e4 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_operations_view.md @@ -0,0 +1,20 @@ +--- +id: Operations View PURIS-DCM Supply Chain Disruption Notifications +title: Operations View +description: 'PURIS-DCM Supply Chain Disruption Notifications' +sidebar_position: 4 +--- + +## Reference Implementation + +The [PURIS FOSS reference implementation](https://github.com/eclipse-tractusx/puris/tree/main/docs) serves as an application allowing to send and receive [Demand and Capacity Notifications](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.demand_and_capacity_notification/2.0.0/DemandAndCapacityNotification.ttl) among other data objects that are described in the [PURIS KIT](https://eclipse-tractusx.github.io/docs-kits/kits/PURIS%20Kit/Software%20Development%20View/Software%20Development%20PURIS%20Kit). + +Arc42 of the implementation is found [here](https://github.com/eclipse-tractusx/puris/blob/main/docs/architecture/Index.md). + +## Setup + +The PURIS FOSS reference implementation can be deployed by following the [project Installation](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/INSTALL.md) guide. + +To run a test scenario locally, follow the [local testing and development guide](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/INSTALL.md). + +A guide to run the integration tests is found [here](https://github.com/eclipse-tractusx/puris/blob/29a20f9ea38e1eb54a9d9c938b94b57dfc898c32/local/postman/README.md). diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md new file mode 100644 index 00000000000..93edd721290 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/page_software-development-view.md @@ -0,0 +1,275 @@ +--- +id: Software Development View PURIS-DCM Supply Chain Disruption Notifications +title: Software Development View +description: "PURIS-DCM Supply Chain Disruption Notifications" +sidebar_position: 3 +--- + +## Introduction + +The Development View provides information and resources for implementing Supply Chain Disruption Notifications (further: notifications) standards. The architecture chapter describes the interactions of all components in the notifications context. The policies chapter describes the access policies, usage policies and contract definitions. The protocol chapter gives examples how the data asset is registered in the connector. In the chapter sample data the semantic data model of the Supply Chain Disruption Notifications are defined with a reference to the turtle file and an example JSON payload. For quick installation guides and reference to a ready implementation of notifications, please see Operation View. + +## Architecture + +Figure 1 shows the high-level architecture of the notification exchange in the Catena-X dataspace and the services that +are involved. Both the notification sender and the notification recipient must be members of the Catena-X network in +order to communicate with each other. With the help of the Identity Access Management (IAM) each participant can +authenticate itself, verify the identity of the requesting party and decide whether to authorize the request. + +![Architecture Sketch](res/PURIS-R2408-architecture-sketch.png) +_Figure 1: High-level architecture of the notification exchange in the Catena-X dataspace_ + +From conceptual point of view the system consists of different building blocks. These building blocks in the following +diagram show which participant deploys which components. Identification and Access Management is omitted for simplicity +reasons. + +![System Architecture](res/PURIS-R2408-system-architecture%20sketch.png) +_Figure 2: Whitebox view on a PURIS system_ + +## Policies + +This chapter describes the access & usage policies as well as the contract definitions. For more information on the +access & usage policies, please refer to +the [policies documentation in the tractusx-edc repository](https://github.com/eclipse-tractusx/tractusx-edc/blob/main/docs/usage/management-api-walkthrough/02_policies.md).[​](https://github.com/eclipse-tractusx/tractusx-edc/tree/main "Direct link to heading") + +### Access Policies[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#access-policies "Direct link to heading") + +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the +connector, as described in +the [Connector KIT](https://eclipse-tractusx.github.io/docs-kits/next/category/connector-kit). + +To decide which company has access to the data assets, access policy should be used. Note that without protecting data +assets with access policies, they become publicly available in the Catena-X network which is not recommended. + +Therefore, every asset should be protected and only be made available through specified BPNL policy groups or specific +BPNL policies. For a detailed description, +see [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +#### BPNL Access Policy[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#bpn-access-policy "Direct link to heading") + +This policy allows limiting access to a data offer based on a list of specific BPNLs. This translates to the following +functionality: + +- The data offer creator will be able to create a policy listing all the BPN that can access the data offer. +- This means that only the connectors registered in the Catena-X network with the BPNL listed in the policy can see the + data offer and accept it (for the creation of data contracts and subsequent data exchange). + +#### Implementation Hint + +Examples including a JSON payload for a BPNL group access policy are described in +the [Business Partner Validation Extension](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/edc-extensions/bpn-validation). + +The reference implementation (see Operation View) also provides an extension to add the BPNL of the requesting party to +the header of a proxied request. As a result, during implementation one can use this BPNL to design the internal +submodel API. + +### Usage Policies[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#usage-policies "Direct link to heading") + +To decide which company can use the data asset under specific conditions, usage policies (also referred to as contract +policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. +Currently, the usage policies aren't technically enforced but based on a legal framework agreements. Signing of +framework agreements can be enforced during negotiation depending on the connector implementation. + +Policies are defined based on the [W3C ODRL format](https://www.w3.org/TR/odrl-model/). This allows a standardized way +of formulating policy payloads. It further allows to stack different constraints with the `odrl:and` operator. +Therefore, every data provider can decide on his or her own under which conditions their data assets are shared in the +network. It is recommended to restrict the data usage for all exchanged data standards. An example of one usage policy +containing three different constraints is shown and described in the following: + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "", + // Important for the contract definition + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "@type": "LogicalConstraint", + "and": [ + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "" + }, + { + "@type": "LogicalConstraint", + "leftOperand": "cx-policy:ContractReference", + "operator": "eq", + "rightOperand": "x12345" + } + ] + } + } + ] + } +} +``` + +It is recommended to use the following values for rightOperand of FrameworkAgreement and UsagePurpose depending on the +use case: + +| Use case | cx-policy:FrameworkAgreement | cx-policy:UsagePurpose | +| -------- | ---------------------------- | ---------------------- | +| DCM | `DemandCapacity:1.0` | `cx.dcm.base:1` | +| PURIS | `Puris:1.0` | `cx.puris.base:1` | + +More information can be found in +the [Policies in Catena-X of the Connector KIT](https://eclipse-tractusx.github.io/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view_policies_cx/). + +### Contract Definitions[​](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#contract-definitions "Direct link to heading") + +In the connector, every policy is associated with a contract. Thus, a contract definition is needed, detailing what +policies are required when contracting assets. + +When using an above mentioned Access Policy, their `ACCESS_POLICY_ID` needs to be included as a value of +the `accessPolicyId` key in the contract definition. + +When using an above mentioned Usage Policy, their `CONTRACT_POLICY_ID` needs to be included as a value of +the `contractPolicyId` key in the contract definition. + +```json +{ + "id": "{{CONTRACT_DEFINITION_ID}}", + "criteria": [ + { + "operandLeft": "asset:prop:id", + "operator": "=", + "operandRight": "{{ASSET_ID}}" + } + ], + "accessPolicyId": "{{ACCESS_POLICY_ID}}", + "contractPolicyId": "{{CONTRACT_POLICY_ID}}" +} +``` + +For a more detailed tutorial on creating contracts for assets, see +in [Chapter 3 of the End-to-End Adopter Journey](https://eclipse-tractusx.github.io/docs/tutorials/e2e/boost/provideData). + +## Protocol + +This chapter contains data structures that are designed for providing data for notifications. + +### Connector Data Asset Structure for "Notification API" + +To enable notifications, the recipient has to register its notification API as a data asset as follows: + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "dct": "http://purl.org/dc/terms/" + }, + "@id": "{{DEMAND_AND_CAPACITY_NOTIFICATIONS_REQUEST_API_ASSET_ID}}", + "properties": { + "dct:type": { + "@id": "cx-taxo:DemandAndCapacityNotificationApi" + }, + "cx-common:version": "1.0", + "description": "Demand and Capacity Notification API Endpoint" + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "proxyBody": "true", + "proxyMethod": "true", + "baseUrl": "{{DEMAND_AND_CAPACITY_NOTIFICATION_API_ENDPOINT}}", + "contentType": "application/json" + } +} +``` + +This asset can then be contracted by senders of notifications. + +## Sample Data + +The semantic models in the business context are defined in the Adoption View of this KIT. This chapter gives additional +information for each aspect model by providing the example data objects in JSON format, link to the RDF turtle file on +GitHub and unique semantic id of the aspect model. Currently the standard _Supply Chain Disruption Notifications_ +provides one semantic model _Demand and Capacity Notification_. + +### 1. Demand and Capacity Notification + +GitHub link to semantic data model in RDF turtle +format: + +This aspect model has the following semantic id: + +`urn:samm:io.catenax.demand_and_capacity_notification:2.0.0#DemandAndCapacityNotification` + +The following JSON provides an example of the value-only serialization of the _Supply Chain Disruption Notification_ +aspect model for a sample notification. The notification informs the supplier about a strike at the customer's site +resulting in a demand reduction between 12.12.2023 and 17.12.2023. + +```json +{ + "affectedSitesSender": ["BPNS7588787849VQ"], + "affectedSitesRecipient": ["BPNS6666787765VQ"], + "materialNumberSupplier": ["MNR-8101-ID146955.001"], + "contentChangedAt": "2023-12-13T15:00:00+01:00", + "startDateOfEffect": "2023-12-13T15:00:00+01:00", + "materialNumberCustomer": ["MNR-7307-AU340474.002"], + "leadingRootCause": "strike", + "effect": "demand-reduction", + "notificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "relatedNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "sourceNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "text": "Capacity reduction due to ongoing strike.", + "expectedEndDateOfEffect": "2023-12-17T08:00:00+01:00", + "status": "open" +} +``` + +The following JSON provides an example with the same payload and additionally with a message header. For more +information on the message header, see +the [RDF turtle file of the message header](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.shared.message_header/3.0.0/MessageHeaderAspect.ttl). + +```json +{ + "header": { + "senderBpn": "BPNL7588787849VQ", + "context": "CX-DemandAndCapacityNotification:1.0", + "messageId": "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn": "BPNL6666787765VQ", + "sentDateTime": "2023-12-01T21:24:00+07:00", + "version": "3.0.0" + }, + "content": { + "demandAndCapacityNotification": { + "affectedSitesSender": ["BPNS7588787849VQ"], + "affectedSitesRecipient": ["BPNS6666787765VQ"], + "materialNumberSupplier": ["MNR-8101-ID146955.001"], + "contentChangedAt": "2023-12-13T15:00:00+01:00", + "startDateOfEffect": "2023-12-13T15:00:00+01:00", + "materialNumberCustomer": ["MNR-7307-AU340474.002"], + "leadingRootCause": "strike", + "effect": "demand-reduction", + "notificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "relatedNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "sourceNotificationId": "urn:uuid:d8b6b4ca-ca9c-42d9-8a34-f62591a1c68a", + "text": "Capacity reduction due to ongoing strike.", + "expectedEndDateOfEffect": "2023-12-17T08:00:00+01:00", + "status": "open" + } + } +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx new file mode 100644 index 00000000000..9badcfefcbf Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/2024-07-23_Messaging process_EN_short.pptx differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg new file mode 100644 index 00000000000..29a46958d32 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Notification Recipient
                                    Notification Recipient
                                    (4) Receive Notitification
                                    (4) Receive Notitification
                                    Connector
                                    Connector
                                    Business Application
                                    Business Ap...
                                    Notification Endpoint
                                    Notificatio...
                                    (1) Register Notification Endpoint
                                    (1) Register Notification Endpoint
                                    Notification Sender
                                    Notification Sender
                                    Connector
                                    Connector
                                    Business Application
                                    Business Ap...
                                    (3) POST Notification
                                    (3) POST Notification
                                    (2) Connector Communication
                                      (Catalog/Contracting/Transfer)  
                                    (2) Connector Communication...
                                    Catena-X Core Service Provider
                                    Catena-X Core Service Provider
                                    IAM
                                    IAM
                                    Shared Identity Provider
                                    Shared Ident...
                                    Central Identity Provider
                                    Central Iden...
                                    Credential Service
                                    Credential S...
                                    BPN-DID Resolution Service
                                    BPN-DID Reso...
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                      Authentication / Authorization  
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png new file mode 100644 index 00000000000..63127e10a42 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-architecture-sketch.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg new file mode 100644 index 00000000000..a869a090cde --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    «data ecosystem»
                                    Catena-X
                                    «data ecosystem»...
                                    «system»
                                    Notification Recipient
                                    «system»...
                                    «system»
                                    Notification Sender
                                    «system»...
                                    Update OWN data
                                    Update OWN data
                                    «subsystem»
                                    Data Provisioning
                                    & Transformation
                                    «subsystem»...
                                    Notification API
                                    Notification API
                                    Register Notification API
                                    Query Partner Data,
                                    Negotiate Contract,
                                    Initialize Data Transfer
                                    Register Notification API...
                                    Lookup partners' EDC address
                                    Lookup partners' EDC address
                                    «subsystem»
                                    Notification Source

                                    «subsystem»...
                                    View Catalog (Data Offers),
                                    Negotiate Contracts,
                                    Provide Notification API,
                                    Receive Notification
                                    View Catalog (Data Offers),...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    Receive OWN Data
                                    Receive OWN Data
                                    «Service»
                                    Discovery Service
                                    «Service»...
                                    «subsystem»
                                    Connector
                                    «subsystem»...
                                    «subsystem»
                                    Notification Sink
                                    «subsystem»...
                                    Internal Systems
                                    I...
                                    Other interfaces
                                    O...
                                    Notification API
                                    Notification API
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png new file mode 100644 index 00000000000..eb73363ca8d Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/PURIS-R2408-system-architecture sketch.png differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg new file mode 100644 index 00000000000..80f5b5cfa44 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Process2SCDN.jpg differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx new file mode 100644 index 00000000000..9fcc38c4dc8 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/Schaubild Notifications.pptx differ diff --git a/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png new file mode 100644 index 00000000000..9365d9450d5 Binary files /dev/null and b/docs-kits_versioned_docs/version-24.08/kits/Supply Chain Disruption Notifications KIT/res/image-2024-3-5_15-22-27-1.png differ diff --git a/docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Digital Twin Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx new file mode 100644 index 00000000000..afc543ee8cd --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_app-provider_software-development-view.mdx @@ -0,0 +1,155 @@ +--- +id: App Provider Development View Traceability Kit +title: App Provider +description: "Traceability Kit" +sidebar_position: 2 +--- + + + +import Notice from '../part_notice.mdx' + +![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) + +The following page offers specific developer resources, including payloads and API endpoints for data consumer and app provider. It is important to read the business and architecture view first to understand everything. + +## Quality Notifications +The traceability app providers are supposed to implement the capabilities to enable the standardized exchange of information on quality notifications in Catena-X network (Quality Alert and Quality Investigation). +**Quality investigations** refer to sending standardized notifications to direct suppliers (top-down) while **Quality Alerts** refer to sending notifications to direct customers (bottom-up). This allows supply chain stakeholders to promptly transmit quality notifications to their immediate business partners, in instances where quality issues pertain to supplied products or impact already manufactured items incorporating the defective component, until the root of the problem or affected end-products are determined. +This feature will enable the whole industry to exchange and act upon quality issues in a more standardized, integrated, accelerated and precise manner in order to streamline claim management, avoid general and inaccurate recalls as well as reduce cost and safeguard brand reputation. + +In order to uniquely reference the affected parts across the network in the context of a quality incident, the exchange of quality notifications uses Catena-X Unique ID, which are the network-wide unique identifiers for a serialized part or batch, for which a digital twin has been created. Therefore, an app provider should also deliver capabilities for standardized creation of digital twins of vehicles, parts and materials as described in the [Industry Core KIT](../../../category/industry-core-kit) and [Digital Twin KIT](../../../category/digital-twin-kit). +![Quality Notifications](../assets/quality_notifications.png) + +### Quality Notification Process +The notification process takes place between traceability applications or application stacks, and the focus is on minimal interaction, which must be supported by all applications participating in a quality notification or quality investigation scenario. This minimal interaction includes sending and receiving of quality notification as well as updating of the notification state. Application internals like user journeys, process steps or workflows for notification creation and management in an application are not standardized within Catena-X, and therefore omitted. + +The notification states and their cycle are described in the following figure. +![Notification State Model](../assets/notification-state-model.png) + +### Quality Notification API +A standardized set of APIs and payloads are specified to enable partners to send quality notifications in a standardized way while already knowing which parts (i.e., serialized parts or batches) and which direct customers or suppliers are affected. Notifications are - in contrast to classical data offers in Catena-X which is created for consumption by external stakeholders - a way to push notification related data from a sender to a receiver. For now, this notification API is limited to the sending and receiving of quality notifications as well as the update of the notification status following a state model. +It is important to mention that the notification API shall be implemented into each participant's traceability solution or solution stack in order to be able to receive information related to quality issues. The implemented endpoints shall be able to process the defined request body and respond with the HTTP status codes and - if required - reply with the defined response body. +Meanwhile, this notification API shall only be accessible after successful contract negotiation via Connector based on [Dataspace Protocol (DSP)](https://docs.internationaldataspaces.org/dataspace-protocol/), since the API is made available as part of an EDC data asset with usage policy attached. Please refer to the Notification API ([v1.2.1](../openapi/notifications_1-2-1.yaml), [v2.0.0](../openapi/notifications_2-0-0.yaml)) for more details. + +## Asset Registration via Connector +Since the notification APIs are published towards the network using a data asset/contract definition in terms of the dataspace protocol (DSP), there are general guidelines defined for registering a notification receiving endpoint within a data asset. The traceability solutions are supposed to implement a similar data asset with the same structure and provisioning towards Catena-X. +It is important to mention that it could be possible that more than one notification endpoint needs to be made available in parallel towards the network in order to support the versioning and compatibility strategy in the Catena-X ecosystem. + +### Asset Creation +The notification endpoint providers must set properties `dct:type` and `cx-common:version` which are used to classify the asset so that partner app providers are able to filter the right assets. + +In general, during EDC asset creation, the notification API version needs to provided for `cx-common:version` as specified in OpenAPI documentation. For `dct:type` the following asset typizations should be used during implementation: +- ReceiveQualityInvestigationNotification +- ReceiveQualityAlertNotification +- ReceiveQualityAlertNotification +- UpdateQualityInvestigationNotification + +Please refer to the [Digital Twin KIT](../../../category/digital-twin-kit) for more details. + +**Example Payload for Asset Creation:** +```json +{ + "@context": { + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "cx-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "{{ _.edcAssetId }}", + "properties": { + "dct:type": { + "@id": "cx-taxo:ReceiveQualityInvestigationNotification" + }, + "cx-common:version": "1.2", + }, + "privateProperties": { + }, + "dataAddress": { + "@type": "DataAddress", + "type": "HttpData", + "baseUrl": "{{ _.url_backend }}", + "proxyQueryParams": "true", + "proxyPath": "true", + "proxyMethod": "false", + "oauth2:tokenUrl": "{{ _.url_keycl_backend }}", + "oauth2:clientId": "{{ _.client_id_backend }}", + "oauth2:clientSecretKey": "{{ _.sec_name_vault }}" + } +} +``` + +### Policy Creation +For general guidelines for policy creation, please refer to [Industry Core KIT](../../../category/industry-core-kit) and [Connector KIT](../../../category/connector-kit). +It is possible to restrict visibility of data offer for notification API with access policy either for members of Catena-X (“Membership”) and one or several Data Consumers identified by a specific business partner number ("BusinessPartnerNumber"). +As for usage policy, participants and related services must restrict the data usage for notification endpoints by using the following policy rules: +- Data Exchange Governance (leftOperand: “FrameworkAgreement”) – The official "Data Exchange Governance" is published on [Catena-X website](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations) +- at least one use case purpose (“UsagePurpose”) from the [ODRL policy repository](https://github.com/catenax-eV/cx-odrl-profile). + +Additionally, respective usage policies MAY include the following policy rule: +- Reference Contract (“ContractReference”). + +**Example Payloads for Policy Creation:** +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, + "@id": "", + "policy": { + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "and": [ + { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "DataExchangeGovernance:1.0" + }, + { + "leftOperand": "cx-policy:UsagePurpose", + "operator": "eq", + "rightOperand": "cx.core.qualityNotifications:1" + } + ] + } + } + ] + } +} +``` + +## Asset Consumption via Connector + +### Versioning +The notification sender as well as a requestor of an asset must be able to handle multiple assets for this endpoint, being differentiated only by the version (`cx-common:version`) and should choose the asset with the highest compatible version number implemented by themselves. If the requestor cannot find a compatible version with their own, the requestor must not initiate contract negotiation. + +### Policy Check +Meanwhile, the requesting application must be able to validate whether the attached policy constraints (see section _Policy Creation_ above) in the data assets follow company-defined rules and regulations, while selecting the appropriate offer. If no data offer is compliant with company rules for a queried data asset, the requestor must terminate the data transfer. + + diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx similarity index 84% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx index c7aa04b8a2f..3b534d8fb23 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/page_data-provider_software-development-view.mdx @@ -25,14 +25,17 @@ This work is licensed under the CC-BY-4.0 (https://creativecommons.org/licenses/ import Notice from '../part_notice.mdx' import AspectModels from './part_aspect-models.mdx' -import Policies from './part_policies.mdx' ![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) The following page offers specific developer resources, including payloads and API endpoints for data providers. It is important to read the business and architecture view first to understand everything. +## Aspect Models + - +## Policies + +Access policies like the BPN access policy and Usage Policies / Contract Policies are described in the [policy section of the Industry Core KIT](../../Industry%20Core%20Kit/Software%20Development%20View/Policies%20Development%20View%20Industry%20Core%20Kit). diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/part_aspect-models.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/part_aspect-models.mdx new file mode 100644 index 00000000000..8f2074c6f0f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/Software Development View/part_aspect-models.mdx @@ -0,0 +1,156 @@ +--- +sidebar_class_name: hidden +--- + + + +import AspectModelOverview from './../../Industry Core Kit/Software Development View/part_aspect-model-overview.mdx' + +Aspect models are mostly easy to create by transforming a company's internal data into the target aspect model. Transformations are mostly straightforward in these cases. If necessary, special steps in creating aspect models are mentioned in the corresponding sections. + + + +### TractionBatteryCode + +The aspect provides the information of the Traction battery code of a battery cell, a battery module or a battery pack according to the chinese standard GB/T 34014-2017. Furthermore, it provides the traction battery codes for the assembled sub parts of the component, e.g. Traction battery code of a battery module plus all the traction battery codes of the assembled battery cells of this battery module. + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.traction_battery_code/1.0.0 + +##### Example: Submodel `TractionBatteryCode` for a Battery Cell + +```json +{ + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382320" +} +``` + +##### Example: Submodel `TractionBatteryCode` for a Battery Module + +```json +{ + "productType": "module", + "tractionBatteryCode": "B54MCPM27KLPCLE6A7519857", + "subcomponents": [ + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382320" + }, + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382321" + } + ] +} +``` + +##### Example: Submodel `TractionBatteryCode` for a Battery Pack + +```json +{ + "productType": "pack", + "tractionBatteryCode": "4A6PCPM27KLPCLE742946319", + "subcomponents": [ + { + "productType": "module", + "tractionBatteryCode": "B54MCPM27KLPCLE6A7519857", + "subcomponents": [ + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382320" + }, + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382321" + } + ] + }, + { + "productType": "module", + "tractionBatteryCode": "B54MCPM27KLPCLE6A7519858", + "subcomponents": [ + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382322" + }, + { + "productType": "cell", + "tractionBatteryCode": "X12CCPM27KLPCLE662382323" + } + ] + } + ] +} +``` + +### SoftwareInformation +The software information aspect model contains the essential information of all software components that have been implemented or flashed in an instantiated part (e.g. serialized part). + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.software_information/1.0.0 + +##### Example: Submodel `SoftwareInformation` +```json +{ + "catenaXId": "urn:uuid:454ffa8e-f88d-4ad1-be45-06981756aeb1", + "softwareInformation": [ + { + "name": "ECU Software XY12345", + "softwareId": "SW123456789", + "version": "1.2.0", + "lastModifiedOn": "2023-03-21T08:17:29.187+01:00" + }, + { + "name": "Controller-SW", +   "softwareId": "SW987654321", + "version": "3.0.0", + "lastModifiedOn": "2024-04-30T08:17:29.187+01:00" + } + ] +} +``` + +### CertificateSigningRequests +The Certificate Signing Requests aspect model contains the essential information needed to request specific certificates for a unique ECU component via a Certificate Signing Request (CSR) and to validate and certificate the ECU against this data. + +A CSR (Certificate Signing Request) is a 64-based PEM formatted and encrypted message to request a (digital) certificate. The CSR validates the information required by a specific certification authority (CA) to issue the associated certificate. + +Aspect model in GitHub: +- Version 1.0.0: https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.certificate_signing_requests/1.0.0 + +##### Example: Submodel `CertificateSigningRequests` +```json +{ + "certificateSigningRequestList": [ + { + "certificateSigningRequest": "MIIC2TCCAToCAQAwgZwxEzARBgNVBAgTClByb2R1Y3Rpb24xDDAKBgNVBAcMA0FUTTESMBAGA1UEChMJQk1XIEdyb3VwMRcwFQYDVQQLEw5WZWhpY2xlUEtJLUVDVTEXMBUGA1UEAxMOSVBzZWMtaW50ZXJuYWwxMTAvBgNVBAUTKEVDVS1VSUQ6QzAwMDgyNDI3MUREQTYwMDAwMDAwMDAwMjdBQTg0MjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAShNm4y5Mdzu4b9xDW3TfBZr", + "subjectLocality": "ATM--02", + "subjectCommonName": "ID", + "subjectSerialNumber": "SN12345678" + }, + { + "certificateSigningRequest": "MII3tbCCAToCAQAwgZwxEzARBgNVBAgTClByb2R1Y3Rpb24xDDAKBgNVBAcMA0FUTTESMBAGA1UEChMJQk1XIEdyb3VwMRcwFQYDVQQLEw5WZWhpY2xlUEtJLUVDVTEXMBUGA1UEAxMOSVBzZWMtaW50ZXJuYWwxMTAvBgNVBAUTKEVDVS1VSUQ6QzAwMDgyNDI3MUREQTYwMDAwMDAwMDAwMjdBQTg0MjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAShNm4y5Mdzu4b9xDW3TfBZr", + "subjectLocality": "ATM--02", + "subjectCommonName": "IPsec-Internal", + "subjectSerialNumber": "SN12345678" + } + ] +} +``` diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/architecture_level_1.png b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/architecture_level_1.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/architecture_level_1.png rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/architecture_level_1.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/architecture_level_1.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/architecture_level_1.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/architecture_level_1.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/architecture_level_1.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/data_provisioning_data_flow.png b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/data_provisioning_data_flow.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/data_provisioning_data_flow.png rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/data_provisioning_data_flow.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/data_provisioning_data_flow.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/data_provisioning_data_flow.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/data_provisioning_data_flow.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/data_provisioning_data_flow.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/notification-state-model.png b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/notification-state-model.png rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/notification-state-model.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/notification-state-model.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.png.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.svg b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.svg new file mode 100644 index 00000000000..31952958177 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.svg @@ -0,0 +1,4 @@ + + + +
                                    ONLY by the Sender
                                    CREATED
                                    with Http Status Code 201
                                    ONLY by the Sender
                                    SENT
                                    ONLY by the Sender
                                    RECEIVED
                                    ONLY by the Sender
                                    ACKNOWLEDGED
                                    ONLY by the Sender
                                    ACCEPTED
                                    ONLY by the Sender
                                    DECLINED
                                    X
                                    CLOSED
                                    X
                                    Legend
                                    Sender
                                    Receiver
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/quality_notifications.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/quality_notifications.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/notification-state-model.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/quality_notifications.png b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/quality_notifications.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/quality_notifications.png rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/quality_notifications.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_customer-journey.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/quality_notifications.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_customer-journey.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/quality_notifications.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_customer-journey.png b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_customer-journey.png similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_customer-journey.png rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_customer-journey.png diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_sources.pptx.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_customer-journey.png.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_sources.pptx.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_customer-journey.png.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_sources.pptx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_sources.pptx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/assets/traceability_sources.pptx rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_sources.pptx diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_sources.pptx.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/assets/traceability_sources.pptx.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/_category_.json diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.puml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notifcation_send-receive.puml similarity index 95% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.puml rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notifcation_send-receive.puml index 3185511e09e..0ca921777e6 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notifcation_send-receive.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notifcation_send-receive.puml @@ -49,8 +49,9 @@ NAdapter -> NAdapter: Find and Select Contract rnote right NAdapter Find the correct contract offer with: -"asset:prop:notificationtype": "qualityinvestigation", -"asset:prop:notificationmethod": "receive" +"dct:type": { + "@id": "cx-taxo:ReceiveQualityInvestigationNotification" + }" end rnote deactivate NAdapter NAdapter -> SEDC: Intiatiate Contract Negotiation @@ -80,4 +81,4 @@ SEDC -[dotted]-> NAdapter: ""201"" OK NAdapter -[dotted]-> TraceApp1: ""201"" OK TraceApp1 -> TraceApp1: Update Notification Status\nStatus := RECEIVED -@enduml \ No newline at end of file +@enduml diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml similarity index 96% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml index b9b2b61b9bd..1df850a8630 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.puml @@ -49,8 +49,9 @@ NAdapter -> NAdapter: Find and Select Contract rnote right NAdapter Find the correct contract offer with: -"asset:prop:notificationtype": "qualityalert", -"asset:prop:notificationmethod": "receive" +"dct:type": { + "@id": "cx-taxo:ReceiveQualityAlertNotification" + }" end rnote deactivate NAdapter NAdapter -> SEDC: Intiatiate Contract Negotiation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.svg b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.svg new file mode 100644 index 00000000000..0b6aae5af73 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.svg @@ -0,0 +1 @@ +SenderReceiverSome (Traceability) AppSome (Traceability) AppNotification EDC AdapterNotification EDC AdapterEDCEDCDiscovery ServiceDiscovery ServiceEDCEDCSome (Traceability) AppSome (Traceability) AppNot mandatory as the interactionwith the EDC can be implementedalso in the (Traceability) App. However, a similar functionality(e.g., fetch catalog)- as shown below - must beprovided.[01]Create EDC Asset for"Quality Alert Receipt"withDataAddressasHTTP POSTendpoint[02]OK[03]Identify Defective Part(s) / Batch(es)[04]Identify BPN for Defective Part(s) / Batch(es)[05]Create NotificationStatus := CREATED[06]Resolve EDC EndpointBPN of defective part(s) / batch(es)[07]OK[08]Update Notification StatusStatus := SENT[09]Send NotificationReceiptPayload as described above.[10]Fetch Catalog[11]Fetch Catalog[12]Find and Select ContractFind the correct contract offer with: "dct:type": {"@id": "cx-taxo:ReceiveQualityAlertNotification"}"[13]Intiatiate Contract Negotiation[14]Contract Negotiation[15]Inititate Data Transfer[16]Establish Channel[17]POST /public/...Payload as described above.[18]POST /public/...Payload as described above.[19]POST /notifications/qualityalerts/receivePayload as described above.The http path depends on the DataAddressin the EDC Data Asset. Thus, it depends on the(Trace) app.[20]201OK[21]201OK[22]201OK[23]201OK[24]Update Notification StatusStatus := RECEIVED \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-alert.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive-alert.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive.svg b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive.svg new file mode 100644 index 00000000000..bbe318cbdc1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive.svg @@ -0,0 +1 @@ +SenderReceiverSome (Traceability) AppSome (Traceability) AppNotification EDC AdapterNotification EDC AdapterEDCEDCDiscovery ServiceDiscovery ServiceEDCEDCSome (Traceability) AppSome (Traceability) AppNot mandatory as the interactionwith the EDC can be implementedalso in the (Traceability) App. However, a similar functionality(e.g., fetch catalog)- as shown below - must beprovided.[01]Create EDC Asset for"Quality Investigation Receipt"withDataAddressasHTTP POSTendpoint[02]OK[03]Identify Suspect Part(s) / Batch(es)[04]Identify BPN for Suspect Part(s) / Batch(es)[05]Create NotificationStatus := CREATED[06]Resolve EDC EndpointBPN of supect part(s) / batch(es)[07]OK[08]Update Notification StatusStatus := SENT[09]Send NotificationReceiptPayload as described above.[10]Fetch Catalog[11]Fetch Catalog[12]Find and Select ContractFind the correct contract offer with: "dct:type": {"@id": "cx-taxo:ReceiveQualityInvestigationNotification"}"[13]Intiatiate Contract Negotiation[14]Contract Negotiation[15]Inititate Data Transfer[16]Establish Channel[17]POST /public/...Payload as described above.[18]POST /public/...Payload as described above.[19]POST /notifications/qualityinvestigations/receivePayload as described above.The http path depends on the DataAddressin the EDC Data Asset. Thus, it depends on the(Trace) app.[20]201OK[21]201OK[22]201OK[23]201OK[24]Update Notification StatusStatus := RECEIVED diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_resolve-investigation.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_send-receive.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.puml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.puml similarity index 95% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.puml rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.puml index 237e391d9b3..f347228e161 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.puml @@ -42,8 +42,9 @@ NAdapter -> NAdapter: Find and Select Contract rnote right NAdapter Find the correct contract offer with: -"asset:prop:notificationtype": "qualityalert", -"asset:prop:notificationmethod": "update" +"dct:type": { + "@id": "cx-taxo:UpdateQualityAlertNotification" + }" end rnote deactivate NAdapter NAdapter -> SEDC: Intiatiate Contract Negotiation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.svg b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.svg new file mode 100644 index 00000000000..877ab229748 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.svg @@ -0,0 +1 @@ +SenderReceiverSome (Traceability) AppSome (Traceability) AppNotification EDC AdapterNotification EDC AdapterEDCEDCDiscovery ServiceDiscovery ServiceEDCEDCSome (Traceability) AppSome (Traceability) AppNot mandatory as the interactionwith the EDC can be implementedalso in the (Traceability) App. However, a similar functionality(e.g., fetch catalog)- as shown below - must beprovided.[01]Create EDC Asset for"Quality Alert Update"withDataAddressasHTTP POSTendpoint[02]OK[03]Change Notification(e.g., Status according Status Model)[04]Resolve EDC EndpointBPN of supply chain partner (as given in existing notification)[05]OK[06]Send NotificationUpdatePayload as described above.[07]Fetch Catalog[08]Fetch Catalog[09]Find and Select ContractFind the correct contract offer with: "dct:type": {"@id": "cx-taxo:UpdateQualityAlertNotification"}"[10]Intiatiate Contract Negotiation[11]Contract Negotiation[12]Inititate Data Transfer[13]Establish Channel[14]POST /public/...Payload as described above.[15]POST /public/...Payload as described above.[16]POST /notifications/qualityalerts/updatePayload as described above.The http path depends on the DataAddressin the EDC Data Asset. Thus, it depends on the(Trace) app.[17]200OK[18]200OK[19]200OK[20]200OK \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_send-receive-alert.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-alert.svg.license diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.puml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.puml similarity index 95% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.puml rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.puml index 48f8b37fdef..747f754f51f 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-investigation.puml +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.puml @@ -42,8 +42,9 @@ NAdapter -> NAdapter: Find and Select Contract rnote right NAdapter Find the correct contract offer with: -"asset:prop:notificationtype": "qualityinvestigation", -"asset:prop:notificationmethod": "update" +"dct:type": { + "@id": "cx-taxo:UpdateQualityInvestigationNotification" + }" end rnote deactivate NAdapter NAdapter -> SEDC: Intiatiate Contract Negotiation diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.svg b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.svg new file mode 100644 index 00000000000..6e03959cd5b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.svg @@ -0,0 +1 @@ +SenderReceiverSome (Traceability) AppSome (Traceability) AppNotification EDC AdapterNotification EDC AdapterEDCEDCDiscovery ServiceDiscovery ServiceEDCEDCSome (Traceability) AppSome (Traceability) AppNot mandatory as the interactionwith the EDC can be implementedalso in the (Traceability) App. However, a similar functionality(e.g., fetch catalog)- as shown below - must beprovided.[01]Create EDC Asset for"Quality Investigation Update"withDataAddressasHTTP POSTendpoint[02]OK[03]Change Notification(e.g., Status according Status Model)[04]Resolve EDC EndpointBPN of supply chain partner (as given in existing notification)[05]OK[06]Send NotificationUpdatePayload as described above.[07]Fetch Catalog[08]Fetch Catalog[09]Find and Select ContractFind the correct contract offer with: "dct:type": {"@id": "cx-taxo:UpdateQualityInvestigationNotification"}"[10]Intiatiate Contract Negotiation[11]Contract Negotiation[12]Inititate Data Transfer[13]Establish Channel[14]POST /public/...Payload as described above.[15]POST /public/...Payload as described above.[16]POST /notifications/qualityinvestigations/updatePayload as described above.The http path depends on the DataAddressin the EDC Data Asset. Thus, it depends on the(Trace) app.[17]200OK[18]200OK[19]200OK[20]200OK \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.png.license b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.svg.license similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/diagrams/notification_update-alert.png.license rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/diagrams/notification_update-investigation.svg.license diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_1-2-1.yaml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_1-2-1.yaml new file mode 100644 index 00000000000..e361a585291 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_1-2-1.yaml @@ -0,0 +1,339 @@ +openapi: 3.0.1 +info: + title: Notification API + description: Notification API + license: + name: Apache License v2.0 + url: http://apache.org/v2 + version: 1.2.1 +servers: + - url: / +tags: + - name: Notification API + description: 'Api to receive, update and fetch a notification. At the moment, quality notifications are supported. Those support two types of quality notifications: quality investigations and quality alerts.' +paths: + /qualitynotifications/receive: + post: + tags: + - Quality notification + description: Receives a new quality notification + operationId: receiveQualityNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QualityNotificationReceiveRequestBody' + responses: + "201": + description: Quality notification was received successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "409": + description: Could not accept the send quality notification, because a quality notification with that notificationId already exists + "422": + description: Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver). + /qualitynotifications/update: + post: + tags: + - Quality notification + description: Updates a quality notification + operationId: updateQualityNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QualityNotificationUpdateRequestBody' + responses: + "200": + description: Quality notification was updated successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "404": + description: Could not update the quality notification, because a quality notification with that notificationId does not exist + "422": + description: Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed). +components: + schemas: + StandardNotificationHeader: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_HeaderCharacteristic' + StandardNotificationConnectToRequestHeader: + allOf: + - $ref: '#/components/schemas/StandardNotificationHeader' + QualityNotificationReceivePayload: + type: object + required: + - notificationId + - status + - severity + - listOfAffectedItems + properties: + notificationId: + type: string + format: uuid + example: "41d743c3-6e8a-4393-88af-10494e50bea9" + description: A message can have several notifications, which are exchanged between the supply chain partners. Each notification shall be identifiable, and thus, has an unique notification id. This notification id is automatically generated for each notification that is sent. Every time a HTTP POST is send a new notification ID is generated. A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a message the notificationId has to be a newly generated UUIDv4. + status: + $ref: '#/components/schemas/QualityStatus' + severity: + $ref: '#/components/schemas/QualitySeverity' + information: + type: string + maxLength: 1000 + example: "Gear boxes loose oil while driving." + description: A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification. + listOfAffectedItems: + type: array + items: + type: string + example: + - "urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d" + - "urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72" + description: Items are added by the initiator (i.e., sender) of a notification. Once the notification is not in the status CREATED (e.g., it has been sent) the array cannot be changed. + QualityNotificationUpdatePayload: + required: + - notificationId + type: object + properties: + notificationId: + type: string + format: uuid + example: "41d743c3-6e8a-4393-88af-10494e50bea9" + description: A message can have several notifications, which are exchanged between the supply chain partners. Each notification shall be identifiable, and thus, has an unique notification id. This notification id is automatically generated for each notification that is sent. Every time a HTTP POST is send a new notification ID is generated. A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a message the notificationId has to be a newly generated UUIDv4. + status: + $ref: '#/components/schemas/QualityStatus' + severity: + $ref: '#/components/schemas/QualitySeverity' + information: + type: string + maxLength: 1000 + example: "Gear boxes loose oil while driving." + description: A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification. + QualityNotificationReceiveRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/StandardNotificationConnectToRequestHeader' + content: + $ref: '#/components/schemas/QualityNotificationReceivePayload' + QualityNotificationUpdateRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/StandardNotificationConnectToRequestHeader' + content: + $ref: '#/components/schemas/QualityNotificationUpdatePayload' + QualitySeverity: + type: string + enum: + - MINOR + - MAJOR + - CRITICAL + - LIFE-THREATENING + example: CRITICAL + description: The severity of the quality notification describes its criticality. The severity is set by the initiator of a quality notification. The following entries are supported and allowed + + + - MINOR + This is the case if the quality issue(s) is/are not affecting any functionalities of the serialized parts/batch e.g., aesthetical issue. + + + - MAJOR + This is the case if the quality issue(s) is/are so critical that the functionality of the serialized parts/batch is partially not given. This is also the case if the serialized part / batch is no longer functional, but the missing functionality + + (a) can be compensated by other parts of a superordinate system or + (b) has a relatively low significance / benefit + + + - CRITICAL + This is the case if the quality issue(s) is/are so critical that the basic functionality of the serialized parts/batch is no longer given. + + + - LIFE-THREATENING + This is the case if the quality issue(s) is/are so critical that it even endangers human lives e.g., the airbag or break is not working. + QualityStatus: + type: string + enum: + - CREATED + - SENT + - RECEIVED + - ACKNOWLEDGED + - ACCEPTED + - DECLINED + - CLOSED + example: SENT + description: The status of the quality notification. The following entries are supported and allowed + + + - CREATED + This status is an internal status and is used after the initial creation of a notification. It is not communicated to an other CX/business partner. + + + - SENT + This status means that the notification has been sent out. This status is shown on the sender side (and not on the receiver side). + + + - RECEIVED + This status means that the notification has been received by the receiver. The status is shown on sender and receiver side. It is not communicated to an other CX/business partner. + + + - ACKNOWLEDGED + Defines that a user has confirmed that the notification has been received. This does NOT mean that the user accepted the notification in the sense of an admission of guilt or the like. However, it means that the notification gets processed by the user (or the organization behind). + + + - ACCEPTED + The status expresses that the received agrees on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information. + + + - DECLINED + The status expresses that the received does not agree on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information. + + + - CLOSED + This status is set by the initiator of the notification either to regularly close the notification (i.e., after the receiver has set the status to ACCEPTED or DECLINED) or to abort the processing of the notification (e.g., because the notification is not relevant anymore). + # ----------------------------------------- + # Schema: io.catenax.shared.message_header + # ----------------------------------------- + urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_2.0.0_ContextCharacteristic: + type: string + enum: + - Traceability-QualityNotification-Investigation:2.0.0 + - Traceability-QualityNotification-Alert:2.0.0 + description: The context defines the type of quality notification. The context is chosen by the initiator of a quality notification. The QM-Investigation describes a quality issue top-down when it's sent towards the supplier. The QM-Alert describes a quality issue bottom-up when it's sent towards the customer. + + + Traceability-QualityNotification-Investigation:2.0.0 + + + A quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part / batch. To achieve this, a customer who has purchased serialized parts/ batches can request his supplier to investigate the affected serialized parts / batches regarding the suspected problem. + + + Traceability-QualityNotification-Alert:2.0.0 + + + A quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts/ batches delivered to that customer. Thus, the quality alert - besides other information - contains a list of the affected serialized parts/ batches and a description of the quality issue(s). In the worst case the quality alert can result in a recall of the affected serialized parts/ batches. + + + The value MUST consist of two parts -- an identifier of the context (e.g. business domain, etc.) followed by a version number. Both the identifier and the version number MUST correspond to the content of the message. Versioning only refers to major versions in both default and fallback cases. Note -- The version of the message's header is specified in the version field. + example: "Traceability-QualityNotification-Alert:2.0.0" + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + example: "2007-08-31T16:47+00:00" + urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two uppercase letters." + pattern: "^BPNL[0-9]{8}[a-zA-Z0-9]{4}$" + urn_samm_io.catenax.shared.message_header_2.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + example: "urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect" + urn_samm_io.catenax.shared.message_header_2.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused. + + In case of traceability quality notifications this means the following. + + A UUIDv4 to uniquely identify a quality notification. This unique ID gets generated by the initiator of a quality notification. The sender and receiver of a quality notification use this unique ID to reference a quality notification. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. Traceability-QualityNotification-Alert:2.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + + In case of traceability quality notifications this means the following. + + A UUIDv4 to uniquely identify a related quality notification. This field is not about mapping the internal references between quality notifications. This field should only reference the quality notifications that + + + (a) the recipient can basically understand in his business context and + + + (b) that are of concern to the recipient + + + That means, that in most instances, the sender and receiver of both quality notifications (i.e., the send one and the referenced one) are the same. + + + Example + + + Due to an QM-Investigation an QM-Alert is created and referencing to the QM-Investigation. + An QM-Investigation is followed by another QM-Investigation that is referencing to the same quality issue. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_2-0-0.yaml b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_2-0-0.yaml new file mode 100644 index 00000000000..098550f9d2e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/openapi/notifications_2-0-0.yaml @@ -0,0 +1,441 @@ +openapi: 3.0.1 +info: + title: Notification API + description: Notification API + license: + name: Apache License v2.0 + url: https://www.apache.org/licenses/LICENSE-2.0 + version: 2.0.0 +servers: + - url: / +tags: + - name: Notification API + description: 'Api to receive, update and fetch a notification. At the moment, quality notifications are supported. Those support two types of quality notifications: quality investigations and quality alerts.' +paths: + /qualitynotifications/receive: + post: + tags: + - Quality notification + description: Receives a new quality notification + operationId: receiveQualityNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QualityNotificationReceiveRequestBody' + responses: + "201": + description: Quality notification was received successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "409": + description: Could not accept the send quality notification, because a quality notification with that notificationId already exists + "422": + description: Could not accept the send quality notification even though it is syntactically correct. The quality notification is not accepted, because of semantic reasons (e.g., an affected item is not known by the receiver). + /qualitynotifications/update: + post: + tags: + - Quality notification + description: Updates a quality notification + operationId: updateQualityNotification + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QualityNotificationUpdateRequestBody' + responses: + "200": + description: Quality notification was updated successfully + "400": + description: Request body was malformed + "401": + description: Not authorized + "403": + description: Forbidden + "405": + description: Method not allowed + "404": + description: Could not update the quality notification, because a quality notification with that notificationId does not exist + "422": + description: Could not update the quality notification even though the request is syntactically correct. The quality notification update is not accepted, because of semantic reasons (e.g., status cannot be changed). +components: + schemas: + StandardNotificationHeader: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_HeaderCharacteristic' + StandardNotificationConnectToRequestHeader: + allOf: + - $ref: '#/components/schemas/StandardNotificationHeader' + QualityNotificationReceivePayload: + type: object + required: + - notificationId + - status + - severity + properties: + notificationId: + type: string + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + description: A message can have several notifications, which are exchanged between the supply chain partners. Each notification shall be identifiable, and thus, has an unique notification id. This notification id is automatically generated for each notification that is sent. Every time a HTTP POST is send a new notification ID is generated. A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a message the notificationId has to be a newly generated UUIDv4. + + status: + $ref: '#/components/schemas/QualityStatus' + severity: + $ref: '#/components/schemas/QualitySeverity' + information: + type: string + maxLength: 1000 + example: "Gear boxes loose oil while driving." + description: A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification. + relatedQualityTaskId: + type: string + maxLength: 255 + example: "Q-Task 123" + description: A unique ID referencing to another quality process that triggered this quality investigation/alert, e.g. an early warning project. + senderAttachments: + type: array + items: + $ref: '#/components/schemas/AttachmentPayload' + description: This is the list of attachments that are provided by the initiator (i.e., sender) of a notification. An attachment is a reference to an EDC data offer. In this offer different kinds of files with additional information about the quality issue can be offered. This can be for example a picture of the affected part or an error list. + listOfAffectedItems: + type: array + items: + type: string + example: + - "urn:uuid:57e4e3c1-a6f0-46a0-90df-1fb17cbc157d" + - "urn:uuid:e4da568b-8cf1-4f5f-a96a-cf26265b2c72" + description: Items are added by the initiator (i.e., sender) of a notification. Once the notification is not in the status CREATED (e.g., it has been sent) the array cannot be changed. + populationFilterList: + type: array + items: + $ref: '#/components/schemas/PopulationFilter' + description: A set of populationFilters that when applied to the data set exchanged in an early warning project will describe the affected population. + + + Each population filter consists of a combination of + + + - a reference to an aspect model defined for the early warning use case + + - a reference to a property in the referenced aspect model the data type of the property + + - a list of values or a range (from ... to) of values + QualityNotificationUpdatePayload: + required: + - notificationId + type: object + properties: + notificationId: + type: string + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + description: A message can have several notifications, which are exchanged between the supply chain partners. Each notification shall be identifiable, and thus, has an unique notification id. This notification id is automatically generated for each notification that is sent. Every time a HTTP POST is send a new notification ID is generated. A UUIDv4 to uniquely identify an individual quality notification message. In case of an initial sending of a message the notificationId has to be a newly generated UUIDv4. + status: + $ref: '#/components/schemas/QualityStatus' + severity: + $ref: '#/components/schemas/QualitySeverity' + information: + type: string + maxLength: 1000 + example: "Gear boxes loose oil while driving." + description: A text that e.g. describes the quality alert or the quality investigation. Recommendations or counter actions can be added by the receiver when ACCECPTED or DECLINED the notification. + relatedQualityTaskId: + type: string + maxLength: 255 + example: "Q-Task 123" + description: A unique ID referencing to another quality process that triggered this quality investigation/alert, e.g. an early warning project. + senderAttachments: + type: array + items: + $ref: '#/components/schemas/AttachmentPayload' + description: This is the list of attachments that are provided by the initiator (i.e., sender) of a notification. An attachment is a reference to an EDC data offer. In this offer different kinds of files with additional information about the quality issue can be offered. This can be for example a picture of the affected part or an error list. + receiverAttachments: + type: array + items: + $ref: '#/components/schemas/AttachmentPayload' + description: This is the list of attachments that are provided by the recipient of a notification. An attachment is a reference to an EDC data offer. In this offer different kinds of files with additional information about the quality issue can be offered. This can be for example a picture of the affected part or an error list. + QualityNotificationReceiveRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/StandardNotificationConnectToRequestHeader' + content: + $ref: '#/components/schemas/QualityNotificationReceivePayload' + QualityNotificationUpdateRequestBody: + required: + - header + - content + type: object + properties: + header: + $ref: '#/components/schemas/StandardNotificationConnectToRequestHeader' + content: + $ref: '#/components/schemas/QualityNotificationUpdatePayload' + QualitySeverity: + type: string + enum: + - MINOR + - MAJOR + - CRITICAL + - LIFE-THREATENING + example: CRITICAL + description: The severity of the quality notification describes its criticality. The severity is set by the initiator of a quality notification. The following entries are supported and allowed + + + - MINOR + This is the case if the quality issue(s) is/are not affecting any functionalities of the serialized parts/batch e.g., aesthetical issue. + + + - MAJOR + This is the case if the quality issue(s) is/are so critical that the functionality of the serialized parts/batch is partially not given. This is also the case if the serialized part / batch is no longer functional, but the missing functionality + + (a) can be compensated by other parts of a superordinate system or + (b) has a relatively low significance / benefit + + + - CRITICAL + This is the case if the quality issue(s) is/are so critical that the basic functionality of the serialized parts/batch is no longer given. + + + - LIFE-THREATENING + This is the case if the quality issue(s) is/are so critical that it even endangers human lives e.g., the airbag or break is not working. + QualityStatus: + type: string + enum: + - CREATED + - SENT + - RECEIVED + - ACKNOWLEDGED + - ACCEPTED + - DECLINED + - CLOSED + example: SENT + description: The status of the quality notification. The following entries are supported and allowed + + + - CREATED + This status is an internal status and is used after the initial creation of a notification. It is not communicated to an other CX/business partner. + + + - SENT + This status means that the notification has been sent out. This status is shown on the sender side (and not on the receiver side). + + + - RECEIVED + This status means that the notification has been received by the receiver. The status is shown on sender and receiver side. It is not communicated to another CX/business partner. + + + - ACKNOWLEDGED + Defines that a user has confirmed that the notification has been received. This does NOT mean that the user accepted the notification in the sense of an admission of guilt or the like. However, it means that the notification gets processed by the user (or the organization behind). + + + - ACCEPTED + The status expresses that the received agrees on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information. + + + - DECLINED + The status expresses that the received does not agree on the quality investigation/alert. Recommendations, counter actions, and the like can be conveyed in the payload field information. + + + - CLOSED + This status is set by the initiator of the notification either to regularly close the notification (i.e., after the receiver has set the status to ACCEPTED or DECLINED) or to abort the processing of the notification (e.g., because the notification is not relevant anymore). + AttachmentPayload: + required: + - attachmentName + - fileExtension + - contractOfferId + type: object + properties: + attachmentName: + type: string + maxLength: 255 + example: "Error picture gear box" + description: "This is the name of the attachment" + fileExtension: + type: string + maxLength: 255 + example: "png" + description: "The file extension for this attachment" + contractOfferId: + type: string + maxLength: 255 + example: "urn:uuid:46e4e3c1-a6f0-46a0-90df-1fb17cbc455d" + description: This is the id of the data offer under which the attachment is offered. This could be - but not must be - an uuid or any other form of an data offer id. + PopulationFilter: + anyOf: + - $ref: '#/components/schemas/PopulationFilterStringArrayPayload' + - $ref: '#/components/schemas/PopulationFilterRangePayload' + PopulationFilterStringArrayPayload: + required: + - aspect-model + - property + - dataType + - values + type: object + properties: + aspect-model: + type: string + maxLength: 1000 + example: "urn:samm:io.catenax.manufactured_parts_quality_information:2.0.0" + description: "This is the name and the version of an aspect model for the quality use case." + property: + type: string + maxLength: 1000 + example: "manufacturerPartNumber" + description: "This is a property that is defined in the semantic-model." + values: + type: array + items: + type: string + example: + - "123-0.740-3434-A" + - "123-0.740-3434-B" + description: Items are added by the initiator (i.e., sender) of a notification. Once the notification is not in the status CREATED (e.g., it has been sent) the array cannot be changed + PopulationFilterRangePayload: + required: + - aspect-model + - property + - dataType + - values + type: object + properties: + aspect-model: + type: string + maxLength: 1000 + example: "urn:bamm:io.catenax.vehicle_productdescription:1.0.0" + description: "This is the name and the version of an aspect model for the quality use case." + property: + type: string + maxLength: 1000 + example: "production.productionDate" + description: "This is a property that is defined in the semantic-model." + rangeFrom: + type: string + example: "2024-02-20T17:32:28Z" + description: A start value for the value range in the specified by the property. + rangeTo: + type: string + example: "2024-02-27T12:31:28Z" + description: An end value for the value range in the specified by the property. + # ----------------------------------------- + # Schema: io.catenax.shared.message_header + # ----------------------------------------- + urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_2.0.0_ContextCharacteristic: + type: string + enum: + - Traceability-QualityNotification-Investigation:2.0.0 + - Traceability-QualityNotification-Alert:2.0.0 + description: The context defines the type of quality notification. The context is chosen by the initiator of a quality notification. The QM-Investigation describes a quality issue top-down when it's sent towards the supplier. The QM-Alert describes a quality issue bottom-up when it's sent towards the customer. + + + Traceability-QualityNotification-Investigation:2.0.0 + + + A quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part / batch. To achieve this, a customer who has purchased serialized parts/ batches can request his supplier to investigate the affected serialized parts / batches regarding the suspected problem. + + + Traceability-QualityNotification-Alert:2.0.0 + + + A quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts/ batches delivered to that customer. Thus, the quality alert - besides other information - contains a list of the affected serialized parts/ batches and a description of the quality issue(s). In the worst case the quality alert can result in a recall of the affected serialized parts/ batches. + + + The value MUST consist of two parts -- an identifier of the context (e.g. business domain, etc.) followed by a version number. Both the identifier and the version number MUST correspond to the content of the message. Versioning only refers to major versions in both default and fallback cases. Note -- The version of the message's header is specified in the version field. + example: "Traceability-QualityNotification-Alert:2.0.0" + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. The value MUST be formatted according to the ISO 8601 standard. + example: "2007-08-31T16:47+00:00" + urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait: + type: string + description: The provided regular expression ensures that the BPNL is composed of prefix 'BPNL', 10 digits and two uppercase letters.The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard. + pattern: "^BPNL[0-9]{8}[a-zA-Z0-9]{4}$" + urn_samm_io.catenax.shared.message_header_2.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + example: "urn:samm:io.catenax.shared.message_header:3.0.0#MessageHeaderAspect" + urn_samm_io.catenax.shared.message_header_2.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused. + + In case of traceability quality notifications this means the following. + + A UUIDv4 to uniquely identify a quality notification. This unique ID gets generated by the initiator of a quality notification. The sender and receiver of a quality notification use this unique ID to reference a quality notification. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + context: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + + In case of traceability quality notifications this means the following. + + A UUIDv4 to uniquely identify a related quality notification. This field is not about mapping the internal references between quality notifications. This field should only reference the quality notifications that + + + (a) the recipient can basically understand in his business context and + + + (b) that are of concern to the recipient + + + That means, that in most instances, the sender and receiver of both quality notifications (i.e., the send one and the referenced one) are the same. + + + Example + + + Due to an QM-Investigation an QM-Alert is created and referencing to the QM-Investigation. + An QM-Investigation is followed by another QM-Investigation that is referencing to the same quality issue. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_2.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_architecture-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_architecture-view.mdx new file mode 100644 index 00000000000..dac73dac88e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_architecture-view.mdx @@ -0,0 +1,193 @@ +--- +id: Architecture View Traceability Kit +title: Architecture View +description: 'Traceability Kit' +sidebar_position: 2 +--- + + + +import Notice from './part_notice.mdx' + +![Traceability kit banner](@site/static/img/doc-traceability_header-minified.png) + +The following page offers an architecture perspective including the main building blocks and information regarding communication between different components, shown as sequence diagrams in a runtime view. + +The architecture of Traceability is built upon several other components of Catena-X. You need to be familiar with these components to understand the Traceability architecture: +- Industry Core for a basic understanding of digital twins and aspect models, +- Asset Administration Shell (AAS) as the underlying standard for digital twins, +- Digital Twin Registry (DTR) as the main service to store, publish, and search digital twins, and +- A Connector as the central data sharing infrastructure of Catena-X. + - One example is the Tractus-X EDC, based on the Connector of the Eclipse Dataspace Components (EDC) + +Additionally you might make yourself familiar with +- Item Relationship Service for traversing digital twin data chains based on the Data Chain Template, +- EDC Discovery for finding the EDC of a Catena-X partner, and +- SAMM as the modelling standard for aspect models. + +## Scope and Context + +This KIT describes two core capabilties of Traceability: +- Data Provisioning: This capability focusses on how data providers must prepare and publish their data (from their internal systems) to participate in the Traceability use case (and other use cases that want to use Traceability data). +- Traceability App: This capability defines what mandatory features a Traceability app must provide and how to implement them to be interoperable with other Traceability apps. Additionally, optional features of Traceability apps are also included. This information is used by software vendors to develop Traceability-compliant apps for Catena-X. + +## Building Block View + +This overview shows the two core capabilities of Traceabilty and the Catena-X Core Services onto which Traceability is built and which are required by the Traceability architecture. + +![Architecture - Level 1](./assets/architecture_level_1.png) + +### Traceability Components + +| Subsystem | Description | +|:------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Data Provisioning | This component extracts data from a company's internal systems, transforms it into digital twins, and publishes these digital twins in the DTR and their data in the EDC (as submodels, based on aspect models). The published data is used by Traceability apps as well as other use cases that require Traceabiilty data. | +| Traceability App | A Traceability app has two core functionalities:
                                    • providing an UI to show the parts manufactured by a company and published as digital twins
                                    • create and process quality alerts and quality investigations for quality actions
                                    | +| Internal Systems | These are existing internal systems of a Catena-X partner which provides data to Traceability components, e.g.,
                                    • for data provisioning: The data provided to Catena-X is fetched from a partner's internal PLM and parts master data systems.
                                    • for Traceability apps: A Traceability app may show more data to a user than just the data that is provided to Catena-X. Generally, the business scope of COTS software is bigger than just Traceability and they have existing interfaces to fetch all data they need for their business functionality (and not only Traceability data).
                                    Both components can also send data back to internal systems. That's at the discretion of the Catena-X partner and neither required nor prohibited by the Traceability use case. | + +### Catena-X Core Services + +| Subsystem | Description | +|:-----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Digital Twin Registry (DTR)](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) | The Digital Twin Registry acts as an address book for digital twins. Data Providers register their digital twins in their own DTR. Data consumers query a DTR to find digital twins and interact with them further, i.e., fetch data for a digtil twin. | +| [Item Relationship Service (IRS)](https://eclipse-tractusx.github.io/docs-kits/category/data-chain-kit/) | The IRS builds a digital representation of a product (digital twin) and the relationships of items the product consists of in a hierarchical structure. The result is an item graph in which each node represents a digital item of the product - this graph is called "Item Graph".| +| [Eclipse Dataspace Components (EDC)](https://eclipse-tractusx.github.io/docs-kits/category/connector-kit) | The EDC as a connector implements a framework agreement for sovereign, cross-organizational data sharing. The International Data Spaces Standard (IDS) and relevant principles in connection with GAIA-X were implemented. The connector is designed to be extensible to support alternative protocols and to be integrated into different ecosystems.| +| [Discovery Service](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/Specification%20Digital%20Twin%20KIT#discovery-sequence)| The EDC / dataspace discovery interface is a CX network public available endpoint which can get used to retrieve EDC endpoints and the related BPNs, as well as search for endpoints via the BPN. | + +## Data Provisioning + +This capability focusses on how data providers must prepare and publish their data (from their internal systems) to participate in the Traceability use case (and other use cases that want to use Traceability data). + +### Basic Data Processing Flow + +The following diagram shows a basic data processing flow how a company's internal data can be transformed into a Traceability-compliant format. Implementations of data providers can deviate from this basic flow as it's just one way to do it. But it should give a basic idea what the essential steps are. + +![Data Processing Flow](./assets/data_provisioning_data_flow.png) + +### Digital Twins and Aspect Models + +Data provisioning of Traceabilty is built on the data provisioning of the [Industry Core KIT](../Industry%20Core%20Kit/Architecture%20View%20Industry%20Core%20Kit), i.e., Traceability extends the digital twins PartType and PartInstance with additional aspect models: + +- Digital Twin "PartType" + +- Digital Twin "PartInstance" + - Aspect model ["TractionBatteryCode"](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit#tractionbatterycode) + + +Details about these aspect models, i.e., the SAMM data model as well as example data, can be found in the [Developer View](../Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit). + +### Policies + +To enable data sovereignty, access and usage policies are important to protect the data assets of a data provider in the EDC, described in the following. Further details are described in the [CX - 0018 Sovereign Data Exchange](#standards) standard. + +### Access Policies + +To decide which company has access to the data assets, access policy should be used. Note that without protecting data assets with access policies, they become publicly available in the Catena-X network which is not recommended. Therefore, every asset should be protected and only be made available for specific companies, identified through their business partner number (BPN). + +Implementation details and examples can be found [in the Industry Core KIT](../Industry%20Core%20Kit/Software%20Development%20View/Policies%20Development%20View%20Industry%20Core%20Kit). + +### Usage Policies +To decide which company can use the data asset under specific conditions, usage policies (or contract policies) are used. Therefore, they are more specific than access policies and only used just after access is granted. Currently, the usage policies aren't technically enforced but based on a legal framework (keep this in mind when publishing data assets). + +Implementation details and examples can be found [in the Industry Core KIT](../Industry%20Core%20Kit/Software%20Development%20View/Policies%20Development%20View%20Industry%20Core%20Kit). + +## Traceability App + +This capability defines what mandatory features a Traceability app must provide and how to implement them to be interoperable with other Traceability apps. Additionally, optional features of Traceability apps are also included. This information is used by software vendors to develop Traceability-compliant apps for Catena-X. + +### Functional Requirements + +| Requirement | Mandatory | Description | +| :-- | :--: |:-- | +| Visualize Digital Twin Data | Yes | A Traceability app must be able to visualize data from PartInstance digital twins. This data will also be used by quality investigations & alerts, so it's essential for a Traceability app. The data for the manufacturer's parts is retrieved from the manufacturer's internal systems; the data for built-in parts from suppliers must be retrieved from the supplier's EDC as this is a cross-company data transfer (if necessary).
                                    The data for the manufacturer's parts can be retrieved from a company's internal systems:
                                    • via a dedicated interface for the Traceability app
                                    • via the EDC using the data also provided to other partner's in the Catena-X ecosystem
                                    It is not mandatory to use EDC to retrieve this data as this is not a cross-company data transfer, but a data transfer from one application of the company to another application of the company. | +| Data Sharing via [CX-0018](#standards) compliant connector | Yes | The data sharing with other Catena-X partners (for Traceability partners, these are their customers and suppliers mostly) must be done via via a [CX-0018](#standards) compliant connector (e.g. EDC). | +| Data Sovereignty | Yes | The usage of data in the Traceability app is compliant with the Access and Usage Policies as defined in this KIT. +| Quality Alerts | Yes | In the event of an incident the partner's value chain, the partner would like to be informed promptly and in a structured manner by the triggering partners (e.g., manufacturing problem, field problems) so that the partner can respond as quickly as possible (Supplier/Customer). In the same way, the partner wants to inform their value chain partners easily and specifically in the event of relevant incidents. The traceability apps are able to exchange the alerts in the same interoperable way. | +| Quality Investigations | Yes | For a given incident in a partner's supply chain, the partner would like to be able to narrow down the affected products as sharply as possible in order to carry out suitable actions in a targeted manner. The partners in the value chain use interoperable Traceability apps for this purpose.| + +### Non-Functional Requirements + +There are no non-functional requirements defined for this release. + +### Quality Investigations & Quality Alerts + +Notifications are - in contrast to classical data offers - a way to push data from a sender to a receiver. In the below paragraphs, the implementation is described to realize quality notifications. In that sense, the below specification has not the scope and intention to be a general solution pattern for notifications across various use cases. For now, it is limited to the sending and receiving of quality notifications as well as the update of the notification status (following a predefined status model). + +> :raised_hand: Detailed Open API specifications for Quality Alerts & Investigations are available in the Software Development View. For the current release, [version 1.2.1](./openapi/notifications_1-2-1.yaml) is mandatory and must be supported by every App provider. The newer [version 2.0.0](./openapi/notifications_2-0-0.yaml) can be supported optionally. + +#### Notification State Model + +The notification itself has various states. The states and their cycle are described in the following figure: + +![Notification State Model](./assets/notification-state-model.svg) + +## Runtime View + +### Processes for Sending, Updating and Resolving Notifications + +Below the sequence for sending, updating and resolving of notifications between (traceability) applications is shown with UML sequence diagrams. In all cases, Http POST requests are used. Those Http endpoints are described in the section (TRS) Quality Notification Endpoints and EDC Contract Offerings. + +To read the UML sequence diagrams correctly, some remarks: + +- The shown Notification EDC Adapter is not mandatory. It is just one option to send a notification via the EDC control and data plane. Important is that a similar functionality must be provided/implemented by the (traceability) application vendor. The Notification EDC Adapter or a similar component / functionality will not be provided as a central service from Catena-X. +- To know where a notification must be send to, the (traceability) application must resolve the BPN of the receiver. This can either be happen because the (traceability) application has this information in its data model or it could - alternatively - also be resolved e.g. via a lookup of the digital twin in the central asset administration shell (AAS) registry. + + :raised_hand: The (traceability) applications that fully rely on the AAS registry and the corresponding AAS submodels can only support quality investigations. With the release of the AAS submodel SingleLevelUsageAsBuilt or a similar AAS submodel that contains the information, which supply chain partner purchased/assembled a part / batch, it is possible to also support quality alerts for those (traceability) applications. (Warnung) +- The resolution of the EDC URL for a given BPN is done via the Discovery Service API. The entry for each EDC into this Discovery Service is done via the CX Portal. +- In each UML sequence diagram the step [01] describes the publishing of the notification endpoints as described in the above sections +- Similarly, the Http POST request and response bodies are described in the above sections + +#### Sending and Receiving of a Quality Investigation + +Below, the UML sequence diagram to send and receive a quality investigation is depicted. In addition to the above mentioned general remarks, the following remark: + +![NotificationSendReceive](./diagrams/notification_send-receive.svg) + +#### Sending and Receiving of a Quality Alert + +Below, the UML sequence diagram to send and receive a quality alert is depicted. In addition to the above mentioned general remarks, the following remark: + +- The status transition from SENT to RECEIVED has to be done by the sender once it received the Http status code 201 from the receiver + +![NotificationSendReceiveAlert](./diagrams/notification_send-receive-alert.svg) + + +#### Update of a Quality Investigation + +Below, the UML sequence diagram to update a quality investigation is depicted. + +![NotificationUpdateInvestigation](./diagrams/notification_update-investigation.svg) + +#### Update of a Quality Alert + +Below, the UML sequence diagram to update a quality alert is depicted. + +![NotificationUpdateAlert](./diagrams/notification_update-alert.svg) + +## Standards + +Our relevant standards can be downloaded from the official [Catena-X Standard Library](https://catena-x.net/de/standard-library): + +- Traceability is built on the Industry Core. Please check the relevant [standards of the Industry Core](../Industry%20Core%20Kit/Architecture%20View%20Industry%20Core%20Kit#standards). +- [CX - 0022 Notification Process 1.1.1](https://catena-x.net/de/standard-library) +- [CX - 0023 Notification API 1.2.2](https://catena-x.net/de/standard-library) +- [CX - 0062 Traceability Notification Triangle 1.0.0](https://catena-x.net/de/standard-library) +- [CX - 0093 Aspect Model Traction Battery Code 1.0.0](https://catena-x.net/de/standard-library) + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_business_view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_business_view.mdx new file mode 100644 index 00000000000..dc109e519b8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_business_view.mdx @@ -0,0 +1,121 @@ +--- +id: Business View Traceability Kit +title: Business View +description: 'Traceability Kit' +sidebar_position: 1 +--- + + + +import Notice from './part_notice.mdx' +import BillOfMaterials from '../Industry Core Kit/part_bill-of-materials.mdx' + +![Traceability kit banner](@site/static/img/kit-icons/traceability-kit-icon.svg) + +The following page offers a high level business view on the Traceability KIT with its vision, mission, benefits, business value, customer journey and examples in form of videos. + +## Vision & Mission + +### Vision + +The aim of the Traceability KIT is to enable app- and data-providers to trace parts and materials across the entire value chain without compromising data sovereignty. + +This enables the industry to narrow down quality issues faster and reduce recall costs due to fast and precise containment of defect parts. +Furthermore, it will enable solutions and services for tracking and tracing conformity relevant data to fulfill security and legal requirements. + + +### Mission + +The Traceability KIT provides the necessary standards, aspect models, APIs, logics, and processes to develop traceability apps and provide the necessary data. +All described specifications in the KIT are based on Catena-X standards like the Industry Core KIT, Data Space Connector KIT and more to ensure interoperability and data sovereignty according to IDSA and Gaia-X principles. + +This KIT is closely connected to the Industry Core KIT "Part Instance”, which provides the basis on how to built a data chain based on vehicles, parts and materials - a mandatory prerequisite. +The Traceability KIT supplements it with further tracking relevant aspects, business logic and APIs to e.g. send quality notifications or trace battery relevant aspects (e.g. GBT-Codes for China). + + +## Business Value & Benefits +### Business Value +Through the standardized specifications described in this Traceability KIT – for example the semantic models and APIs – application and service providers are able to develop interoperable Catena-X traceability solutions. +Since this KIT is built on the Industry Core KIT, investment and implementation costs to integrate traceability services are reduced. +Application and service providers can enter potential new markets within the PLM & Quality domain. + +### Todays Challenge +From traceability's perspective, the main challenge within the automotive industry is to define and implement inter-organizational end-to-end data chains across the whole automotive supply chain to track and trace parts and materials. Details regarding the challenges are: + +- Missing standards to trace serialized and non-serialized hardware and software components. This includes the datatype, data format and data description (semantics) as well as the data exchange. The existing regulatory requirements that every company within the industry faces today are being solved with individual, proprietary solutions. +These solutions are either costly due to expensive distributed ledgers or cannot guarantee trust and data sovereignty based on the GAIA-X and IDSA principles including the regulation of access and usage policies regarding data chains. Therefore, no end-to-end data exchange and cooperation has been achieved as of today. +This will be standardized in the Industry Core KIT. + +- The digital maturity is diverging within the automotive industry. For bigger companies it is a challenge to receive overall structured data from multiple different suppliers on a broad scale. Smaller companies struggle to generate and provide those data in a fully digitized way. +Interoperable Catena-X traceability solutions will ensure easy onboarding and data sovereign data exchange. + +- Missing standardized industry process for notifying suppliers to narrow down quality issues and sending alerts to customers in case of detected faulty components. + +### Quality Notifications +Quality notifications are the best way to make customers or suppliers aware of a situation that requires timely action or attention. This could be a situation that has just arisen, or a task triggered by a workflow. +The Traceability KIT covers two different types of notifications: Quality Investigation and Quality Alert. + +A quality investigation is used to try and technically narrow down the cause of a suspected problem with a serialized part or batch. To achieve this, a customer can request his supplier to investigate the affected serialized parts or batches regarding the suspected problem. + +A quality alert is sent by a supplier to a customer and describes identified quality issue(s) in one or more serialized parts or batches delivered to that customer. +Thus, the quality alert - besides other information - contains a list of the affected serialized parts or batches and a description of the quality issue(s). +In the worst case, the quality alert can result in a recall of the affected serialized parts, batches or vehicles. + +The following figure illustrates, how quality investigations and alerts throughout the supply chain enable quality problems to be contained quickly and precisely. + +![Quality Notifications](assets/quality_notifications.png) + +### Benefits for OEM, SME and Solution Provider +#### OEM +For OEM and large automotive suppliers, the traceability solution from Catena-X enables companies to identify products affected by a defect faster and more precisely and thus avoiding general and inaccurate recalls. +Through this targeted containment, companies can save both time and money with fewer actions for their customers. +Moreover, the traceability solution enables businesses to rapidly identify the affected part and the corresponding supplier after receiving an alert from the customer. +This leads to faster and, therefore, cheaper problem-solving for all parties and less complicated claim management. + +Furthermore, OEMs and suppliers can prove compliance of production or products like china relevant battery traction codes or product related certificates. + +#### SME +The developed and simple-to-use traceability solutions support SMEs in their mission to digitize the shop floor and communication with customers and suppliers. Today, in order to provide data to their customers and suppliers, SMEs are obligated to use several, proprietary B2B-interfaces from their customers. With Catena-X aiming to have only one digital interface for all customers and suppliers, it increases the ease of data exchange and saves IT resources. +Furthermore, due to the Catena-X data sovereignty principles, all participants know what happens with their data. This increases trust in the data exchange like quality relevant notifications. + +#### Solution Provider +Solution providers have the potential to scale customer groups and access new market potentials via marketplace and shared service network. + +## Customer Journey + +With the Traceability KIT, we support the Catena-X customer journey for our adopters and solutions providers. + +![Customer Journey](assets/traceability_customer-journey.png) + + +## Further Explanations + +### Example - Industry Problem +Through the Industry Core KIT, companies can register digital twins for vehicles, products, components, and raw materials and uniquely identify and connect them one-up / one-down within the whole Catena-X ecosystem. +This creates a coherent end-to-end automotive data chain. +Traceability is built on top of this data chain and supplements it to e.g. start Quality Investigations and send Quality Alerts in a standardized way while already knowing which parts of your direct customer and suppliers are affected and which are not. + +### Video +The following video gives an overview of the presented Traceability Use Case. + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_changelog.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_changelog.mdx new file mode 100644 index 00000000000..86e03e37605 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_changelog.mdx @@ -0,0 +1,194 @@ +--- +id: Traceability Kit Changelog +title: Changelog +description: 'Traceability Kit' +sidebar_position: 0 +--- + + + + +import Notice from './part_notice.mdx' + +![Traceability kit banner](@site/static/img/kit-icons/traceability-kit-icon.svg) + +All notable changes to this Kit will be documented in this file. + + +## [5.1.0] - 2024-07-24 + +Compatible for **release 24.08**. + +### Added + +- **Development View:** + - **Data Provider:** + - Added new section for the aspect model [SoftwareInformation](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#softwareinformation) + - Added new section for the aspect model [CertificateSigningRequests](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Software%20Development%20View/Data%20Provider%20Development%20View%20Traceability%20Kit/#certificatesigningrequests) + - Added aspect models SoftwareInformation and CertificateSigningRequests into the aspect model overview + +### Changed + +- **Development View:** + - **App Provider:** + - Replace use case specific FrameworkAgreement rightOperand with the new, consolidated DataExchangeGovernance released with 2408 + +## [5.0.1] - 2024-05-22 + +### Changed + +- **Development View:** + - **App Provider:** + - Remove space before 'http' in namespaces (linter issue?) + - Use 'Set' instead of 'Policy' because of EDC data management API + - prefix UsagePurpose rightOperands with according value namespace "cx.core.*" + - Remove version from cx-policy namespace (which used to be there in a very early draft only) + - Update FrameworkAgreement rightOperand with upper case credential names as recently agreed and updated in Catena-X ODRL profile + +## [5.0.0] - 2024-05-06 + +Compatible for **release 24.05**. + +### Added + +- **Development View:** + - **App Provider:** + - Created initial version for data consumer and app provider + - Created optional quality notification API version 2.0.0 + +### Changed + +- **Development View:** + - **App Provider:** + - Changed mandatory quality notification API version 1.2.1 (- formerly 1.2.0 -) + +### Removed + +- **Development View:** + - Removed generated Notification API documentation (know directly available as Open API file) + - **Data Provider:** + - Removed aspects SingleLevelUsageAsPlanned and SingleLevelUsageAsBuilt, because these aspects moved to the Industry Core + - (Re)moved policy section to the [Industry Core KIT](../Industry%20Core%20Kit/Software%20Development%20View/Policies%20Development%20View%20Industry%20Core%20Kit) + - **App Provider:** + - Removed quality notification API version 1.1.0 + +## [4.0.0] - 2024-02-28 + +Compatible for **release 24.03**. + +### Added + +- **Business View:** + - Additional information about quality notifications + +### Changed + +- **General:** + - Migrated content related to Industry Core to new Industry Core KIT + - New Traceability KIT logo +- **Business View:** + - Full rework with rewritten business descriptions +- **Architecture View:** + - Notification state model updated +- **Development View:** + - New Notification API version 1.2.0 (optional; version 1.1.0 mandatory) + - **Data Provider:** + - Usage Policies: Add more details and links about the framework agreement + - Usage Policies: Add information for individual contracts between two companies as purpose-based policy + +## [3.0.0] - 2023-11-29 + +Compatible for **release 23.12**. + +### Added + +- **Architecture View:** + - Added assumptions and non-functional requirements for Traceability architecture +- **Development View:** + - **Data Provider:** + - Added a description of the purpose why `assetLifecylePhase` was added as specific asset ID + +### Changed + +- **General:** + - Restructure from adoption, operation and development view to business, architecture, operation and development view + - License KIT to CC-BY-4.0 +- **Architecture View:** + - Update links to the latest versions of the Catena-X standards +- **Development View:** + - **Data Provider:** + - Updated aspect model SingleLevelBoMAsPlanned from version 1.1.0 to 2.0.0 + - Updated aspect model SingleLevelBomAsBuilt from version 1.0.0 to 2.0.0 + - Updated example for creation of the aspect model SingleLevelBomAsBuilt regarding version 2.0.0 + - Updated EDC asset props for unique ID push + +## [2.0.0] - 2023-09-28 + +Compatible for **release 23.09 (also known as 3.2)**. + +### Added + +- **Adoption View:** + - TractionBatteryCode aspect model + - Information about Verifiable Credentials +- **Development View:** + - TractionBatteryCode aspect model + +### Changed + +- **General:** + - Updated all parts of the KIT related to the digital twin registry as the DTR now has a decentralized architecture + - Updated SerialPartTypization 1.1.1 to SerialPart 1.0.1 + - Updated AssemblyPartRelationship 1.1.1 to SingleLevelBomAsBuilt 1.0.0 + - Updated aspect model Batch from version 1.0.2 to 2.0.0 ([Release Notes](https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.batch/RELEASE_NOTES.md)) + - Fixed references to deprecated releases +- **Adoption View:** + - Updated description of the policy section (Access Policies, Usage Policies, Contract Definitions) + - Updated relevant standards for release 3.2 +- **Development View:** + - Updated documentation because of the migration to the new standard AAS v3.0 by the DTR + - Updated conventions for submodel descriptors and EDC asset structure to give data provides more flexibility in how to create EDC assets for submodels of digital twins + - Setting the visibility of entries in a digital twin's specifid asset IDs is now mandatory to ensure need-know + - Removed optional customer attributes from example for Batch aspect model + - Updated purpose for Unique ID Push notifications to be compliant to the framework agreement for Traceability + +### Removed + +- **Adoption View:** + - Policy payloads are removed and replaced by specific documentation links + +## [1.0.1] - 2023-04-14 + +Compatible for **release 3.1**. + +### Added + +- **Adoption View:** + - Traceability tutorial video + - Customer journey + +## [1.0.0] - 2023-04-12 + +Compatible for **release 3.1**. + +### Added + +- Initial version of the Kit including adoption, operation and development view + two API specifications (Notification API, Unique ID Push API) + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_software-operation-view.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_software-operation-view.mdx new file mode 100644 index 00000000000..5fbc7cc7767 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/page_software-operation-view.mdx @@ -0,0 +1,39 @@ +--- +id: Operation View Traceability Kit +title: Operation View +description: 'Traceability Kit' +sidebar_position: 3 +--- + + + +import Notice from './part_notice.mdx' + +![Traceability kit banner](@site/static/img/kit-icons/traceability-kit-icon.svg) + +The following page offers information on how to operate and deploy a Traceability application. + +Based on the information provided in this KIT, it is possible to create and operate an own, custom +Traceability app. One open-source example is the **Trace-X app**. For further information regarding +their usage, configuration and deployment, follow these resources: + +- [Trace-X GitHub Repository](https://github.com/eclipse-tractusx/traceability-foss) +- [Trace-X Installation Guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/INSTALL.md) + + diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/part_notice.mdx b/docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/part_notice.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/part_notice.mdx rename to docs-kits_versioned_docs/version-24.08/kits/Traceability Kit/part_notice.mdx diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/_category_.json new file mode 100644 index 00000000000..871e27d3b7c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Adoption View" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/architecture.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/architecture.md new file mode 100644 index 00000000000..7aafafaee2f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/architecture.md @@ -0,0 +1,226 @@ +--- +id: architecture +title: Architecture +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## BASIC ARCHITECTURE + +### OVERVIEW + +A Behaviour Twin use case consists of data and calculation services. In addition, a logic is required, that defines how data and services must interact to produce the desired result. This logic is called *skill*. It must be invoked directly or indirectly by the consumer. + +![logic](assets/logic.drawio.svg) + +Data and services are federated over the dataspace: + +![dataspace](assets/dataspace.drawio.svg) + +A use case may consist of multiple data sources and calculation services: + +![dataspace-complex](assets/dataspace-complex.drawio.svg) + +### ROLES + +Each participant in a Behaviour Twin use case applies to one or more of the following roles: + +- **consumer** (result requester) +- **skill provider** (provider of the use case logic) +- **data provider** (provider of usage data, likely an OEM) +- **delegator** (delegates data to calculation services, likely a supplier of a component that + is assembled of sub-components which are providing calculation services) +- **calculation service provider** (likely a supplier of a part or component) + +## DETAILED ARCHITECTURE + +### KNOWLEDGE AGENT + +The architecture is based on so-called Knowledge Agents that consists of: + +- Federated Catalog +- Matchmaking Agent +- Binding Agents (Provisioning Agent/Remoting Agent) +- Bindings (configurations of binding agents) + +The components are federated over all participants. All data (and services) are represented together as a federated knowledge graph. The processing logic for the agents is defined in so-called *skills*. All communication is handled by EDC connectors. + +A detailed view of how *Knowledge Agents* and *skills* work is given in the section [Knowledge Agent](./knowledge-agent) (which comes next to this section). + +### BUSINESS PROCESS + +In Behaviour Twin use cases, the fist step into the federated logic is usually the data provider. There, dependencies of the targeted main-component (e.g. a vehicle) are known. Therefore, registering predefined skills at the data provider is a common option. Such skills then can be initiated by external partners as well as internally. As an alternative, skills can be hosted externally (at the consumer or a third party). In every case, especially if the skill is not located at the data provider, the skill must be written in a way that the relation between the usage data and the calculation services is resolved at the data provider or any other party, that has all the required information in its federated catalog (see [To Be Considered](./to-be-considered#data-sovereignty)). + +The following business process is only an example. Depending on how the skill is written, the process can vary. + +![business-process](assets/business-process.drawio.svg) + +0. **Register skill asset (0.1) and sync federated catalog (0.2):**
                                    The predefined skill is registered as an asset at the data provider's EDC connector. The federated catalogs are synchronized periodically. + +1. **Invoke skill asset:**
                                    The consumer invokes the skill by calling the agents API at its own EDC connector. The partner's EDC connector address must be known. To resolve this address is up to the use case. A prognosis function result type and a component or vehicle ID (e.g. VIN) is set as parameter for the skill. + +2. **Request skill asset:**
                                    The skill is invoked by requesting the skill asset at the data provider via EDC connectors. + +3. **Resolve prognosis function assets by requested result type:**
                                    The Knowledge Agent resolves all prognosis function assets from the federated catalog that matches the desired result type. + +4. **Resolve prognosis data assets by function parameter types:**
                                    The Knowledge Agent resolves all data assets by the parameter types of the previously matched prognosis function(s). + +5. **Resolve actual usage data and service provider by component ID:**
                                    The Knowledge Agent resolves the sub-component of interest, its supplier and the actual related data by the component's ID. + +6. **Fetch data:**
                                    The data (parameters for prognosis functions) are fetched from the data provider's bound data source. They are transferred into graph representation by a provisioning agent (data binding agent). + +7. **Transfer data and deploy sub-skill:**
                                    The fetched data and a sub-skill (logic for calling the calculation service) are transferred to the calculation service provider's Knowledge Agent via EDC connectors. + +8. **Call service and fetch result:**
                                    The calculation service (prognosis function) is called. The data (parameters for the prognosis function) are translated into the format the service requires. This is automatically done by an remoting agent (service binding agent), which is statically configured by service bindings. The result of the service then is translated back into graph format by the remoting agent. + +9. **Return result:**
                                    The result is transferred to the invoker of the sub-skill (here, it is the data provider) via EDC connectors. + +10. **Delegate result:**
                                    The result is delegated to the consumer via EDC connectors. + +11. **Get result:**
                                    The result is delegated to the consumer's application. + +To have a common understanding of how to interpret and translate elements in the graph, common ontologies and taxonomies must be used. These are also needed for the interpretation of skills and sub-skills as there is e.g. inheritance in ontologies which must be known by the Knowledge Agent to resolve relations. + +### BUILDING BLOCK COMPONENTS + +#### USE-CASE-SPECIFIC COMPONENTS + +|Subsystem|Description| +|---------|-----------| +|Data Consuming App|This component is the app that is hosted at the *consumer* and provides the end user interface.| +|Usage Data|A data source at the *data provider* that provides usage data that are required for prognosis services.
                                    It can be accessed by the Knowledge Agent via data bindings.| +|Calculation Service|A calculation service at the *service provider*. It accepts input data from federated data sources, calculates the result values and returns them.| + +#### KNOWLEDGE AGENT COMPONENTS + +|Subsystem|Description| +|---------|-----------| +|Matchmaking Agent|This component supports SPARQL (skills/sub-skills) to traverse the federated data space as a large data structure. It interacts with the EDC connector.
                                    A **provider's Matchmaking Agent** will be activated by its EDC connector. Therefore, the EDC must offer a Graph Asset (variant of ordinary data assets in the related Catena-X standards).
                                    A **consumer's Matchmaking Agent** interacts with its EDC to negotiate and perform the transfer of sub-skills to other dataspace participants.
                                    The Matchmaking Agents are matching the (sub-)graphs and negotiate appropriated graph assets with the partner EDCs.| +|Binding Agent|The Binding Agent is a restricted version of the Matchmaking Agent (subset of OWL/SPARQL, e.g., without federation) which is just focused on translating sub-skills of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls.
                                    Binding agents for data bindings are called **Provisioning Agent**.
                                    Binding agents for service bindings are called **Remoting Agent**. | +|Binding|A Binding is part of the configuration of a Binding Agent. It defines the binding (translation form/into graph representation) for specific data/service instances.| +|Ontology|The ontology is a formal representation of knowledge that captures concepts, relationships, and properties. It allows a shared understanding and reasoning about the respective domain.
                                    It must be hosted in a way that all participants can access it.| +|Skill/Sub-Skill|The Skill describes, what to do (which data have to be connected, transferred, processed ...).| + +#### CATENA-X CORE SERVICES (EXCEPT KNOWLEDGE AGENT COMPONENTS) + +|Subsystem|Description| +|---------|-----------| +|EDC connector|The Connector of the Eclipse Dataspace Components (EDC) provides a framework for sovereign, inter-organizational data exchange. It implements the International Data Spaces standard (IDS) as well as relevant protocols associated with GAIA-X. The connector is designed in an extensible way in order to support alternative protocols and integrate in various ecosystems.| + +## MANDATORY COMPONENTS + +You always need access to your **running connector (EDC) with knowledge agent components** and +the (extensible) **ontologies of Catena-X**. In most cases, you can use them as they are. + +Depending on your role, you need a combination of the following components: + +- EDC connector + knowledge agent +- ontologies (semantic models) +- usage data +- calculation services +- matchmaking agent: mapping ontology to knowledge graph, integrated into KA-dataplane +- binding agents: + - provisioning agent: provide data + - remoting agent: bind service to graph + +| | service provider | delegator | data provider | consumer | skill provider | +| ---------------------------------- | :---: | :---: | :---: | :---: | :---: | +| EDC connector
                                    + agent plane / matchmaking agent | x | x | x | x | x | +| ontologies | x | x | x | x | x | +| skill-access | | | | x | x | +| usage data | | | x | | | +| provisioning agent | | | x | | | +| calculation service | x | | | | | +| remoting agent | x | | | | | + +## USE CASE TYPES + +Depending on how roles coincide and where skills are executed, the use case architecture, graph assets and skills must be adapted. Detailed information about how to write dedicated skills can be found in the [Agents KIT's Operation View](../../knowledge-agents/operation-view/agent_edc). + +### COMBINATION OF ROLES + +The use cases can be divided depending on which roles coincide. When writing a skill, you always have to keep in mind who has access to whose resources and how to write the skill correctly and safely. + +The roles *data provider* and *calculation service provider* can occur more than once. There are many combinations of the roles possible, but the following ones are the more common ones. + +#### SKILL PROVIDER IS NEUTRAL ENTITY + +![combination skill provider is neutral entity](assets/combination-skill-provider-is-neutral-entity.drawio.svg) + +There may be reasons why the *skill provider* is not the consumer, as well as not one of the other roles: + +- The skill provider invents new skills and offers them. +- The skill provider is a trustee, it has knowledge over relations that others don't have. + +#### CONSUMER IS SKILL PROVIDER + +![combination consumer is skill provider.drawio](assets/combination-consumer-is-skill-provider.drawio.svg) + +Often the consumer is also the skill provider. It knows what to ask for and how to process the data to get the desired results. + +#### DATA PROVIDER IS CALCULATION SERVICE PROVIDER + +![combination data provider is service provider](assets/combination-data-provider-is-service-provider.drawio.svg) + +If the *data provider* is also the *calculation service provider*, from the caller's point of view, it's like they're different entities that have full access to each other. The *skill provider* is a neutral entity. + +#### DATA PROVIDER IS SKILL PROVIDER + +![combination data provider is skill provider](assets/combination-data-provider-is-skill-provider.drawio.svg) + +In some cases, the *data provider* provides a skill that can process its data in a data sovereign way. Through this, it has the full control over how its data can be processed. + +#### CALCULATION SERVICE PROVIDER IS SKILL PROVIDER + +![combination service provider is skill provider](assets/combination-service-provider-is-skill-provider.drawio.svg) + +If the *calculation service provider* provides a skill, from the caller's point of view, it's like a data asset that can be parameterized. + +#### CONSUMER IS SKILL PROVIDER AND IS DATA PROVIDER + +![combination consumer is skill and data provider](assets/combination-consumer-is-skill-and-data-provider.drawio.svg) + +With this combination, a *consumer* can utilize its own data in any way it wants to by using external calculation services. + +#### CONSUMER IS SKILL PROVIDER AND IS CALCULATION SERVICE PROVIDER + +![combination consumer is skill and service provider](assets/combination-consumer-is-skill-and-service-provider.drawio.svg) + +With this combination, a *consumer* can parameterize its own calculation service with data of partners in any way it wants to. + +#### CONSUMER IS SKILL PROVIDER AND DATA PROVIDER IS CALCULATION SERVICE PROVIDER + +![combination consumer is skill provider and data provider is service provider](assets/combination-consumer-is-skill-provider-and-data-provider-is-service-provider.drawio.svg) + +If the *data provider* is also the *calculation service provider*, from the caller's point of view, it's like they're different entities that have full access to each other. When using its own skill, the consumer has control over how the data is processed. + +#### ALL ROLES COINCIDE + +![combination all roles coincide](assets/combination-all-roles-coincide.drawio.svg) + +With this combination, a *consumer* can utilize its own data in any way it wants to. + +#### MORE COMBINATIONS + +All combinations above may be extended by additional, separate data and/or calculation service providers. + +### SKILL EXECUTION + +There are different options where and how the skill is executed initially: + +- at consumer side or at provider side +- ad hoc or as a registered skill + +Allowed variants may be dependent on a *framework agreement*. + +For more information, see [Agents KIT's Operation View](../../knowledge-agents/operation-view/agent_edc). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/basic-service.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/basic-service.drawio.svg new file mode 100644 index 00000000000..202dcb6a90d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/basic-service.drawio.svg @@ -0,0 +1,80 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/business-process.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/business-process.drawio.svg new file mode 100644 index 00000000000..62aeed0ec22 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/business-process.drawio.svg @@ -0,0 +1,815 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    + connector +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Shared Ontologies +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Shared Ontologies + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + 0.2 sync federated catalog + +
                                    +
                                    +
                                    +
                                    + + 0.2 sync federated catalog + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + 0.2 sync federated catalog +
                                    +
                                    +
                                    +
                                    + + 0.2 sync federated catalog + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data-Binding + +
                                    +
                                    +
                                    +
                                    + + Data-Binding + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service-Binding + +
                                    +
                                    +
                                    +
                                    + + Service-Binding + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 2. request skill asset + +
                                    +
                                    +
                                    +
                                    + + 2. request skill asset + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + 6. fetch data + +
                                    +
                                    +
                                    +
                                    + + 6. fetch data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 3. resolve prognosis function assets +
                                    + by requested result type +
                                    +
                                    +
                                    +
                                    +
                                    + + 3. resolve prognosis function assets... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 4. resolve prognosis data assets +
                                    + by function parameter types +
                                    +
                                    +
                                    +
                                    +
                                    + + 4. resolve prognosis data assets... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + 8. calls service +
                                    + and fetch result +
                                    +
                                    +
                                    +
                                    +
                                    + + 8. calls service... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 9. return result + +
                                    +
                                    +
                                    +
                                    + + 9. return result + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 7. transfer data and deploy sub-skill +
                                    +
                                    +
                                    +
                                    + + 7. transfer data and deploy sub-skill + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 10. delegate result + +
                                    +
                                    +
                                    +
                                    + + 10. delegate result + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 0.1 register +
                                    + skill asset +
                                    +
                                    +
                                    +
                                    +
                                    + + 0.1 register... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Consuming  App + +
                                    +
                                    +
                                    +
                                    + + Data Consuming  App + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 1. invoke +
                                    + skill asset +
                                    +
                                    +
                                    +
                                    +
                                    + + 1. invoke... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + start + +
                                    +
                                    +
                                    +
                                    + + start + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Provisioning Agent + +
                                    +
                                    +
                                    +
                                    + + Provisioning... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 11. get +
                                    + result +
                                    +
                                    +
                                    +
                                    +
                                    + + 11. get... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + 5. resolve actual usage data and +
                                    + service provider by component id +
                                    +
                                    +
                                    +
                                    +
                                    + + 5. resolve actual usage data and... + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-all-roles-coincide.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-all-roles-coincide.drawio.svg new file mode 100644 index 00000000000..f81712135d7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-all-roles-coincide.drawio.svg @@ -0,0 +1,179 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Consumer + Skill Provider +
                                    + + +
                                    + + Data Provider + + + + Service Provider + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + Skill Provider... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-data-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-data-provider.drawio.svg new file mode 100644 index 00000000000..c9ce3ac7065 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-data-provider.drawio.svg @@ -0,0 +1,258 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consumer + Skill Provider +
                                    + + +
                                    + + Data Provider + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + Skill Provider... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-service-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-service-provider.drawio.svg new file mode 100644 index 00000000000..821868d1230 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-and-service-provider.drawio.svg @@ -0,0 +1,258 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consumer + Skill Provider +
                                    + + +
                                    + + Service Provider + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + Skill Provider... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider-and-data-provider-is-service-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider-and-data-provider-is-service-provider.drawio.svg new file mode 100644 index 00000000000..3f32d0ab0b5 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider-and-data-provider-is-service-provider.drawio.svg @@ -0,0 +1,257 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    + + Skill Provider +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider +
                                    +
                                    + + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider.drawio.svg new file mode 100644 index 00000000000..51671596a53 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-consumer-is-skill-provider.drawio.svg @@ -0,0 +1,334 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    + + Skill Provider +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-service-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-service-provider.drawio.svg new file mode 100644 index 00000000000..70117f0e3f8 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-service-provider.drawio.svg @@ -0,0 +1,315 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Skill Provider + +
                                    +
                                    +
                                    +
                                    + + Skill Provider + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider +
                                    + + Service Provider +
                                    +
                                    +
                                    +
                                    +
                                    + + Data Provider... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-skill-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-skill-provider.drawio.svg new file mode 100644 index 00000000000..b68fa7bda86 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-data-provider-is-skill-provider.drawio.svg @@ -0,0 +1,320 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    + + + + + + Skill Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-service-provider-is-skill-provider.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-service-provider-is-skill-provider.drawio.svg new file mode 100644 index 00000000000..b6438b43983 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-service-provider-is-skill-provider.drawio.svg @@ -0,0 +1,320 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    + + + + + + Skill Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-skill-provider-is-neutral-entity.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-skill-provider-is-neutral-entity.drawio.svg new file mode 100644 index 00000000000..1515fa9a3be --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/combination-skill-provider-is-neutral-entity.drawio.svg @@ -0,0 +1,393 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Consumer +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    +
                                    +
                                    + + Data Provider + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    +
                                    +
                                    + + Service Provider + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    +
                                    +
                                    + + Usage Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + Consuming +
                                    + App +
                                    +
                                    +
                                    +
                                    +
                                    + + Consuming... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + KA-EDC +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Logic +
                                    + (Skill) +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Logic... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Skill Provider + +
                                    +
                                    +
                                    +
                                    + + Skill Provider + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/complex-dataspace.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/complex-dataspace.drawio.svg new file mode 100644 index 00000000000..7596175279a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/complex-dataspace.drawio.svg @@ -0,0 +1,901 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Data Provider A> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Data Provider B> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Consumer 1> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Data Provider C> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Service Provider x> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Service Provider y> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC connector +
                                    + <Service Provider z> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC connector... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Coordination Service A +
                                    + use case  1 +
                                    +
                                    +
                                    +
                                    +
                                    + + Coordination Service A... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Coordination Service B +
                                    + use case  1 +
                                    +
                                    +
                                    +
                                    +
                                    + + Coordination Service B... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Coordination Service +
                                    + use case  1 +
                                    +
                                    +
                                    +
                                    +
                                    + + Coordination Service... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use case  2 + +
                                    +
                                    +
                                    +
                                    + + use case  2 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use case  2 + +
                                    +
                                    +
                                    +
                                    + + use case  2 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use case  3 + +
                                    +
                                    +
                                    +
                                    + + use case  3 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + API +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + API + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Providers + +
                                    +
                                    +
                                    +
                                    + + Data Providers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service Providers + +
                                    +
                                    +
                                    +
                                    + + Calculation Service Providers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Consumers + +
                                    +
                                    +
                                    +
                                    + + Consumers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + + use case 2 + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + use case 2 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Consumer Service +
                                    + use case  1 +
                                    +
                                    +
                                    +
                                    +
                                    + + Consumer Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + Start +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    + + Start... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + neg +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + neg + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + neg +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + neg + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + neg +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + neg + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + neg +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + neg + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + neg +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + neg + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + = contract negotiation +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + = contract negotiation + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline-condensed.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline-condensed.drawio.svg new file mode 100644 index 00000000000..2d9c86bd4af --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline-condensed.drawio.svg @@ -0,0 +1,216 @@ + + + + + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + R25 rollout + +
                                    +
                                    +
                                    +
                                    + + R25 rollout + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + R26 rollout + +
                                    +
                                    +
                                    +
                                    + + R26 rollout + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R27 rollout + +
                                    +
                                    +
                                    +
                                    + + R27 rollout + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R28 rollout + +
                                    +
                                    +
                                    +
                                    + + R28 rollout + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + + t + + +
                                    +
                                    +
                                    +
                                    + + t + +
                                    +
                                    + + + + + + + + + + + + +
                                    +
                                    +
                                    + + R25 + +
                                    +
                                    +
                                    +
                                    + + R25 + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + R26 + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + R26 + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + R27 + +
                                    +
                                    +
                                    +
                                    + + R27 + +
                                    +
                                    + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline.drawio.svg new file mode 100644 index 00000000000..b8682987ba2 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/cx-releases-timeline.drawio.svg @@ -0,0 +1,296 @@ + + + + + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + + EOL R25 + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EOL R25 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + + EOL R26 + + +
                                    +
                                    +
                                    +
                                    + + EOL R26 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + + EOL R27 + + +
                                    +
                                    +
                                    +
                                    + + EOL R27 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EOL R24 + +
                                    +
                                    +
                                    +
                                    + + EOL R24 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R25 rollout + +
                                    +
                                    +
                                    +
                                    + + R25 rollout + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R26 rollout + +
                                    +
                                    +
                                    +
                                    + + R26 rollout + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R27 rollout + +
                                    +
                                    +
                                    +
                                    + + R27 rollout + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + R28 rollout + +
                                    +
                                    +
                                    +
                                    + + R28 rollout + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + + t + + +
                                    +
                                    +
                                    +
                                    + + t + +
                                    +
                                    + + + + + + + + + + + +
                                    +
                                    +
                                    + + R27 + +
                                    +
                                    +
                                    +
                                    + + R27 + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + R25 + +
                                    +
                                    +
                                    +
                                    + + R25 + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + R26 + +
                                    +
                                    +
                                    +
                                    + + R26 + +
                                    +
                                    + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-complex.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-complex.drawio.svg new file mode 100644 index 00000000000..1cb2ab21426 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-complex.drawio.svg @@ -0,0 +1,220 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + overarching dataspace components + +
                                    +
                                    +
                                    +
                                    + + overarching dataspace components + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Logic + +
                                    +
                                    +
                                    +
                                    + + Logic + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-knowledge-agent.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-knowledge-agent.drawio.svg new file mode 100644 index 00000000000..4e6fb310663 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace-knowledge-agent.drawio.svg @@ -0,0 +1,525 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + + + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Data Provider A> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Data Provider B> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Consumer 1> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Data Provider C> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Service Provider x> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Service Provider y> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + KA-EDC +
                                    + <Service Provider z> +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + KA-EDC... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Data +
                                    + use case +
                                    + 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Data... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Calculation Service... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Data Providers + +
                                    +
                                    +
                                    +
                                    + + Data Providers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Calculation Service Providers + +
                                    +
                                    +
                                    +
                                    + + Calculation Service Providers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Consumers + +
                                    +
                                    +
                                    +
                                    + + Consumers + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + + use case 2 + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + use case 2 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + Start +
                                    + use case 1 +
                                    +
                                    +
                                    +
                                    + + Start... + +
                                    +
                                    + + + + + + + + + + + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace.drawio.svg new file mode 100644 index 00000000000..810d3a4c4c6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/dataspace.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    CC-BY-4.0  Contributors to the Eclipse Foundation
                                    CC-BY-4.0  Contributors to the Eclipse Fou...
                                    Data
                                    Data
                                    Service
                                    Service
                                    Logic
                                    Logic
                                    Data
                                    Data
                                    Service
                                    Service
                                    Data
                                    Data
                                    Data
                                    Data
                                    Data
                                    Data
                                    overarching dataspace components
                                    overarching dataspace components
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/logic.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/logic.drawio.svg new file mode 100644 index 00000000000..e18b94479f3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/logic.drawio.svg @@ -0,0 +1,118 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Logic + +
                                    +
                                    +
                                    +
                                    + + Logic + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    +
                                    +
                                    + + Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    +
                                    +
                                    + + Service + +
                                    +
                                    + + + + + + + + + + + +
                                    +
                                    +
                                    + + consumer + +
                                    +
                                    +
                                    +
                                    + + consumer + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/supply-chain-visibility.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/supply-chain-visibility.drawio.svg new file mode 100644 index 00000000000..a844f3806c1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/supply-chain-visibility.drawio.svg @@ -0,0 +1,138 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Tier  1 + +
                                    +
                                    +
                                    +
                                    + + Tier  1 + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + Tier 3 + +
                                    +
                                    +
                                    +
                                    + + Tier 3 + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Tier 2 + +
                                    +
                                    +
                                    +
                                    + + Tier 2 + +
                                    +
                                    + + + + + + + + + + + + +
                                    +
                                    +
                                    + + OEM + +
                                    +
                                    +
                                    +
                                    + + OEM + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Tier 4 + +
                                    +
                                    +
                                    +
                                    + + Tier 4 + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-hasargument.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-hasargument.drawio.svg new file mode 100644 index 00000000000..01680447160 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-hasargument.drawio.svg @@ -0,0 +1,92 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + CountingValues + +
                                    +
                                    +
                                    +
                                    + + CountingValues + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + PrognosisFunction + +
                                    +
                                    +
                                    +
                                    + + PrognosisFunction + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + hasArgument + +
                                    +
                                    +
                                    +
                                    + + hasArgument + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-partof.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-partof.drawio.svg new file mode 100644 index 00000000000..a80d86b6bd4 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet-example-partof.drawio.svg @@ -0,0 +1,92 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + Vehicle + +
                                    +
                                    +
                                    +
                                    + + Vehicle + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Gearbox + +
                                    +
                                    +
                                    +
                                    + + Gearbox + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + partOf + +
                                    +
                                    +
                                    +
                                    + + partOf + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet.drawio.svg new file mode 100644 index 00000000000..989218fd52b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/assets/triplet.drawio.svg @@ -0,0 +1,92 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + object + +
                                    +
                                    +
                                    +
                                    + + object + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + subject + +
                                    +
                                    +
                                    +
                                    + + subject + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + predicate + +
                                    +
                                    +
                                    +
                                    + + predicate + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/introduction.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/introduction.md new file mode 100644 index 00000000000..d954a524f53 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/introduction.md @@ -0,0 +1,77 @@ +--- +id: introduction +title: Introduction +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +*This section provides a quick overview over the KIT's scope, its direction and how you can benefit from using it for your own applications and use cases.* + +## VISION & MISSION + +### VISION + +Aggregating real-world usage data of technical products is state-of-the-art. But only by combining this data with digital twins, simulation models and specialized calculation services, new business opportunities and operational efficiencies become possible across the entire product lifecycle. The key to successfully enabling these opportunities is the efficient scalability of digital solutions, their extension across business boundaries and handling data protection and governance. + +### MISSION + +The Behaviour Twin KIT aims to facilitate the development of scalable and interoperable solutions for connecting service customers, data providers and service providers across organizational boundaries in a generic way. The KIT allows a Behaviour-Twin-oriented entry to state-of-the-art Knowledge Agent technology. It guides business and software developers by explaining key concepts and by directing them to relevant technical resources and examples. + +## STATUS QUO & CHALLENGE + +### STATUS QUO + +Within company boundaries, the aggregation of usage data, monitoring them, e.g. by calculation of health indicators or component damage based on internally available data and models, is already state-of-the-art. However, across these boundaries, there are only individual, complex and not generally available solutions. Often, additional use cases or participants require repetitive efforts to implement instances for connecting data and calculation services. + +### TODAY'S CHALLENGE + +Thus, the following challenges must be addressed: + +- correctly allocating component data and calculation service across organizational boundaries +- ensuring data compliance across complex supply chains +- enabling secure data sharing while respecting IP and governance +- fulfill high data sovereignty standards +- facilitating flexible customization for diverse use cases +- reduce effort for additional use cases and participants + +## USE CASE EXAMPLES + +Typical scenarios comprise stakeholders acting during a certain phase in the product lifecycle: + +- **OEM, TIER-X @ Early product development phase:** Components can be optimally designed using digital prototypes and simulations based on usage data and models. + +- **OEM, TIER-X @ Offer phase:** Suppliers can enhance their products with value-added services like health monitoring and Remaining useful Life calculation making them more attractive for their customers. + +- **OEM, TIER-X @ Usage phase:** Precise monitoring of product health and residuals value helps enable predictive maintenance, optimized operations and end-of-life decision making. + +- **Car dealers and automotive clubs @ usage phase:** Further interpreting the Remaining useful Life calculation for a vehicle evaluation and offer it as vehicle-related services for their end customers and fleet operators. + +- **Car dealers and automotive clubs @ Recycling phase:** An accurate residual value analysis allows optimal dismantling, reuse and recycling. + +## BENEFITS + +In summary, building a use case upon the Behavior Twin KIT accelerates development, ensures compliance, facilitates collaboration, unlocks business value, and creates business benefits across the product lifecycle. + +Benefits in more detail: + +- Offers guidance to build solutions on Knowledge Agent technology. This enables efficient scalability for additional use cases and participants. For further details how scalability is gained, and complexity is reduced, see the section [Knowledge Agent](./knowledge-agent#benefits). + +- Enables scalable and interoperable solutions for connecting different stakeholders like service customers, data providers, and service providers across organizational boundaries. This allows for collaboration and data sharing. + +- Enables stakeholders to optimize components, enhance products with value-added services, enable predictive maintenance, and make better end-of-life decisions. This leads to cost savings and sustainability. + +- Facilitates the development of solutions for aggregating real-world usage data of technical products and combining it with digital twins, simulation models, and specialized calculation services. This unlocks new business opportunities and operational efficiencies. + +- Supports handling data protection, governance, IP rights, and high data sovereignty standards when enabling secure data sharing across complex supply chains. This ensures compliance and builds trust. + +- Guides business and software developers by explaining key concepts and directing them to relevant technical resources and examples. This speeds up understanding and development. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/knowledge-agent.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/knowledge-agent.md new file mode 100644 index 00000000000..4689de586a1 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/knowledge-agent.md @@ -0,0 +1,124 @@ +--- +id: knowledge-agent +title: Knowledge Agent +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## KNOWLEDGE GRAPH BASICS + +The Knowledge Agent is a set of federated components that are used to reason over knowledge graphs. For detailed information, see the [Agents KIT](../../knowledge-agents/adoption-view/intro). + +Semantic models (ontologies, enriched by taxonomies) are describing the data model. They describe all possible classes, their properties and relationships within a specific domain. They may be represented as a graph, but they are not the knowledge graph itself. + +Semantic models are instantiated by semantic triplets. Those triplets are consisting of a subject, a predicate and an object. Subject and object are nodes, the predicate is a unidirectional edge (a relation) between them: + +![triplet](assets/triplet.drawio.svg) + +Classes, properties and relations can be instantiated zero, once or multiple times. All instances of triplets together form the **knowledge graph**. + +## ONTOLOGIES AND TAXONOMIES + +### ONTOLOGIES BASICS + +The description of ontologies is done also by triplets (subject --predicate-> object), where subject and object are nodes and the predicate represents a unidirectional edge between them. + +For a specification of the preferred modelling language, see [RDF 1.1 Turtle on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/turtle/). + +Object types and relations are formally defined within ontologies, e.g.: + +![triplet-example-partof](assets/triplet-example-partof.drawio.svg) + +Subjects and objects may not be real objects but conceptual ones: + +![triplet-example-hasargument](assets/triplet-example-hasargument.drawio.svg) + +### CATENA-X ONTOLOGIES AND TAXONOMIES + +There is already a set of ontologies and a taxonomy defined for the [Catena-X namespace on w3.org ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/): + +- [core ontology ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/next/ontology/core) +- [common core ontology ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/next/ontology/common) +- [reliability ontology ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/next/ontology/reliability) +- [vehicle ontology ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/next/ontology/vehicle) + +For the Behaviour Twin use case, the following ontology is defined: + +- [behaviour ontology ![(external link)](../assets/external-link.svg)](https://w3id.org/catenax/next/ontology/behaviour) + +### OWN ONTOLOGIES FOR TEST OF NEW OR EXTENSION OF EXISTING USE CASES + +Private or extended ontologies (e.g. for only two partners) can be added to the Knowledge Agent configuration. There are two options: + +- Defining a public accessible storage location where all participating partners can refer to. +- Mounting the ontology file into the Knowledge Agent container. + +In each case, the configuration is static and must be done within the deployment scripts of the Knowledge Agent. For the changes to take effect, the Knowledge Agent must be restarted. + +## SHAPES GRAPH + +Ontologies and taxonomies describe nodes and edges (triplets) as a semantic model (schema). The actual instances (data) form the knowledge graph itself. + +The *shapes graph* is a separate graph written in the [Shapes Constraint Language (SHACL) ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/shacl/#part1) that defines the rules and constraints for the data. It acts like a template describing the expected structure and properties. + +## DATA SOVEREIGNTY THROUGH BINDINGS + +Data and service bindings bring an extra layer of security. Only mapped data and services can be accessed. They are offered through graph assets. These assets are bound to policies which on the other hand are bound to a framework agreement. Using graph assets, all communication is handled by EDC connectors and this ensures data sovereignty. + +Bindings are configured statically. For the changes of the binding configurations to take effect, the related Binding Agent must be restarted. New graph assets can be added dynamically. + +## SKILLS + +A *skill* is a query which is parameterizable by a set of input variables and is executable by the Knowledge Agent. It defines the fundamental logic of how data and calculation services are linked to achieve the desired result. In most cases, it is a federated query. For more information, see the [Agents KIT](../../knowledge-agents/development-view/modelling#skill). + +## BENEFITS + +The Knowledge Agent approach enables high scalability by reducing complexity. + +### APPROACH WITHOUT KNOWLEDGE AGENT + +Many Behaviour Twin use cases start with collecting usage data and send them to a calculation service. Without generalized components, there would be a huge effort: + +![complexity in dataspaces without knowledge agent technology](./assets/complex-dataspace.drawio.svg) + +**For each use case at each participating *data provider***, a dedicated and complex *Coordination Service* must be developed, deployed and maintained. This service contains the overarching logic (how to link usage data and calculation services to produce the desired results), fetches usage data, negotiates contracts over EDC and calls (different) APIs of calculation services at the *Service Providers*. For this process, negotiation of contracts over EDC must also be handled by the Coordination Services. Because of different input parameters of different calculation services, for every link there must be a dedicated implementation. + +There are a big variety of combinations. For small use cases, the effort would be to high to establish those complex *Coordination Services*. + +Even more complexity comes in when there are more use cases, more than one data source for one calculation or more than one calculation services to get one result (for one request). + +### APPROACH WITH KNOWLEDGE AGENT + +A generalization with the help of the *Knowledge Agent* technology leads to a lower complexity: + +![complexity in dataspaces with knowledge agent technology](./assets/dataspace-knowledge-agent.drawio.svg) + +This approach shifts complexity to the Knowledge Agent (KA-EDC), which is a well-developed set of components and deployed only once for a set of use cases. All the Coordination Services, API calls and explicit negotiations can be omitted. Instead, data and calculation services are bound to the *Knowledge Graph* and formal described in *graph assets* at the EDCs. By defining usage policies for those graph assets, the *Knowledge Agent* negotiates contracts and organizes data exchange automatically. This has not to be implemented by separate services any more. + +### COMPARISON + +| without Knowledge Agent | with Knowledge Agent | +| --- | --- | +| *Consumers* must negotiate contracts with the *data providers*. | Negotiation is done by the *Knowledge Agent*. | +| *Consumers* call the logic at *data providers* through APIs of the *Coordination Services*. *Data providers* define/implement the logic per use case. | *Consumer* define the logic (*skills*) and invoke it. | +| *Data providers* maintain *Coordination Services* to dispatch the consumers' requests. This services are fetching data, negotiating contracts with the *service providers*, calling the service providers' APIs and delegating the results back to the requesting *consumers*. | *Data providers* bind their data to the *knowledge graph* through static configuration files. The rest is done by the *Knowledge Agent*. | +| *Service providers* expose their services' APIs. | *Service providers* don't expose their services' APIs, but bind the services to the *knowledge graph* through static configuration files. The input and output parameters are formally described, so that the *Knowledge Agent* can do the rest. | + +## TEST + +Currently, there is no ready-to-use test environment. If you want to test your use case, +you still have options: + +- Have a look at the [Agents KIT](../../knowledge-agents/adoption-view/intro), maybe there is already something regarding testing. +- Search at your operating company's website or contact them. +- Build up your own test environment. As a basis, you could use the official Tractus-X [MXD test environment on GitHub ![(external link)](../assets/external-link.svg)](https://github.com/eclipse-tractusx/tutorial-resources). Unfortunately, the Knowledge Agent components are not included into the MXD deployment scripts until release of the current KIT version. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/new-use-cases.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/new-use-cases.md new file mode 100644 index 00000000000..aeed29fd24d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/new-use-cases.md @@ -0,0 +1,37 @@ +--- +id: new-use-cases +title: New Use Cases +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +If you start to build up a very new use case within the overarching Behaviour Twin use case, you may first read the [Adoption View](./overview) of this KIT. It provides additional information for quick understanding of the used technologies. In particular, see also the [To Be Considered](./to-be-considered) section. + +To build up the use case, follow the following steps: + +- join Catena-X (see [participate section on catena-x.net ![(external link)](../assets/external-link.svg)](https://catena-x.net/en/participate)) +- develop a business process +- define participants and their roles +- consider data protection requirements +- identify the use case type (who initiates requests, who is data provider, where are skills located) +- design data model/ontology (maybe, existing ontologies are already sufficient or can be extended) +- design a use case framework agreement (or use the *Behaviour Twin Use Case Agreement* if appropriate) +- define logic (implement skill(s)) +- deploy dataspace components (EDC and Knowledge Agent components) +- provide (bind) data +- provide (bind) calculation services +- test the skill(s) with partners + +The [Use Case Templates](../use-cases/overview) within this KIT can be used as starting point for the technical development. + +For further guidance, refer also to [Guidance And Resources](../development-view/guidance-and-resources) in the Development View. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/overview.md new file mode 100644 index 00000000000..f361c65189f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/overview.md @@ -0,0 +1,38 @@ +--- +id: overview +title: Adoption View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## CONTENTS + +- [Introduction](./introduction) +- [Architecture](./architecture) +- [Knowledge Agent](./knowledge-agent) +- [Versioning](./versioning) +- [To Be Considered](./to-be-considered) +- [New Use Cases](./new-use-cases) +- [Terminology](./terminology) + +## NOTICE + +This work is licensed under the [CC-BY-4.0 ![(external link)](../assets/external-link.svg)](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +- SPDX-FileCopyrightText: 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2021-2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2021-2024 Mercedes-Benz AG +- SPDX-FileCopyrightText: 2022-2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2022-2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/terminology.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/terminology.md new file mode 100644 index 00000000000..bba11b57651 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/terminology.md @@ -0,0 +1,79 @@ +--- +id: terminology +title: Terminology +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## DEDICATED BEHAVIOUR TWIN USE CASES + +For specific terminology in dedicated Behaviour Twin use cases, see the terminology sections within the [use case section](../use-cases/overview). + +## GENERAL + +|Term|Description|Comment| +|---|---|---| +|Catena-X|Association, dataspace, automotive network|Open and interoperable data ecosystem of the automotive sector, see [https://catena-x.net/ ![(external link)](../assets/external-link.svg)](https://catena-x.net/)| +|Tractus-X|Official open-source project in the Catena-X data space|see [https://eclipse-tractusx.github.io/ ![(external link)](../assets/external-link.svg)](https://eclipse-tractusx.github.io/)| +|EDC|Eclipse Dataspace Components|Set of components like the Eclipse Dataspace Connector and it's extensions| +|Tractus-X EDC|Tractus-X Eclipse Dataspace Components|EDC, adapted and released for the Tractus-X project| +|Connector|Dataspace Connector|Tractus-X Eclipse Dataspace Connector or compatible connector implementation| +|Connector Address|Public API https-address|Address of the connectors control plane for communication with other connectors| +|Data Space|All connected services and data|| +|Operating Company|A company that provides central services for the dataspace|| +|BPN|Business Partner Number|Identifies a legal entity (participant in the data space)| +|Use Case|Delimited business logic and associated framework|| +|Usage Data|Collected data while a vehicle/component is used|Describes, for example, how a component was used until now| +|Data Owner|The actual owner of personal data|E.g. the driver of a vehicle, but usually not the data provider| +|Framework Agreement|Common contract of use case participants|| +|Policy|Usage policy for data or services|Refers to a Framework Agreement| +|Contract|Automatically negotiated contract for accessing data or services|| +|Consumer|Queries a result from a data source or a service|The one who initiates the query. May process data further in his realm.| +|Provider|Provides data or a service|| +|Data Provider|Provides own data from own data sources|likely an OEM| +|Service|Service to process data|E.g. calculation or simulation based on internal models| +|Service Provider|Provides a calculation service to process result data from input data|Likely a supplier of a part or component| +|Delegator|Delegates data or service requests|Likely a supplier of a component that is assembled of subcomponents which are providing calculation services| +|Semantic Versioning|Versioning scheme for software|Using meaningful version numbers in the format `[0-9]+.[0-9]+.[0-9]+(-SNAPSHOT)?` (e.g. `1.3.12`, )| +|Component Provider|Manufacturer of a component|Provides services or delegates data| +|VIN|Vehicle Identification Number|A standardized number to identify a vehicle| + +## KNOWLEDGE AGENT + +|Term|Description|Comment| +|---|---|---| +|Knowledge Graph|A semantic graph, representing real data|Describes relation between subjects and objects| +|Knowledge Agent|Components to operate on knowledge graphs across the dataspace|see [Agents KIT](../../knowledge-agents/adoption-view/intro)| +|Matchmaking Agent|Resolves federated sub-graphs for the Knowledge Agent|Fits requested sub-graphs with existing graph assets| +|Binding Agent|A component that binds instances to the knowledge graph|Binds instances of data or services to the knowledge graph| +|Provisioning Agent|Binding agent for data bindings|Binds instances of data to the knowledge graph| +|Remoting Agent|Binding agent for service bindings|Binds instances of services to the knowledge graph| +|Semantic Web|Concept of a machine-readable world wide web|(Web 3.0)| +|Asset|A requestable data set|A formal described data set, that can be requested via EDC| +|Graph Asset|A special type of asset that describes a graph|The graph description is written in SHACL| +|Shapes Graph|A separate graph that defines the rules and constraints for the data. It acts like a template describing the expected structure and properties.|| +|Ontology|Semantic model for concepts and in a specific domain|Defines classes, properties and their relations| +|Skill|The overarching logic behind a use case|E.g. how to find and link data or calculation services to produce the desired result| +|Skill Provider|Provider of the use case logic (skill)|Hosts a skill that can be executed| + +## TECHNOLOGIES + +|Term|Description|Comment| +|---|---|---| +|Catena-X Dataspace Architecture|Architecture defined by Catena-X|see [Tractus-X KITs](https://eclipse-tractusx.github.io/Kits)| +|SPARQL|SPARQL 1.1 Query Language|see [SPARQL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/sparql11-query/)| +|RDF|Resource Description Framework|see [RDF on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/RDF/)| +|ttl (Turtle)|RDF 1.1 Turtle|see [Turtle on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/turtle/)| +|OWL|Web Ontology Language|see [OWL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/OWL/)| +|SHACL|Shapes Constraint Language|see [SHACL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/shacl/)| +|W3C|World Wide Web Consortium|see [w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/)| diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/to-be-considered.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/to-be-considered.md new file mode 100644 index 00000000000..5a89dd4c00c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/to-be-considered.md @@ -0,0 +1,91 @@ +--- +id: to-be-considered +title: To Be Considered +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## DATA PROTECTION + +### GENERAL + +Behaviour Twin use cases usually utilize usage data. Therefore, data protection laws must be complied with. In the EU, the General Data Protection Regulation (GDPR) must be observed. + +In general, users of data must have obtained consent from the data owner for each type of processing separately. If a data provider gets a request for passing along or processing usage data, it must ensure, that the data owner has given consent for the requested purpose. A automated consent system may be implemented. + +Also note that usage data in a vehicle may be generated by other persons (drivers) than the vehicle owner. + +### ACCESS DATA BY VIN + +Currently, to access usage data of a vehicle from outside the data provider, the vehicle identification number (VIN) would be needed. Until the release of the current KIT version, there is no general legally permissible option for using VINs to obtain usage data. A regulation +is under discussion. + +In individual cases, the usage of a VIN or some generated anonymized number may be possible. + +## DATA SOVEREIGNTY + +The supply chain is visible to each company *only one* up and *one down* (there may be exceptions): + +![supply chain visibility](assets/supply-chain-visibility.drawio.svg) + +### USE CASE FRAMEWORK AND CONTRACTS + +For each use case there must be a *Use Case Framework*, see the [Catena-X webpage ![(external link)](../assets/external-link.svg)](https://catena-x.net/en/catena-x-introduce-implement/governance-framework-for-data-space-operations). There, all general requirements for all participants are defined. + +Keep in mind that use cases must fulfill the one-up-one-down-policy. If your (new) use case cannot completely comply, adapt it or consider a special solution. + +Additional contracts may be required (e.g. a subset of partners within a use case have higher requirements for data quality than the remaining partners). + +### WRITING SKILLS + +When writing skills, keep in mind that all referenced assets are accessible in the current context (query scope/service level). An asset is accessible, if it's in the federated catalog of the related sub-skill (level). In the example diagram above, assets of Tier 4 are hidden to the Knowledge Agent of Tier 2. Within the skill, a *SERVICE* at Tier 3 must be called that can resolve the missing data from Tier 4. + +## DATA QUALITY + +Data quality depends on many factors. In some use cases, a minimum data quality must be ensured. Currently, there is no general concept for this. Some aspects should be kept in mind: + +- **Type of data acquisition:** The data could be measured, calculated, estimated, processed, replaced ... The accuracy may vary, and data could be corrupted. + +- **Availability:** The data could be fully or partially missing. + +- **Stability:** For example, data may be accumulated and therefore monotonically increasing. Data could be reset or corrupted unintentionally or due to system fault. + +- **Quality propagation:** Calculated/processed data may be based on input data that are for example estimated. Without a quality indicator, the quality may vary very greatly from an alternative source where the base was a measurement. + +- **Error propagation:** With the Knowledge Agent, errors are not propagated by default. If some data is not available, an empty set is returned. If, for example, a service uses a variable number of parameters, and one of them is not available, a wrong result may be generated. If the result is then processed further, this issue will not be noticeable. + +## VERSIONING AND BREAKING CHANGES + +In Catena-X, breaking changes may only be allowed in major releases. If your use case is not affected by breaking changes, you may not need to release a new major version. + +Since not all participants can update all their components at the same time, there will be a transition period. + +There could be three dates within this period that must be considered: + +- **Start of rollout:** From this date on, the new version can be provided/supported. +- **End of rollout (deadline):** Until this date, the new version must be provided/supported. +- **End of life:** Until this date, the related version is supported. To ensure that there is always a common (compatible) version available, this date is not before the rollout deadline of the following version. + +There may be a period where two versions are provided/supported in parallel: + +![cx-releases timeline](assets/cx-releases-timeline.drawio.svg) + +The three dates may coincide on a date. In this case, start of rollout is on same date as end of rollout of the previous version, and end of rollout is on same date as end-of-life of the previous version: + +![cx-releases timeline](assets/cx-releases-timeline-condensed.drawio.svg) + +If the release cycle follows the before mentioned schema it is always guaranteed that there is a version that is provided/supported from end of rollout until end-oflife. + +:warning: Take into account that other components (like your own EDC connectors and your partners' components), may not be updated to their corresponding new version before end of rollout. Therefore, you can only rely on the previous version. + +This release procedure may affect you only if you have breaking changes within your use cases, or the Knowledge Agent interface changes in a breaking way. In most cases, the use-case-specific components are not affected. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/versioning.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/versioning.md new file mode 100644 index 00000000000..98630a0d501 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/adoption-view/versioning.md @@ -0,0 +1,40 @@ +--- +id: versioning +title: Versioning +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## CATENA-X RELEASES + +For information about the Catena-X release management, refer to the [Catena-X website ![(external link)](../assets/external-link.svg)](https://catena-x.net/). Implications for Behaviour Twin use cases are mentioned in the section [To Be Considered](./to-be-considered#versioning-and-breaking-changes). + +## VERSIONING ASSETS + +All EDC assets must be decorated by the `cx-common:version` within the `properties` list of the asset definitions. This applies to graph assets (data and service binding assets) as well as to skill assets. + +## ONTOLOGY CHANGES + +In most cases, ontologies are not alternated, but extended. The meaning of nodes/edges must not change. + +New service or data types must have new types within the ontologies. + +:warning: If an ontology gets extended, not all users may be aware of this extension. As a consumer of data or services, you cannot expect that all providers provide the corresponding data until next major release. If required, you may establish a appropriate mechanism in your use case for informing your partners and requiring them to provide the extended data. + +## DATA AND SERVICE VERSIONS + +Versioning of services, but also data is especially helpful if you want to harmonize versions within a use case. The attribute `cx-common:version` within the `properties` list of the asset definitions can be used for this purpose. Using semantic versioning, the feature version number can be harmonized by all participants (e.g. by agreements or standards). Semantic versioning is expressed in the following format: `[0-9]+.[0-9]+.[0-9]+(-SNAPSHOT)?` + +A second option would be an extension of the corresponding ontologies and taxonomies. Then, the version information can be a part of the SHACL description in the graph assets. + +It's up to the use case to handle the versioning. In skills, both options can be used to determine the desired data and service versions. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/caution.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/caution.drawio.svg new file mode 100644 index 00000000000..4b6d467897e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/caution.drawio.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/external-link.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/external-link.svg new file mode 100644 index 00000000000..6dad95bf20e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/assets/external-link.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/changelog.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/changelog.md new file mode 100644 index 00000000000..9174c3f9125 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/changelog.md @@ -0,0 +1,39 @@ +--- +id: changelog +title: Change Log +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## [1.0.0] - 2024-05-21 + +### ADDED + +#### GENERAL KIT + +- Initial version of the (generalized) Behaviour Twin KIT. +- This KIT additionally contains the use cases [Remaining useful Life](use-cases/rul/overview) and [Health Indicator](use-cases/hi/overview), see section [Use Cases](use-cases/overview). The dedicated KITs of these use cases (Remaining useful Life KIT and Health Indicator KIT) are hereby deprecated. + + + +### CHANGED + + + + + +### REMOVED + + + + diff --git a/docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Industry Core Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/contracts-and-policies.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/contracts-and-policies.md new file mode 100644 index 00000000000..2343324111d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/contracts-and-policies.md @@ -0,0 +1,142 @@ +--- +id: contracts-and-policies +title: Contracts and Policies +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +Applies to roles: *skill provider*, *data provider*, *calculation service provider* and *delegator* + +## OVERVIEW + +*Data* and *calculation services* must be bound to the knowledge graph by *binding agents*. To make the bindings accessible to the Knowledge Agents, they must be registered as a *graph assets* at the EDC connector. In addition, when providing a skill, this must be registered as a *skill asset* at the EDC connector. For both cases, policies and contract definitions are also needed. + +## GRAPH ASSETS + +### GRAPH ASSET POLICY + +The graph asset policy can be used by more than one graph asset. The policy refers to a *Use Case Framework Agreement*. There may be more requirements for policies within a use case. + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "GraphAsset?me=Policy&useCase=BehaviourTwin", + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [{ + "action": "use", + "constraint": { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "behaviourtwin:1.0" + } + }] + } +} +``` + +### GRAPH ASSET CONTRACT + +The following contract refers to the previous defined graph policy and related graph assets: + +```json +{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?me=Graph", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?me=Graph", + "contractPolicyId": "Policy?me=Graph", + "assetsSelector": { + "@type": "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?me=Graph" + } +} +``` + +## SKILL ASSETS + +### SKILL ASSET POLICY + +The skill asset policy can be used by more than one skill asset. There may be more requirements for policies within a use case. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Policy?me=Skill", + "policy": { + "@context": "http://www.w3.org/ns/odrl.jsonld", + "@type": "Set", + "uid": "https://w3id.org/catenax/ontology/common#Policy?me=Skill", + "permission": [{ + "target": "https://w3id.org/catenax/ontology/common#SkillAsset?me=", + "action": "USE", + "constraint": { + "@type": "LogicalConstraint", + "or": [{ + "@type": "Constraint", + "leftOperand": "BusinessPartnerNumber", + "operator":"eq", + "rightOperand": "BPNL00000PARTNER" + }, + { + "@type": "Constraint", + "leftOperand": "BusinessPartnerNumber", + "operator":"eq", + "rightOperand": "BPNL000000001234" + }] + } + }] + } +} +``` + +### SKILL ASSET CONTRACT + +The following contract refers to the previous defined skill policy and related skill assets: + +```json +{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?me=Skill", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?me=Skill", + "contractPolicyId": "Policy?me=Skill", + "assetsSelector": [{ + "@type": "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?me=Skill" + }] +} +``` + +For more information, have a look at the [Agents KIT's Operation View](../../../../knowledge-agents/operation-view/provider). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/data-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/data-bindings.md new file mode 100644 index 00000000000..b97fa79a1d7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/data-bindings.md @@ -0,0 +1,239 @@ +--- +id: data-bindings +title: Data Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +Applies to roles: *data provider* and *delegator* + +## DATA BINDING FOR RELATIONAL DATA + +The usage data for different use cases like [*Health Indicator*](../use-cases/hi/overview), [*Remaining useful Life*](../use-cases/rul/overview) and others utlilize the same data sources and data types (load spectra). The load spectrum types may vary, but all the different types consists of the same structure and data types. Because of that, they all can be provided by the same data (graph) asset. + +### OVERVIEW + +In most cases, data are provided in (semi-)structured form (relational databases, data lakes, ...). To provide such data as part of the knowledge graph, you have to bind/map them. + +### DATA MAPPING TOOL + +To bind the relational data to the knowledge graph, you can use a **provisioning agent**, also called the **data binding agent**. The [Agents KIT's Operation View](../../knowledge-agents/operation-view/provider) therefore provides a software based on [OnTop ![(external link)](../assets/external-link.svg)](https://ontop-vkg.org/). + +### DATA MAPPING CONFIGURATION + +To configure the bindings, a config file for the provisioning agent software has to be created. The file is written in the [OBDA Mapping Language ![(external link)](../assets/external-link.svg)](https://ontop-vkg.org/tutorial/mapping/). For some detailed information, have a look at the Knowledge [Agents KIT's Operation View](../../knowledge-agents/operation-view/provider). + +#### CONSTRUCTION OF A SINGLE DATA BINDING + +Each data binding consists of 3 lines in the config file. The first line defines a unique mapping ID (arbitrarily selectable). The second line lists one or more RDF triplets (target). The third line is, for example, a SQL statement on the relational data source. + +A simple example: + +```obda + mappingId partsvehicle + target <{gearbox_id}> cx-vehicle:isPartOf <{vehicle_id}> . + source SELECT vehicle_id, gearbox_id FROM vehicles +``` + +The target is described as a triple with two variables: `gearbox_id` and `vehicle_id`. The exact same variables must occur in the result of the source SQL statement. The SQL result is then mapped to the variables in the target triplets. +For each row in the SQL result, a triplet instance is created. If the SQL result is empty, no triplet instances are created. +The result of this example is a triplet that represents the relation between a specific vehicle its gearbox. + +A little more complex example: + +```obda + mappingId vehicles + target <{vehicle_id}> rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {vin}^^xsd:string ; cx-vehicle:worldManufaturerId bpnl:{oem_bpnl} ; cx-vehicle:productionDate {production_date}^^xsd:date. + source SELECT vehicle_id, vin, oem_bpnl, production_date FROM vehicles +``` + +The target now consists of 4 triplets, all with the same subject (`<{vehicle_id}>`) and are separated by a semicolon. The semicolon means, the following triplet only defines the predicate and the object while the subject from the previous triplet is reused. +In the example above, there are the following triplets: + +- *`<{vehicle_id}> rdf:type cx-vehicle:Vehicle`*: All objects in the database table/view "vehicles" are mapped to the type `cx-vehicle:Vehicle`. +- *`<{vehicle_id}> cx-vehicle:vehicleIdentificationNumber {vin}^^xsd:string`*: Relation between a vehicle and the related VIN. The type of VIN must be string. +- *`<{vehicle_id}> cx-vehicle:worldManufaturerId bpnl:{oem_bpnl}`*: Relation between a vehicle and its manufacturer's BPN. +- *`<{vehicle_id}> cx-vehicle:productionDate {production_date}^^xsd:date`*: Relation between a vehicle and it's date of production. The type of production_date must be date. + +Complex types like the load spectra are composed of many triplets. If you have stored those load spectra as complex JSON strings, you may decompose them with specific (built-in) JSON functions of your database system. + +#### FULL EXAMPLE + +The following (full) example shows mappings at an OEM that can be used to determine the vehicle object by a given VIN, find the related gearbox and the associated gearbox load spectra. The example applies for the use cases [Remaining useful Life](../use-cases/rul/overview) and [Health Indicator](../use-cases/hi/overview). This perfectly demonstrates, that the data only have to be bound once and can be re-used for many use cases. + +```obda +[PrefixDeclaration] +cx-common: https://w3id.org/catenax/ontology/common# +cx-core: https://w3id.org/catenax/ontology/core# +cx-vehicle: https://w3id.org/catenax/ontology/vehicle# +cx-reliability: https://w3id.org/catenax/ontology/reliability# +cx-taxo: https://w3id.org/catenax/taxonomy# +uuid: urn:uuid: +bpnl: bpn:legal: +owl: http://www.w3.org/2002/07/owl# +rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# +xml: http://www.w3.org/XML/1998/namespace +xsd: http://www.w3.org/2001/XMLSchema# +json: https://json-schema.org/draft/2020-12/schema# +obda: https://w3id.org/obda/vocabulary# +rdfs: http://www.w3.org/2000/01/rdf-schema# + +[MappingDeclaration] @collection [[ +mappingId vehicles +target uuid:{catenaXId} rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {localIdentifiers_van}^^xsd:string ; cx-vehicle:manufacturer bpnl:{localIdentifiers_manufacturerId} ; cx-vehicle:productionDate {manufacturingInformation_date}^^xsd:date. +source SELECT "catenaXId", "localIdentifiers_van", "localIdentifiers_manufacturerId", "manufacturingInformation_date" FROM "HI_TEST_OEM"."CX_RUL_SerialPartTypization_Vehicle" vehicles + +mappingId partsvehicle +target uuid:{childCatenaXId} cx-vehicle:isPartOf uuid:{catenaXId} . +source SELECT "catenaXId", "childCatenaXId" FROM "HI_TEST_OEM"."CX_RUL_AssemblyPartRelationship" vehicleparts + +mappingId vehicleparts +target uuid:{catenaXId} cx-vehicle:hasPart uuid:{childCatenaXId}. +source SELECT "catenaXId", "childCatenaXId" FROM "HI_TEST_OEM"."CX_RUL_AssemblyPartRelationship" vehicleparts + +mappingId parts +target uuid:{catenaXId} rdf:type cx-vehicle:Part ; cx-vehicle:id {localIdentifiers_partInstanceId}^^xsd:string ; cx-vehicle:name {partTypeInformation_nameAtManufacturer}^^xsd:string ; cx-vehicle:number {partTypeInformation_manufacturerPartId}^^xsd:string ; cx-vehicle:supplier bpnl:{localIdentifiers_manufacturerId} ; cx-vehicle:productionDate {manufacturingInformation_date}^^xsd:date . +source SELECT "catenaXId", "localIdentifiers_partInstanceId", "partTypeInformation_nameAtManufacturer", "partTypeInformation_manufacturerPartId", "localIdentifiers_manufacturerId", "manufacturingInformation_date" FROM "HI_TEST_OEM"."CX_RUL_SerialPartTypization_Component" parts + +mappingId partAnalysis +target uuid:{catenaXId}/{targetComponentId} cx-reliability:analysedObject uuid:{targetComponentId}. +source SELECT "catenaXId", "targetComponentId" FROM "HI_TEST_OEM"."CX_RUL_Analysis" analysis + +mappingId analysisInformation +target uuid:{catenaXId}/{targetComponentId} rdf:type cx-reliability:Analysis ; cx-reliability:operatingHoursOfVehicle {metadata_status_operatingHours_avg}^^xsd:float ; cx-core:startDateTime {metadata_status_date_min}^^xsd:dateTime ; cx-core:endDateTime {metadata_status_date_max}^^xsd:dateTime ; cx-reliability:mileageOfVehicle {metadata_status_mileage_avg}^^xsd:int. +source SELECT "catenaXId", "targetComponentId", "metadata_status_operatingHours_avg", "metadata_status_date_min", "metadata_status_date_max", "metadata_status_mileage_avg" FROM "HI_TEST_OEM"."CX_RUL_Analysis" loadspectrum + +mappingId analysisResult +target uuid:{catenaXId}/{targetComponentId} cx-reliability:result uuid:{catenaXId}/{targetComponentId}/{metadata_componentDescription} . +source SELECT "catenaXId", "targetComponentId", "metadata_componentDescription" FROM "HI_TEST_OEM"."CX_RUL_LoadCollective" loadspectrum + +mappingId loadspectrum +target uuid:{catenaXId}/{targetComponentId}/{metadata_componentDescription} rdf:type cx-reliability:LoadSpectrum ; cx-core:id cx-taxo:{metadata_componentDescription} ; cx-core:name {metadata_projectDescription}^^xsd:string ; cx-reliability:description {metadata_routeDescription}^^xsd:string ; cx-reliability:countingValue {header_countingValue}^^xsd:string ; cx-reliability:countingUnit {header_countingUnit}^^xsd:string ; cx-reliability:countingMethod {header_countingMethod}^^xsd:string ; cx-reliability:channels {header_channels}^^json:Object ; cx-reliability:classes {body_classes}^^json:Object ; cx-reliability:values {body_counts_countsList}^^json:Object . +source SELECT "catenaXId", "targetComponentId", "metadata_projectDescription", "metadata_componentDescription", "metadata_routeDescription", "metadata_status_date", "header_countingValue", "header_countingUnit", "header_countingMethod", "header_channels", "body_counts_countsList", "body_classes" FROM "HI_TEST_OEM"."CX_RUL_LoadCollective" loadspectrum +]] +``` + +### GRAPH ASSET FOR THE DATA BINDINGS + +To enable the knowledge agent's matchmaking agent to utilize the data bindings, a graph asset has to be registered at the data provider's EDC connector. This asset must have a property `rdfs:isDefinedBy` for ontology references and a property `sh:shapesGraph` that defines the shape of the provided graph (data). + +#### GRAPH ASSET DEFINITION + +The following example is a full asset description, that can be registered at the EDC connector. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "GraphAsset?me=BehaviourTwinReliability", + "properties": { + "cx-common:name": "Reliability Data Service", + "cx-common:description": "Test Telematics Data as provided by an OEM.", + "cx-common:description@de": "Test Telematik Daten eines OEM.", + "cx-common:version": "CX_RuL_Testdata_v1.0.0", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?me=Graph", + "dct:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n:LoadSpectrumShape a sh:NodeShape ;\n sh:targetClass cx-reliability:LoadSpectrum ;\n sh:property :observationOfShape, \n :countingValueShape, \n :countingUnitShape, \n :countingMethodShape, \n :channelsShape, \n :classesShape, \n :valuesShape .\n\n:observationOfShape a sh:PropertyShape ;\n sh:path cx-reliability:observationOf ;\n sh:in (cx-taxo:GearOil cx-taxo:GearSet cx-taxo:Clutch) .\n\n:countingValueShape a sh:PropertyShape ;\n sh:path cx-reliability:countingValue .\n\n:countingUnitShape a sh:PropertyShape ;\n sh:path cx-reliability:countingUnit .\n\n:countingMethodShape a sh:PropertyShape ;\n sh:path cx-reliability:countingMethod .\n\n:countingMethodShape a sh:PropertyShape ;\n sh:path cx-reliability:countingMethod .\n\n:channelsShape a sh:PropertyShape ;\n sh:path cx-reliability:channels .\n\n:classesShape a sh:PropertyShape ;\n sh:path cx-reliability:classes .\n\n:valuesShape a sh:PropertyShape ;\n sh:path cx-reliability:values .", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": { + }, + "dataAddress": { + "id": "GraphAsset?me=BehaviourTwinReliability", + "@type": "DataAddress", + "baseUrl": "https://my-provider.agent.domain/telematics/sparql", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "edcs?://.*" + } +} +``` + +The property `sh:shapesGraph` contains the graph shape of the offered data, written in [Shapes Constraint Language (SHACL) ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/shacl/). It describes the shape of a load spectrum: + +```shacl +,,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +:LoadSpectrumShape a sh:NodeShape ; + sh:targetClass cx-reliability:LoadSpectrum ; + sh:property :observationOfShape, + :countingValueShape, + :countingUnitShape, + :countingMethodShape, + :channelsShape, + :classesShape, + :valuesShape . + +:observationOfShape a sh:PropertyShape ; + sh:path cx-reliability:observationOf ; + sh:in (cx-taxo:GearOil cx-taxo:GearSet cx-taxo:Clutch) . + +:countingValueShape a sh:PropertyShape ; + sh:path cx-reliability:countingValue . + +:countingUnitShape a sh:PropertyShape ; + sh:path cx-reliability:countingUnit . + +:countingMethodShape a sh:PropertyShape ; + sh:path cx-reliability:countingMethod . + +:countingMethodShape a sh:PropertyShape ; + sh:path cx-reliability:countingMethod . + +:channelsShape a sh:PropertyShape ; + sh:path cx-reliability:channels . + +:classesShape a sh:PropertyShape ; + sh:path cx-reliability:classes . + +:valuesShape a sh:PropertyShape ; + sh:path cx-reliability:values . +``` + +In this description, the load spectrum type can be either `cx-taxo:GearOil`, `cx-taxo:GearSet` or `cx-taxo:Clutch`. All types are provided through this asset in one step. + +#### POLICY AND CONTRACT FOR THE GRAPH ASSET + +All assets, including graph assets, must have a related policy and contract definition. These are described in the section [Contracts And Policies](./contracts-and-policies). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/guidance-and-resources.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/guidance-and-resources.md new file mode 100644 index 00000000000..4138e9e1470 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/guidance-and-resources.md @@ -0,0 +1,39 @@ +--- +id: guidance-and-resources +title: Guidance And Resources +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## KNOWLEDGE AGENT + +The Behaviour Twin KIT builds up on top of the [Agents KIT](../../knowledge-agents/adoption-view/intro). Therefore, at least a basic understanding of the following semantic web technologies is mandatory: + +- SPARQL 1.1 Query Language, see [SPARQL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/sparql11-query/) +- Resource Description Framework (RDF), see [RDF on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/RDF/) +- RDF 1.1 Turtle, see [Turtle on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/turtle/) +- Web Ontology Language (OWL), see [OWL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/OWL/) +- Shapes Constraint Language (SHACL), see [SHACL on w3.org ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/shacl/) + +Catena-X-Standards regarding Knowledge Agents are: + +- CX-0084 Federated Queries in Dataspaces (V1.2.0) +- CX-0067 Ontology Models to Realize Federated Queries in Catena-X (V1.1.0) + +These standards can be found in the [Catena-X standard library ![(external link)](../assets/external-link.svg)](https://catena-x.net/de/standard-library/). + +## FURTHER GUIDANCE + +A great resource for support might be the [Tractus-X Community](/community/intro). + +For further guidance, refer to the [Catena-X Association ![(external link)](../assets/external-link.svg)](https://catena-x.net/). Topics like Knowledge Agent and ontologies (also ontology extensions) are managed by the Technical Committee for Modelling (see [Organization of Catena-X Automotive Network e.V. ![(external link)](../assets/external-link.svg)](https://catena-x.net/en/about-us/the-association/organization-of-the-association)). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/overview.md new file mode 100644 index 00000000000..9ab3674054f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/overview.md @@ -0,0 +1,63 @@ +--- +id: overview +title: Development View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +## CONTENTS + +- [Contracts and Policies](./contracts-and-policies) (applies to roles *skill provider*, *data provider*, *calculation service provider* and *delegator*) + - policies for graph assets + - contracts for graph assets + - policies for skill assets + - contracts for skill assets + +
                                    + +- [Data Bindings](./data-bindings) (applies to roles *data provider* and *delegator*) + - configuring data bindings + - registering graph asset for data bindings + +
                                    + +- [Service Bindings](./service-bindings) (applies to role *calculation service provider*) + - configuring a service binding + - registering a graph asset for a service binding + +
                                    + +- [Skill](./skill) (applies to roles *skill provider* and *consumer*) + - developing skills + - registering skill assets + - invoke skills + +
                                    + +- [Guidance And Resources](./guidance-and-resources) + - knowledge agent (used technologies and standards) + - further guidance + +
                                    + +## NOTICE + +This work is licensed under the [CC-BY-4.0 ![(external link)](../assets/external-link.svg)](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +- SPDX-FileCopyrightText: 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2021-2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2021-2024 Mercedes-Benz AG +- SPDX-FileCopyrightText: 2022-2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2022-2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/service-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/service-bindings.md new file mode 100644 index 00000000000..bc1bab33a0d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/service-bindings.md @@ -0,0 +1,289 @@ +--- +id: service-bindings +title: Service Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +Applies to role: *calculation service provider* + +### OVERVIEW + +In many cases, services are provided via REST APIs and are using JSON as input and output format (like in this example for the RuL use case). To include those services into the knowledge graph, you have to bind/map them. + +### SERVICE MAPPING TOOL + +To bind a service to the knowledge graph, you must use a **remoting agent**, also called the **service binding agent**. The [Agents KIT](../../knowledge-agents/operation-view/provider) therefore provides a software based on [RDF4J ![(external link)](../assets/external-link.svg)](https://rdf4j.org/). + +### SERVICE MAPPING CONFIGURATION + +To configure the service mapping, a configuration must be provided that formally describes the mapping. The configuration is written in the [Terse RDF Triple Language ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/turtle/), also known as *Turtle*. For some detailed information, have a look at the [Agents KIT's Operation View](../../knowledge-agents/operation-view/provider). + +In this example, an asynchronous calculation service for gearbox RuL values is bound. It uses the Catena-X notification format as a container for the input data. The content of the notification is a JSON structure with a list of load spectra in it. The input format provides more than one Element (batch processing), but the RuL logic always requires exact one input set per calculation. Therefore, always the first (and only the first) item of the input list is bound. The service binding is defined as follows. + +#### THE OBLIGATORY LICENSE HEADER + +```ttl +################################################################ +# Copyright (c) 2022-2024 T-Systems International GmbH +# Copyright (c) 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022-2024 ZF Friedrichshafen AG +# Copyright (c) 2023-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +# Copyright (c) 2022-2024 Mercedes-Benz AG +# Copyright (c) 2022-2024 Contributors to the Catena-X Association +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################ +``` + +#### PREFIXES THAT ARE USED IN THIS EXAMPLE + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix rep: . +@prefix sr: . +@prefix sail: . +@prefix sp: . +@prefix xsd: . +@prefix json: . +@prefix dcterms: . +@prefix cx-fx: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-reliability: . +@prefix cx-behaviour: . +``` + +#### RDF4J REPOSITORY + +The RDF4J repository is the basic configuration that refers to the service object and defines the callback endpoint for an asynchronous response of this service. + +```ttl +[] rdf:type rep:Repository ; + rep:repositoryID "rul" ; + rdfs:label "Remainig Useful Life Functions Repository" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife ; + cx-fx:callbackAddress ; + ] + ] . +``` + +The function type that will be invoked by this binding is defined by the property `cx-fx:supportsInvocation`. In this example, the bound function is of type `cx-behaviour:RemainingUsefulLife`. + +#### FUNCTION DECLARATION + +Definition of the function type `cx-behaviour:RemainingUsefulLife` of type `cx-fx:Function`. It defines the endpoint and describes the input and output elements. + +```ttl +cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function ; + dcterms:description "Remaining useful Life is an asynchronous batch invocation."@en ; + dcterms:title "Remaining useful Life" ; + cx-fx:targetUri "http://service-backend:5005/api/rul2" ; + cx-fx:invocationMethod "POST-JSON" ; +# cx-common:authenticationKey "Authorization" ; +# cx-common:authenticationCode "Basic TOKEN" ; + cx-fx:invocationMethod "POST-JSON" ; + cx-fx:invocationIdProperty "header.notificationID,content.requestRefId" ; + cx-fx:callbackProperty "header.respondAssetId" ; + cx-fx:input cx-behaviour:notification ; + cx-fx:input cx-behaviour:sender ; + cx-fx:input cx-behaviour:senderConnector ; + + ... + + cx-fx:input cx-behaviour:headerChannels ; + cx-fx:input cx-behaviour:bodyClasses ; + cx-fx:input cx-behaviour:bodyCountsList ; + cx-fx:result cx-behaviour:RemainingUsefulLifeResult . +``` + +#### FUNCTION ARGUMENTS + +The input data that are received from the knowledge graph are converted to the desired JSON format that is requested by the service. Therefore, each value (input parameter) that is represented in the knowledge graph as a separate object must be described with its corresponding JSON path. The argument name represents this JSON path. Default values can be specified in case some values are not present in the knowledge graph. + +```ttl +cx-behaviour:notification rdf:type cx-fx:Argument ; + dcterms:description "A default notification output template."@en ; + dcterms:title "Notification Template" ; + cx-fx:argumentName "." ; + cx-fx:dataType json:Object ; + cx-fx:priority "-1"^^xsd:integer ; + cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": []}}"^^json:Object . + +cx-behaviour:sender rdf:type cx-fx:Argument ; + dcterms:description "Sender of the notification as a BPN."@en ; + dcterms:title "Notification Sender" ; + cx-fx:argumentName "header.senderBPN" ; + cx-fx:default "anonymous" . + +... + +``` + +#### FUNCTION RESULT + +The result of the service is also a JSON string. It consists of output values, which are specified each separate. + +```ttl +cx-behaviour:RemainingUsefulLifeResult rdf:type cx-fx:Result ; + dcterms:description "The asynchronous notification response."@en ; + dcterms:title "Asynchronous notification response." ; + cx-fx:callbackProperty "header.referencedNotificationID" ; + cx-fx:outputProperty "content.endurancePredictorOutputs" ; + cx-fx:output cx-behaviour:remainingOperatingHours ; + cx-fx:output cx-behaviour:remainingRunningDistance . + +cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue ; + dcterms:description "Predicted Operating Hours of Remaining useful Life Response"@en ; + dcterms:title "Remaining useful Life Operating Hours" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours" ; + cx-fx:dataType xsd:float. + +cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue ; + dcterms:description "Predicted Distance of Remaining useful Life Response"@en ; + dcterms:title "Remaining useful Life Distance" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingRunningDistance" ; + cx-fx:dataType xsd:int . +``` + +### GRAPH ASSET FOR THE SERVICE BINDINGS + +To enable the knowledge agent's matchmaking agent to utilize the service binding, a graph asset has to be registered at the calculation service provider's EDC connector. This asset must have a property `rdfs:isDefinedBy` for ontology references and a property `sh:shapesGraph` that defines the shape of the provided graph. + +#### GRAPH ASSET DEFINITION + +The following example is a full asset description, that can be registered at the EDC connector. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dc": "https://purl.org/dc/terms/" + }, + "@id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "properties": { + "cx-common:name": "Lifetime Prognosis Service for Gearboxes", + "cx-common:description": "A sample graph asset/offering referring to a specific prognosis resource.", + "cx-common:description@de": "Ein Beispielasset für eine Prognosefunktion.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?supplier=Graph", + "dc:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n# Prognosis Function\n:PrognosisFunctionShape rdf:type sh:NodeShape ;\n sh:targetClass cx-behaviour:PrognosisFunction ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingMethod ;\n sh:path cx-behaviour:countingMethod ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingValu ;\n sh:path cx-behaviour:countingValue ;\n ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingUnit ;\n sh:path cx-behaviour:countingUni ;\n ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:channels ;\n sh:path cx-behaviour:headerChannel ;\n ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:classes ;\n sh:path cx-behaviour:bodyClasse ;\n ] .\n\n:RemainingUsefulLifeShape rdf:type sh:NodeShape ;\n cx-sh:extensionOf :PrognosisFunctionShape ;\n sh:targetClass cx-behaviour:RemainingUsefulLife ;\n sh:property[\n cx-sh:hasAsArgument cx-reliability:observationO ;\n sh:path cx-behaviour:observationType ;\n sh:in ( cx-taxo:GearSet cx-taxo:GearOil ;\n ;\n sh:property :RemainingUsefulLifeResultShape .\n\n:RemainingUsefulLifeResult rdf:type sh:PropertyShape ;\n cx-sh:outputOf :RemainingUsefulLifeShape ;\n sh:path cx-behaviour:RemainingUsefulLifeResult .\n", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "dataAddress": { + "id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "@type": "DataAddress", + "baseUrl": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul" + } +``` + +The property `sh:shapesGraph` contains the graph shape of the offered data, written in [Shapes Constraint Language (SHACL) ![(external link)](../assets/external-link.svg)](https://www.w3.org/TR/shacl/). It describes the shape of a Remaining useful Life function and its output: + +```shacl +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +# Prognosis Function +:PrognosisFunctionShape rdf:type sh:NodeShape ; + sh:targetClass cx-behaviour:PrognosisFunction ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingMethod ; + sh:path cx-behaviour:countingMethod ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingValue ; + sh:path cx-behaviour:countingValue ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingUnit ; + sh:path cx-behaviour:countingUnit ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:channels ; + sh:path cx-behaviour:headerChannels ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:classes ; + sh:path cx-behaviour:bodyClasses ; + ] . + +:RemainingUsefulLifeShape rdf:type sh:NodeShape ; + cx-sh:extensionOf :PrognosisFunctionShape ; + sh:targetClass cx-behaviour:RemainingUsefulLife ; + sh:property[ + cx-sh:hasAsArgument cx-reliability:observationOf ; + sh:path cx-behaviour:observationType ; + sh:in ( cx-taxo:GearSet cx-taxo:GearOil ) ; + ] ; + sh:property :RemainingUsefulLifeResultShape . + +:RemainingUsefulLifeResult rdf:type sh:PropertyShape ; + cx-sh:outputOf :RemainingUsefulLifeShape ; + sh:path cx-behaviour:RemainingUsefulLifeResult . +``` + +This shape describes, what arguments must be provided to the calculation service and which output data are generated by the calculation service. + +#### POLICY AND CONTRACT FOR THE GRAPH ASSET + +All assets, including graph assets, must have a related policy and contract definition. These are described in the section [Contracts And Policies](./contracts-and-policies). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/skill.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/skill.md new file mode 100644 index 00000000000..61c81c6d6ef --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/development-view/skill.md @@ -0,0 +1,175 @@ +--- +id: skill +title: Skill +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +Applies to role: *skill provider* and *consumer* + +## OVERVIEW + +Skills, even for the same logic, can be defined in a variety of ways. Depending on the requirements of a use case, some approaches may be beneficial. + +For the [template use cases](../use-cases/overview), there are different approaches shown: + +- The **more straight forward approach** is shown in the [Remaining useful Life use case](../use-cases/rul/development-view/skill). There, **the skill knows the calculation function's type and its parameters**. + +- The **more flexible approach** is shown in the [Health Indicator use case](../use-cases/hi/development-view/skill). There, **the skill resolves the function's input parameters and matches it with data assets**. + +## SKILL REGISTRATION + +It a skill should be provided, it has to be registered over the *Agent Plane API*. The registration is done by posting a parametrized SPARQL query as a string, and set the skill name. + +```curl +curl --location '{{consumerAgentPlane}}/api/agent/skill?asset=SkillAsset?consumer=RemainingUsefulLife&distributionMode=CONSUMER&isFederated=false' \ +--header 'Content-Type: application/sparql-query' \ +--data-raw 'SELECT ?vehicle ?vin ?aggregate ?assembly ?supplier ?distanceKm ?timeHours WHERE { + + VALUES (?vin ?aggregate ?ls_type) { + ("@vin"^^xsd:string "Differential Gear"^^xsd:string "GearOil"^^xsd:string) + } + + bpnl:BPNL000000000OEM cx-common:hasConnector ?oemEDC . + ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?reliabilityAssetId ] . + + SERVICE ?oemEDC { + GRAPH ?reliabilityAssetId { + + ... +' +``` + +## SKILL INVOCATION + +A registered skill is available over the *Agent Plane API* by the skill asset name (e.g. `RemainingUsefulLife`) and can be called also for a list of input variables: + +```curl +curl --location '{{consumerAgentPlane}}/api/agent?asset=SkillAsset?consumer=RemainingUsefulLife' \ +--header 'Content-Type: application/sparql-results+json' \ +--data '{ + "head": { "vars": [ "vin" ] }, + "results": { "bindings": [ + { "vin": { "type": "literal", "value": "FNLQNRVCOFLHAQ" } }, + { "vin": { "type": "literal", "value": "FGPTXINYZAVJYK" } } + ] + } +}' +``` + +The results for the given VINs of the above example are provided as bindings for the requested variables in the skill itself and look like: + +```json +{ + "head": { + "vars": [ + "vehicle", + "vin", + "aggregate", + "assembly", + "supplier", + "distanceKm", + "timeHours" + ] + }, + "results": { + "bindings": [ + { + "vehicle": { + "type": "uri", + "value": "urn:uuid:8d6e2e3f-6798-4e1d-8eae-eb4318a7d487" + }, + "vin": { + "type": "literal", + "value": "RGZCDKEJHDSNCB" + }, + "aggregate": { + "type": "literal", + "value": "Differential Gear" + }, + "assembly": { + "type": "uri", + "value": "urn:uuid:b6309b8a-20c0-4e7d-b782-a7c303bb7da4" + }, + "supplier": { + "type": "uri", + "value": "bpn:legal:BPNL00000003B2OM" + }, + "distanceKm": { + "type": "literal", + "datatype": "http://www.w3.org/2001/XMLSchema#int", + "value": "159633" + }, + "timeHours": { + "type": "literal", + "datatype": "http://www.w3.org/2001/XMLSchema#float", + "value": "3127.4" + } + }, + { + "vehicle": { + "type": "uri", + "value": "urn:uuid:79d19614-b699-4716-b232-ef250e1c1772" + }, + "vin": { + "type": "literal", + "value": "FNLQNRVCOFLHAQ" + }, + "aggregate": { + "type": "literal", + "value": "Differential Gear" + }, + "assembly": { + "type": "uri", + "value": "urn:uuid:4773625a-5e56-4879-abed-475be29bd664" + }, + "supplier": { + "type": "uri", + "value": "bpn:legal:BPNL00000003B2OM" + }, + "distanceKm": { + "type": "literal", + "datatype": "http://www.w3.org/2001/XMLSchema#int", + "value": "180627" + }, + "timeHours": { + "type": "literal", + "datatype": "http://www.w3.org/2001/XMLSchema#float", + "value": "2058.1" + } + } + ] + } +} +``` + +If all the given VINs are not found on OEM side, a empty binding is returned: + +```json +{ + "head": { + "vars": [ + "vehicle", + "vin", + "aggregate", + "assembly", + "supplier", + "distanceKm", + "timeHours" + ] + }, + "results": { + "bindings": [] + } +} +``` diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/overview.md new file mode 100644 index 00000000000..8609cd5bf98 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/overview.md @@ -0,0 +1,37 @@ +--- +id: overview +title: Behaviour Twin KIT +hide_title: true +description: Behaviour Twin KIT +--- + +
                                    BEHAVIOUR TWIN KIT
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon.svg) + +## PURPOSE + +Maximize the potential of usage data. Use the Behaviour Twin KIT (based on [Agents KIT](../knowledge-agents/adoption-view/intro)) to connect heterogeneous and distributed usage data and services seamlessly. + +## DISCLAIMER + +This KIT is a part of the Tractus-X community, the official open-source project within the Catena-X data space. In examples and texts, it uses exclusively Tractus-X components. However, there may also be other compatible implementations. + +## CONTENTS + +- [Change Log](./changelog) +- [Adoption View](adoption-view/overview) - Understand & Decide +- [Development View](development-view/overview) - Develop & Operate +- [Use Cases](use-cases/overview) - Templates for use cases *Health Indicator* and *Remaining useful Life* + +## NOTICE + +This work is licensed under the [CC-BY-4.0 ![(external link)](./assets/external-link.svg)](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +- SPDX-FileCopyrightText: 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2021-2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2021-2024 Mercedes-Benz AG +- SPDX-FileCopyrightText: 2022-2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2022-2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/_category_.json new file mode 100644 index 00000000000..08fb047a9db --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Use-Cases" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/_category_.json new file mode 100644 index 00000000000..7df88e0d362 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Health Indicator" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/_category_.json new file mode 100644 index 00000000000..871e27d3b7c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Adoption View" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/architecture.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/architecture.md new file mode 100644 index 00000000000..f40b1b1b563 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/architecture.md @@ -0,0 +1,84 @@ +--- +id: architecture +title: Architecture +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +## BASIC ARCHITECTURE + +### OVERVIEW + +A data provider (likely an OEM; can, but does not have to, share the data) wants to calculate health indicators of its component (e.g. a vehicle). It may use a Dashboard or some other App to consume the results. Usage data is collected continuously with the consent of the data owners. The usage history and all dependent components that can provide health values are known on the data provider's side. The data provider itself doesn't even have to know which components can provide health services/values. Its registered suppliers provide that information in their catalogs which are synchronized periodically. The data provider only must bind the usage data to the knowledge graph. + +This approach is not limited only to OEMs and vehicles. Any system that provides usage data can utilize this approach, like tools/machines, production lines, building facilities, vending machines, computers, roads and so on. + +It is also possible that a third party is consuming the HI values. In this case, it must have access to the data provider's and the calculation provider's graph assets. The skill itself would be the same. + +### ROLES + +Each participant in the Health Indicator (HI) Behaviour Twin use case applies to one or more of the following roles: + +- **HI consumer** (result requester) +- **skill provider** (OEM, provider of the use case logic) +- **data provider** (OEM, provider of usage data) +- **HI service provider** (a component supplier, e.g. for gearboxes) + +One common case is that the data provider is also the HI consumer and skill provider. Calculation services may also be located at the data provider. + +## DETAILED ARCHITECTURE + +### BUSINESS PROCESS + +*For better readability, it is assumed on this page that the **data provider** is always an **OEM**/vehicle manufacturer.* + +The skill is initially executed at the OEM. There it may be registered as an asset or used ad hoc. If the consumer is also the skill provider, it is his free choice which way to go. In the following description, the skill is registered. + +![business-process](assets/business-process.drawio.svg) + +0. **Register skill asset (0.1) and sync federated catalog (0.2):**
                                    The skill is registered as an asset at the OEM's EDC connector. The federated catalogs are synchronized periodically. As a result, the OEM can resolve HI calculation function assets that are located at the supplier. + +1. **Invoke HI skill:**
                                    The consumer invokes the skill by calling the agents API at its own EDC connector (ad hoc or as predefined asset). There are three parameters that must be set: + - **vehicle ID** (VIN) + - **component type** (type of component for which the HI values should be calculated) + - **result type** (for HI, the result type may always be `HealthIndicationResult`. Note: The exact same skill could be used to calculate Remaining useful Life values by using result type `RemainingUsefulLifeResult`.) + +2. **Resolve HI calculation function assets by result type HealthIndicatorResut:**
                                    The Knowledge Agent resolves all calculation functions by the given result type `HealthIndicationResult`. These can be located at different suppliers and is independent of the vehicle ID and the component of interest. + +3. **Resolve load data assets of required type for arguments of resolved HI calculation functions:**
                                    The Knowledge Agent resolves all usage data assets (for load data), that are required as arguments by the resolved calculation functions, by load data type. + +4. **Resolve vehicle part of interest, supplier and actual HI calculation function for this part:**
                                    At the data provider, the Knowledge Agent resolves the vehicle, its component of interest, the related supplier and the actual usage data. + +5. **Fetch load data:**
                                    The actual usage data (parameters for the HI calculation functions) are fetched from the data provider's bound data source. They are translated into graph representation by a provisioning agent (data binding agent). + +6. **Transfer load data and deploy sub-skill:**
                                    The fetched data and a sub-skill (logic for calling the HI calculation service) are transferred to the HI calculation service provider's Knowledge Agent via EDC connectors. + +7. **Call service and fetch HI result:**
                                    The HI calculation service (calculation function) is called. The data (parameters) are translated into the format the service requires. This is automatically done by an remoting agent (service binding agent), which is statically configured by service bindings. The result of the service then is translated back into graph representation by the remoting agent. + +8. **Return HI result:**
                                    The result is transferred to the OEM via EDC connectors. + +To have a common understanding of how to interpret and translate elements in the graph, common ontologies and taxonomies must be used. These are also needed for the interpretation of skills and sub-skills as there is e.g. inheritance in ontologies which must be known by the Knowledge Agent to resolve relations. + +### BUILDING BLOCK COMPONENTS + +#### USE-CASE-SPECIFIC COMPONENTS + +|Subsystem|Description| +|---------|-----------| +|HI Dashboard|This component is the app that is hosted at the *consumer* and provides the end user interface.| +|Usage Data|A data source at the *data provider* that provides usage data that are required for HI calculation services.
                                    It can be accessed by the Knowledge Agent via data bindings.| +|HI Service|A calculation service at the *Supplier*. It accepts a load spectrum as parameter, calculates the health indicator result values and returns them.| + +#### KNOWLEDGE AGENT COMPONENTS AND CATENA-X CORE SERVICES + +For non-use-case-specific components, refer to the [general Architecture section](../../../adoption-view/architecture#building-block-components) in the general adoption view. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/assets/business-process.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/assets/business-process.drawio.svg new file mode 100644 index 00000000000..edc6ac9ec1c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/assets/business-process.drawio.svg @@ -0,0 +1,685 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + +
                                    +
                                    +
                                    + + OEM = HI Consumer + +
                                    +
                                    +
                                    +
                                    + + OEM = HI Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Supplier + +
                                    +
                                    +
                                    +
                                    + + Supplier + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + Shared Ontologies +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Shared Ontologies + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + 0.2 sync federated catalog +
                                    +
                                    +
                                    +
                                    + + 0.2 sync federated catalog + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Load-Data-Binding + +
                                    +
                                    +
                                    +
                                    + + Load-Data-Bind... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + HI-Service-Binding + +
                                    +
                                    +
                                    +
                                    + + HI-Service-Bin... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Load Data + +
                                    +
                                    +
                                    +
                                    + + Load Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + HI +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + HI... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 5. fetch load data + +
                                    +
                                    +
                                    +
                                    + + 5. fetch load data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + HI- +
                                    + Skill +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + HI-... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 2. resolve HI calculation function assets +
                                    + by result type HealthIndicatorResut +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 2. resolve HI calculation function assets... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 3. resolve load data assets of required type +
                                    + for arguments of resolved HI calculation +
                                    + functions +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 3. resolve load data assets of required type... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + 7. calls service +
                                    + and fetch HI result +
                                    +
                                    +
                                    +
                                    +
                                    + + 7. calls service... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 8. return HI result + +
                                    +
                                    +
                                    +
                                    + + 8. return HI result + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 6. transfer load data and deploy sub-skill +
                                    +
                                    +
                                    +
                                    + + 6. transfer load data and deploy sub-skill + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + HI Dashboard + +
                                    +
                                    +
                                    +
                                    + + HI Dashboard + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 1. invoke HI +
                                    + skill asset +
                                    +
                                    +
                                    +
                                    +
                                    + + 1. invoke HI... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + start + +
                                    +
                                    +
                                    +
                                    + + start + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Provisioning Agent + +
                                    +
                                    +
                                    +
                                    + + Provisioning... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 8. get +
                                    + HI result +
                                    +
                                    +
                                    +
                                    +
                                    + + 8. get... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + 0.1 register +
                                    + skill asset +
                                    +
                                    +
                                    +
                                    +
                                    + + 0.1 register... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 4. + + resolve vehicle part of interest, supplier +
                                    + + and actual HI calculation function +
                                    + for this part +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 4. resolve vehicle part of interest, supplier... + +
                                    +
                                    + + + +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/introduction.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/introduction.md new file mode 100644 index 00000000000..5d0d9b07b21 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/introduction.md @@ -0,0 +1,46 @@ +--- +id: introduction +title: Introduction +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +## VISION & MISSION + +### VISION + +Health monitoring of products and components is highly attractive. It offers significant added value for OEMs and suppliers and is already often part of the product range or product inquiry. + +The *Behaviour Twin KIT* efficiently supports the planning, design, construction, use and operation of product-related services for health monitoring as part of quality management. + +Based on the calculation of health indicators, the performance and condition of products and components in the field can be continuously monitored, recorded and transmitted along the supply chain. During the usage phase, abnormalities, possible defects or failures are reliably and identified early on, so that measures can be taken in good time. + +### MISSION + +This use-case-specific part of the *Behaviour Twin KIT* aims further to facilitate the development of scalable and interoperable solutions for *health monitoring* of products by connecting the data providers, typically OEMs, and service providers, typically supplier within the supply chain in a generic way. It guides business and software developers by explaining key concepts and by directing them to relevant technical resources and code examples. + +## STATUS QUO & CHALLENGES + +see [*Status quo & challenges in general section of the KIT*](../../../adoption-view/introduction#status-quo--challenge) + +## USE CASES + +**OEM, TIER-X**: During the usage phase, health indicators provide a continuous and comprehensive view of the condition of products in the field. Abnormalities, possible defects or failures can be detected reliably and early on. This provides the time advantage to initiate countermeasures in good time. During development phase, health indicators can be used to bring more mature products into series production. + +**Tier-X**: The overall product range becomes more attractive in the offer phase, when the definition of health indicators as a product-related service is included. + +**Workshops**: In case of failure analysis and repair, workshops benefit from an extended range of data on vehicle condition and its components. In return, service providers can standardize and facilitate access to the OEM. + +## BENEFITS + +Taking this use-case-specific template for the development of similar or new use cases is an ideal starting point to enable the [*benefits described in the general part of the KIT*](../../../adoption-view/introduction#benefits). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/overview.md new file mode 100644 index 00000000000..3c4c29ec2bc --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/overview.md @@ -0,0 +1,22 @@ +--- +id: overview +title: Adoption View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +## CONTENTS + +- [Introduction](./introduction) +- [Architecture](./architecture) +- [Terminology](./terminology) diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/terminology.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/terminology.md new file mode 100644 index 00000000000..2033992f27d --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/adoption-view/terminology.md @@ -0,0 +1,28 @@ +--- +id: terminology +title: Terminology +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +## NON-USE-CASE-SPECIFIC + +For terminology that is not related to the Health Indicator use case, see the general [Terminology](../../../adoption-view/terminology) section. + +## USE-CASE-SPECIFIC + +|Term|Description|Comment| +|---|---|---| +|HI|Health Indicator|| +|health monitoring|continuously observing the condition or state of a technical component via health indicator values|try to detect and diagnose potential issues or degradation| +|health indicator value|interpretable state or condition of a technical component|typically calculated on basis of component usage data| diff --git a/docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/_category_.json similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/Traceability Kit/Software Development View/_category_.json rename to docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/_category_.json diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/data-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/data-bindings.md new file mode 100644 index 00000000000..505ccea84fb --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/data-bindings.md @@ -0,0 +1,24 @@ +--- +id: data-bindings +title: Data Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +Applies to role: *HI data provider* + +## DATA BINDING FOR RELATIONAL DATA + +The usage data for different use cases like *Health Indicator*, [*Remaining useful Life*](../../rul/overview) and others utlilize the same data sources and data types (load spectra). The load spectrum types may vary, but all the different types consists of the same structure and data types. Because of that, they all can be provided by the same data (graph) asset. The provisioning is described in the [general Data Bindings section](../../../development-view/data-bindings). + +More details about how to bind and provide data can be found at the [Agents KIT's Operation View](../../knowledge-agents/operation-view/provider). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/overview.md new file mode 100644 index 00000000000..4c743dcd538 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/overview.md @@ -0,0 +1,37 @@ +--- +id: overview +title: Development View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +## DISCLAIMER + +## CONTENTS + +- [Data Bindings](./data-bindings) (applies to role *HI data provider*) + - configuring data bindings + - registering graph asset for data bindings + +
                                    + +- [Service Bindings](./service-bindings) (applies to role *HI calculation service provider*) + - configuring a service binding + - registering a graph asset for a service binding + +
                                    + +- [Skill](./skill) (applies to roles *HI skill provider* and *HI consumer*) + - developing skills + - registering skill assets + - invoke skills diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/service-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/service-bindings.md new file mode 100644 index 00000000000..eeed7a0f1e5 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/service-bindings.md @@ -0,0 +1,401 @@ +--- +id: service-bindings +title: Service Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +Applies to role: *HI calculation service provider* + +### OVERVIEW + +For general information about service bindings, have a look at the [generalized Service Bindings section](../../../development-view/service-bindings) and the [Agents KIT's Operation View](../../../../knowledge-agents/operation-view/provider). In the current section, only a dedicated example is shown. + +### SERVICE MAPPING CONFIGURATION (FULL EXAMPLE) + +The following configuration for the mapping of a Health Indicator (HI) calculation service is written in the [Terse RDF Triple Language ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/turtle/), also known as *Turtle*. + +In this example, an asynchronous calculation service for gearbox HI values is bound. It uses the Catena-X notification format as a container for the input data. The content of the notification is a JSON structure with a list of load spectra in it. The input format provides more than one Element (batch processing), but the HI logic always requires exact one input per calculation. Therefore, always the first (and only the first) item of the input list is bound. + +```ttl +################################################################ +# Copyright (c) 2022-2024 T-Systems International GmbH +# Copyright (c) 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022-2024 ZF Friedrichshafen AG +# Copyright (c) 2023-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +# Copyright (c) 2022-2024 Mercedes-Benz AG +# Copyright (c) 2022-2024 Contributors to the Catena-X Association +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################ +# +# Rdf4j configuration for a HI-specific remoting +# +@prefix rdf: . +@prefix rdfs: . +@prefix rep: . +@prefix sr: . +@prefix sail: . +@prefix sp: . +@prefix xsd: . +@prefix json: . +@prefix dcterms: . +@prefix cx-fx: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-reliability: . +@prefix cx-behaviour: . + +[] rdf:type rep:Repository ; + rep:repositoryID "hi" ; + rdfs:label "Health Indicator Functions Repository" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:supportsInvocation cx-behaviour:HealthIndicator ; + cx-fx:callbackAddress ; + ] + ] . + +cx-behaviour:HealthIndicator rdf:type cx-fx:Function ; + dcterms:description "Health Indicator is an asynchronous batch invocation."@en ; + dcterms:title "Health Indicator" ; + cx-fx:targetUri "http://service-backend:5005/api/hi" ; + cx-fx:invocationMethod "POST-JSON" ; +# cx-common:authenticationKey "Authorization" ; +# cx-common:authenticationCode "Basic TOKEN" ; + cx-fx:invocationMethod "POST-JSON" ; + cx-fx:invocationIdProperty "header.notificationID,content.requestRefId" ; + cx-fx:callbackProperty "header.respondAssetId" ; + cx-fx:input cx-behaviour:notification ; + cx-fx:input cx-behaviour:sender ; + cx-fx:input cx-behaviour:senderConnector ; + cx-fx:input cx-behaviour:recipient ; + cx-fx:input cx-behaviour:recipientConnector ; + cx-fx:input cx-behaviour:recipient ; + cx-fx:input cx-behaviour:recipientConnector ; + cx-fx:input cx-behaviour:severity ; + cx-fx:input cx-behaviour:status ; + cx-fx:input cx-behaviour:targetDate ; + cx-fx:input cx-behaviour:timeStamp ; + cx-fx:input cx-behaviour:classification ; + cx-fx:input cx-behaviour:component ; + cx-fx:input cx-behaviour:observationType ; + cx-fx:input cx-behaviour:metadata ; + cx-fx:input cx-behaviour:statusDate ; + cx-fx:input cx-behaviour:statusOperatingHours ; + cx-fx:input cx-behaviour:statusMileage ; + cx-fx:input cx-behaviour:countingMethod ; + cx-fx:input cx-behaviour:countingValue ; + cx-fx:input cx-behaviour:countingUnit ; + cx-fx:input cx-behaviour:headerChannels ; + cx-fx:input cx-behaviour:bodyClasses ; + cx-fx:input cx-behaviour:bodyCountsList ; + cx-fx:result cx-behaviour:HealthIndicatorResult . + +cx-behaviour:notification rdf:type cx-fx:Argument ; + dcterms:description "A default notification output template."@en ; + dcterms:title "Notification Template" ; + cx-fx:argumentName "." ; + cx-fx:dataType json:Object ; + cx-fx:priority "-1"^^xsd:integer ; + cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": []}}"^^json:Object . + +cx-behaviour:sender rdf:type cx-fx:Argument ; + dcterms:description "Sender of the notification as a BPN."@en ; + dcterms:title "Notification Sender" ; + cx-fx:argumentName "header.senderBPN" ; + cx-fx:default "anonymous" . + +cx-behaviour:senderConnector rdf:type cx-fx:Argument ; + dcterms:description "Sender Address of the notification as a URL."@en ; + dcterms:title "Notification Sender Address" ; + cx-fx:argumentName "header.senderAddress" ; + cx-fx:default "unknown" . + +cx-behaviour:recipient rdf:type cx-fx:Argument ; + dcterms:description "Recipient of the notification as a BPN."@en ; + dcterms:title "Notification Recipient" ; + cx-fx:argumentName "header.recipientBPN" ; + cx-fx:default "anonymous" . + +cx-behaviour:recipientConnector rdf:type cx-fx:Argument ; + dcterms:description "Recipient Address of the notification as a URL."@en ; + dcterms:title "Notification Recipient Address" ; + cx-fx:argumentName "header.recipientAddress" ; + cx-fx:default "unknown" . + +cx-behaviour:severity rdf:type cx-fx:Argument ; + dcterms:description "Severity of the notification."@en ; + dcterms:title "Notification Severity" ; + cx-fx:argumentName "header.severity" ; + cx-fx:dataType xsd:string ; + cx-fx:default "MINOR" . + +cx-behaviour:status rdf:type cx-fx:Argument ; + dcterms:description "Status of the notification."@en ; + dcterms:title "Notification Status" ; + cx-fx:argumentName "header.status" ; + cx-fx:dataType xsd:string ; + cx-fx:default "SENT" . + +cx-behaviour:targetDate rdf:type cx-fx:Argument ; + dcterms:description "Target Date of the notification."@en ; + dcterms:title "Notification Target Date" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "header.targetDate" . + +cx-behaviour:timeStamp rdf:type cx-fx:Argument ; + dcterms:description "Timestamp of the notification."@en ; + dcterms:title "Notification Timestamp" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "header.timeStamp" . + +cx-behaviour:classification rdf:type cx-fx:Argument ; + dcterms:description "Classification of the notification."@en ; + dcterms:title "Notification Classification" ; + cx-fx:argumentName "header.classification" ; + cx-fx:dataType xsd:string ; + cx-fx:default "HealthIndicatorService" . + +cx-behaviour:component rdf:type cx-fx:Argument ; + dcterms:description "Component of the Predicition."@en ; + dcterms:title "Predicted Component" ; + cx-fx:formsBatchGroup "true"^^xsd:boolean ; + cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId" . + +cx-behaviour:observationType rdf:type cx-fx:Argument ; + dcterms:description "The type of observation made."@en ; + dcterms:title "Observation Type" ; + cx-fx:strip ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription" ; + cx-fx:dataType xsd:string . + +cx-behaviour:metadata rdf:type cx-fx:Argument ; + dcterms:description "Metadata of the Loadspectrum."@en ; + dcterms:title "Loadspectrum Metadata" ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}" ; + cx-fx:dataType json:Object ; + cx-fx:priority "0"^^xsd:integer ; + cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object . + +cx-behaviour:statusDate rdf:type cx-fx:Argument ; + dcterms:description "Time of Recording."@en ; + dcterms:title "Loadspectrum Recording Time" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date" . + +cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument ; + dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Operating Hours" ; + cx-fx:dataType xsd:float ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours" . + +cx-behaviour:statusMileage rdf:type cx-fx:Argument ; + dcterms:description "Mileage of Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Mileage" ; + cx-fx:dataType xsd:int ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage" . + +cx-behaviour:countingUnit rdf:type cx-fx:Argument ; + dcterms:description "Counting Unit of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Unit" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit" . + +cx-behaviour:countingValue rdf:type cx-fx:Argument ; + dcterms:description "Counting Value Name of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Value" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName" . + +cx-behaviour:countingMethod rdf:type cx-fx:Argument ; + dcterms:description "Counting Method of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Method" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod" . + +cx-behaviour:headerChannels rdf:type cx-fx:Argument ; + dcterms:description "Channels of Load Spectrum."@en ; + dcterms:title "Loadspectrum Channels" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels" . + +cx-behaviour:bodyClasses rdf:type cx-fx:Argument ; + dcterms:description "Classes of Load Spectrum."@en ; + dcterms:title "Loadspectrum Classes" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes" . + +cx-behaviour:bodyCountsList rdf:type cx-fx:Argument ; + dcterms:description "Counts List of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counts List" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList" . + +cx-behaviour:HealthIndicatorResult rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf cx-fx:returnValue ; + rdfs:comment "Health Indicator Values are percentages."@en ; + rdfs:label "Health Indicator Values"@en ; + cx-fx:dataType json:Object ; + cx-fx:valuePath "HealthIndicatorResult" ; + rdfs:domain cx-behaviour:HealthIndicatorResult ; + rdfs:range json:Object . + +cx-behaviour:indicatorVersion rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf cx-fx:returnValue ; + rdfs:comment "Version of the health indicator calculation."@en ; + rdfs:label "Health Indicator Calculation Version" ; + cx-fx:dataType xsd:string ; + cx-fx:valuePath "version" ; + rdfs:domain cx-behaviour:HealthIndicatorResult ; + rdfs:range xsd:string . + +cx-behaviour:responseComponentId rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf cx-fx:returnValue ; + rdfs:comment "Component Id of the health indicator calculation."@en ; + rdfs:label "Health Indicator Calculation Component Id"@en ; + cx-fx:dataType xsd:string ; + cx-fx:valuePath "componentId" ; + rdfs:domain cx-behaviour:HealthIndicatorResult ; + rdfs:range xsd:string . +``` + +### GRAPH ASSET FOR THE SERVICE BINDINGS + +To enable the knowledge agent's matchmaking agent to utilize the service binding, a graph asset has to be registered at the calculation service provider's EDC connector. This asset must have a property `rdfs:isDefinedBy` for ontology references and a property `sh:shapesGraph` that defines the shape of the provided graph. + +#### GRAPH ASSET DEFINITION + +The following example is a full asset description, that can be registered at the EDC connector. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dc": "https://purl.org/dc/terms/" + }, + "@id": "cx-taxo:GraphAsset?supplier=HealthIndicatorGearbox", + "properties": { + "cx-common:name": "Health Prognosis Service for Gearboxes", + "cx-common:description": "A second sample graph asset/offering referring to a specific prognosis resource.", + "cx-common:description@de": "Ein weiteres Beispielasset für eine Prognosefunktion.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?supplier=Graph", + "dc:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n# Prognosis Function\n:PrognosisFunctionShape rdf:type sh:NodeShape ;\n sh:targetClass cx-behaviour:PrognosisFunction ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingMethod ;\n sh:path cx-behaviour:countingMethod ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingValue ;\n sh:path cx-behaviour:countingValue ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingUnit ;\n sh:path cx-behaviour:countingUnit ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:channels ;\n sh:path cx-behaviour:headerChannels ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:classes ;\n sh:path cx-behaviour:bodyClasses ;\n ] .\n \n:HealthIndicationShape a sh:NodeShape ;\n cx-sh:extensionOf :PrognosisFunctionShape ;\n sh:targetClass cx-behaviour:HealthIndication ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:observationOf ;\n sh:path cx-behaviour:observationType ;\n sh:in ( cx-taxo:Clutch ) ;\n ] ;\n sh:property :HealthIndicationResultShape .\n \n:HealthIndicationResultShape a sh:PropertyShape ;\n cx-sh:outputOf :HealthIndicationShape ;\n sh:path cx-behaviour:HealthIndicationResult .", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "dataAddress": { + "id": "cx-taxo:GraphAsset?supplier=HealthIndicatorGearbox", + "@type": "DataAddress", + "baseUrl": "https://my-remoting-agent.domain/rdf4j-server/repositories/health", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "https://my-remoting-agent.domain/rdf4j-server/repositories/health" + } +} +``` + +The property `sh:shapesGraph` contains the graph shape of the offered data, written in [Shapes Constraint Language (SHACL) ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/shacl/). It describes the shape of a Health Indicator function and its output: + +```shacl +,,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +# Prognosis Function +:PrognosisFunctionShape rdf:type sh:NodeShape ; + sh:targetClass cx-behaviour:PrognosisFunction ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingMethod ; + sh:path cx-behaviour:countingMethod ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingValue ; + sh:path cx-behaviour:countingValue ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingUnit ; + sh:path cx-behaviour:countingUnit ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:channels ; + sh:path cx-behaviour:headerChannels ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:classes ; + sh:path cx-behaviour:bodyClasses ; + ] . + +:HealthIndicationShape a sh:NodeShape ; + cx-sh:extensionOf :PrognosisFunctionShape ; + sh:targetClass cx-behaviour:HealthIndication ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:observationOf ; + sh:path cx-behaviour:observationType ; + sh:in ( cx-taxo:Clutch ) ; + ] ; + sh:property :HealthIndicationResultShape . + +:HealthIndicationResultShape a sh:PropertyShape ; + cx-sh:outputOf :HealthIndicationShape ; + sh:path cx-behaviour:HealthIndicationResult . +``` + +#### POLICY AND CONTRACT FOR THE GRAPH ASSET + +All assets, including graph assets, must have a related policy and contract definition. These are described in the use-case-independent [general Contracts And Policies section](../../../development-view/contracts-and-policies). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/skill.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/skill.md new file mode 100644 index 00000000000..ae43849a952 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/development-view/skill.md @@ -0,0 +1,266 @@ +--- +id: skill +title: Skill +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Health Indicator +
                                    +
                                    + +Applies to role: *HI skill provider* and *HI consumer* + +## SKILL DEFINITION + +The example skill below is inteded to calculate HI values of a vehicle part. It is an advanced skill which resolves the funtion arguments by itself using graph shape descriptions. + +The *consumer* is also the *skill proivder* and, in the special HI case, the *data provider* (the OEM). It requests the calculation by providing the vehicle identification numbers (VINs) of the vehicles. The usage data are representated as load data in form of load spectra at the OEM. The supplier of the part (component of interest) provides the related HI calculation service, which accepts load spectra as input arguments. + +The *skill provider* (in this example also the OEM), has to implement the skill and register it over the *Agent Plane API* or call it ad hoc. + +In the current example, a HI skill for a gearbox is implemented with the [SPARQL 1.1 Query Language ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/sparql11-query/) as a query. The query is a federated query, which means that the query is split into three parts: One general part, one for the *data provider*/OEM and one for the *calculation service provider*/supplier. In the first part, function assets (in the supplier's catalog/OEM's federated catalog) are resolved by the desired result type. Then, OEM-owned reliability assets are resolved by the required function arguments of resolved function assets. In the second part (at the OEM), the vehicle, subsequent the part of interest, the related load data asset and the supplier of the part are resolved. In the third part (at the supplier), the gathered data is fed back into the respective supplier EDC connector/agent to perform a HI calculation. + +For more information regarding skill development, registration and invocation options, see [Agents KIT's Operation View](../../../../knowledge-agents/operation-view/agent_edc). + +### FULL EXAMPLE + +```sparql +PREFIX sh: +PREFIX schema: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: +PREFIX cx-sh: +PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-reliability: +PREFIX cx-schema: +PREFIX cx-vehicle: +PREFIX cx-behaviour: +PREFIX cx-taxo: + +################################################################ +# Sample for a Provider-Deployed Goal-Oriented SPARQL Skill which +# - Depending on the targeted result +# - Finds the right supplier prognosis asset and its preconditions +# - jumps into the OEM-owned reliability asset to obtain the required data +# - feeds the gathered data back into the respective supplier connector/agent +# to perform a behavioral prognosis +# Author: cgjung +# (c) 2023-2024 Catena-X association +################################################################ + +SELECT DISTINCT ?vin ?supplier ?vehicle ?assembly ?operatingTime ?mileage ?prognosis WHERE { + + VALUES (?vin ?aggregate ?result_type) { + ("@vin"^^xsd:string "Differential Gear"^^xsd:string <@resultType>) + } + + # Determine the prognosis assets + ?output sh:path ?result_type . + ?output cx-sh:outputOf ?functionShape . + ?assetFunction cx-sh:shapeObject ?functionShape . + ?functionConnector cx-common:offers ?assetFunction . + ?functionShape cx-sh:extensionOf* ?parentFunctionShape . + ?functionShape sh:targetClass ?function . + ?parentFunctionShape sh:property ?functionProperty . + ?functionProperty cx-sh:hasAsArgument ?argument . + ?functionProperty sh:in ?parameters . + ?parameters rdf:rest*/rdf:first ?ls_type . + + # Determine the target + ?assetData cx-sh:shapeObject ?nodeShape . + ?dataConnector cx-common:offers ?assetData . + ?nodeShape sh:property ?propertyShape . + ?propertyShape sh:path ?argument . + ?propertyShape sh:in ?parameters_target . + ?parameters_target rdf:rest*/rdf:first ?ls_type . + + SERVICE ?dataConnector { + GRAPH ?assetData { + ?vehicle rdf:type cx-vehicle:Vehicle ; + cx-vehicle:vehicleIdentificationNumber ?vin . + + ?assembly rdf:type cx-vehicle:Part ; + cx-vehicle:name ?aggregate ; + cx-vehicle:isPartOf ?vehicle ; + cx-vehicle:supplier ?supplier . + + ?teleAnalysis rdf:type cx-reliability:Analysis ; + cx-reliability:analysedObject ?assembly ; + cx-reliability:operatingHoursOfVehicle ?operatingTime ; + cx-reliability:mileageOfVehicle ?mileage ; + cx-core:startDateTime ?recordDate ; + cx-reliability:result [ + cx-core:id ?ls_type ; + cx-core:name ?ls_name ; + cx-reliability:countingValue ?ls_value ; + cx-reliability:countingUnit ?ls_unit ; + cx-reliability:countingMethod ?ls_method ; + cx-reliability:channels ?ls_channels ; + cx-reliability:classes ?ls_classes ; + cx-reliability:values ?ls_values + ] . + } + } + + SERVICE ?functionConnector { + GRAPH ?assetFunction { + SELECT ?prognosis WHERE { + ?invocation a ?function ; + cx-behaviour:sender ; + cx-behaviour:senderConnector ; + cx-behaviour:recipient ; + cx-behaviour:recipientConnector ; + cx-behaviour:targetDate ?recordDate ; + cx-behaviour:timeStamp ?recordDate ; + cx-behaviour:component ?assembly ; + cx-behaviour:observationType ?ls_type ; + cx-behaviour:statusDate ?recordDate ; + cx-behaviour:statusOperatingHours ?operatingTime ; + cx-behaviour:statusMileage ?mileage ; + cx-behaviour:countingValue ?ls_value ; + cx-behaviour:countingUnit ?ls_unit ; + cx-behaviour:countingMethod ?ls_method ; + cx-behaviour:headerChannels ?ls_channels ; + cx-behaviour:bodyClasses ?ls_classes ; + cx-behaviour:bodyCountsList ?ls_values ; + ?result_type ?prognosis . + } + } + } # SUPPLIER#CATALOG + +} # SELECT +``` + +### DETAILED INFORMATION + +#### SELECT STATEMENT + +The select statement defines, which data should be returned. + +```sparql +SELECT DISTINCT ?vin ?supplier ?vehicle ?assembly ?operatingTime ?mileage ?prognosis WHERE { +``` + +#### PARAMETERS + +The parameter `vin` (list of VINs for vehicles of interest) is the central external parameter that is provided by the caller of this skill. `aggregate` is set to `Differential Gear` to identify the component of interest (gearbox). `result_type` is also an external parameter that can be set to either `https://w3id.org/catenax/ontology/behaviour#HealthIndicatorResult` or to `https://w3id.org/catenax/ontology/behaviour#RemainingUsefulLifeResult`. The result types are extensible. With this generalized skill, different calculation types can be executed. In the HI use case, it must be set to `https://w3id.org/catenax/ontology/behaviour#HealthIndicatorResult`. + +```sparql + VALUES (?vin ?aggregate ?result_type) { + ("@vin"^^xsd:string "Differential Gear"^^xsd:string <@resultType>) + } +``` + +#### FUNCTION ASSET RESOLUTION + +All funciton assets with the desired output type within the consumer's federated catalog are resolved. With these assets, the providing connectors are also resolved. In addition, for these assets, the arguments and their load spectrum types are resolved. + +```sparql + # Determine the prognosis assets + ?output sh:path ?result_type . + ?output cx-sh:outputOf ?functionShape . + ?assetFunction cx-sh:shapeObject ?functionShape . + ?functionConnector cx-common:offers ?assetFunction . + ?functionShape cx-sh:extensionOf* ?parentFunctionShape . + ?functionShape sh:targetClass ?function . + ?parentFunctionShape sh:property ?functionProperty . + ?functionProperty cx-sh:hasAsArgument ?argument . + ?functionProperty sh:in ?parameters . + ?parameters rdf:rest*/rdf:first ?ls_type . +``` + +#### DATA ASSET RESOLUTION + +All data assets that are related to the function assets (same shape and load spectrum types) within the consumer's federated catalog are resolved. With the assets, the providing connectors are also resolved. + +```sparql + # Determine the target + ?assetData cx-sh:shapeObject ?nodeShape . + ?dataConnector cx-common:offers ?assetData . + ?nodeShape sh:property ?propertyShape . + ?propertyShape sh:path ?argument . + ?propertyShape sh:in ?parameters_target . + ?parameters_target rdf:rest*/rdf:first ?ls_type . +``` + +#### RESOLVING VEHICLE, PART OF INTEREST, ITS SUPPLIER AND THE RELATED LOAD DATA + +The resolved connector must be the OEM's connector. There, the graph asset for the usage data is requested. Doing so, a sub-skill is transferred to the OEM's Knowledge Agent (if the consumer is not the OEM). At the OEM, the vehicle is resolved by its VIN. Then, the part of interrest (assembly) and its supplier are resolved by the part's name. At the end, the load for that part can be resolved by the component of interest (assembly) and the load spectrum types that are required by the function arguments. + +```sparql + SERVICE ?dataConnector { + GRAPH ?assetData { + ?vehicle rdf:type cx-vehicle:Vehicle ; + cx-vehicle:vehicleIdentificationNumber ?vin . + + ?assembly rdf:type cx-vehicle:Part ; + cx-vehicle:name ?aggregate ; + cx-vehicle:isPartOf ?vehicle ; + cx-vehicle:supplier ?supplier . + + ?teleAnalysis rdf:type cx-reliability:Analysis ; + cx-reliability:analysedObject ?assembly ; + cx-reliability:operatingHoursOfVehicle ?operatingTime ; + cx-reliability:mileageOfVehicle ?mileage ; + cx-core:startDateTime ?recordDate ; + cx-reliability:result [ + cx-core:id ?ls_type ; + cx-core:name ?ls_name ; + cx-reliability:countingValue ?ls_value ; + cx-reliability:countingUnit ?ls_unit ; + cx-reliability:countingMethod ?ls_method ; + cx-reliability:channels ?ls_channels ; + cx-reliability:classes ?ls_classes ; + cx-reliability:values ?ls_values + ] . + } + } +``` + +#### INVOKE CALCULATION SERVICE AT SUPPLIER + +At the supplier's EDC connector, the graph asset of the HI calculation service is requested. Doing so, a sub-skill is transferred to the supplier's Knowledge Agent. At the supplier, the HI calculation service is called implicit due to its service binding to the knowledge graph. The result then is bound to the knowledge graph. + +```sparql + SERVICE ?functionConnector { + GRAPH ?assetFunction { + SELECT ?prognosis WHERE { + ?invocation a ?function ; + cx-behaviour:sender ; + cx-behaviour:senderConnector ; + cx-behaviour:recipient ; + cx-behaviour:recipientConnector ; + cx-behaviour:targetDate ?recordDate ; + cx-behaviour:timeStamp ?recordDate ; + cx-behaviour:component ?assembly ; + cx-behaviour:observationType ?ls_type ; + cx-behaviour:statusDate ?recordDate ; + cx-behaviour:statusOperatingHours ?operatingTime ; + cx-behaviour:statusMileage ?mileage ; + cx-behaviour:countingValue ?ls_value ; + cx-behaviour:countingUnit ?ls_unit ; + cx-behaviour:countingMethod ?ls_method ; + cx-behaviour:headerChannels ?ls_channels ; + cx-behaviour:bodyClasses ?ls_classes ; + cx-behaviour:bodyCountsList ?ls_values ; + ?result_type ?prognosis . + } + } + } # SUPPLIER#CATALOG + +} # SELECT +``` + +## SKILL REGISTRATION AND INVOCATION + +For skill registration and invocation, have a look at the [general Development View](../../../development-view/skill#skill-registration). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/overview.md new file mode 100644 index 00000000000..5cb7a26efd0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/hi/overview.md @@ -0,0 +1,37 @@ +--- +id: overview +title: Health Indicator +description: Behaviour Twin KIT +hide_title: true +--- + +
                                    Behaviour Twin KIT -- Health Indicator
                                    + +![Behaviour Twin KIT -- Health Indicator banner](@site/static/img/kit-icons/behaviour-twin-hi-kit-icon.svg) + +## PURPOSE + +The business logic of the Health Indicator use case is to provide and get the health condition of technical systems. + +This template shows a use case where an consumer who is also data provider defines a skill, where the schema of the calculation services' input parameters is unknown to the skill provider (due to heterogeneous calculation services). The consumer knows the actual calculation service provider(s) and can access its graph assets. + +## DISCLAIMER + +:warning: This is only a template use case. It is not to be used as is, but provides great starting building blocks for further implementation of a concrete use case. + +## CONTENTS + +- [Adoption View](adoption-view/overview) +- [Development View](development-view/overview) + +## NOTICE + +This work is licensed under the [CC-BY-4.0 ![(external link)](../../assets/external-link.svg)](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +- SPDX-FileCopyrightText: 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2021-2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2021-2024 Mercedes-Benz AG +- SPDX-FileCopyrightText: 2022-2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2022-2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/overview.md new file mode 100644 index 00000000000..e9edb7b6e38 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/overview.md @@ -0,0 +1,33 @@ +--- +id: overview +title: Use Cases +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT banner](@site/static/img/kit-icons/behaviour-twin-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT +
                                    +
                                    + +*This section contains dedicated use cases within the overarching Behaviour Twin use case. These can be considered as examples, further references, and templates for the development of new use cases.* + +*The former KITs for those use cases (**Remaining useful Life KIT** and **Health Indicator KIT**) are hereby deprecated.* + +## CONTENTS + +The following (template) use cases are part of this KIT: + +- [Remaining useful Life](rul/overview) +- [Health Indicator](hi/overview) + +Another Behaviour Twin use case (not part of this KIT) is the exchange and collaborative use of simulation and data processing models, see: + +- [Model Based Development and Data Processing KIT](../../Behaviour%20Twin%20MDP%20Kit/page_adoption-view) + +*Federated simulation* is not yet part of any Behaviour Twin KIT, but could be an interesting approach in the future. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/_category_.json new file mode 100644 index 00000000000..0accce326eb --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Remaining useful Life" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/_category_.json new file mode 100644 index 00000000000..871e27d3b7c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Adoption View" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/architecture.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/architecture.md new file mode 100644 index 00000000000..39fd1b30ad3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/architecture.md @@ -0,0 +1,83 @@ +--- +id: architecture +title: Architecture +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +## BASIC ARCHITECTURE + +### OVERVIEW + +An external consumer wants to know the remaining useful life of its component (e.g. a vehicle). It uses a RuL Consuming App (e.g. with a web interface) for this. At the data provider (likely an OEM), usage data is collected continuously with the consent and on behalf of the consumer. The usage history and all dependent components that can provide RuL values are known on the data provider's side. The data provider itself doesn't even have to know which components can provide RuL services/values. Its registed suppliers provide that information in their catalogs which are synchronized periodically. The data provider only must bind the usage data to the knowledge graph. + +This approach is not limited only to OEMs and vehicles. Any system that provides usage data can utilize this approach, like tools/machines, production lines, building facilities, vending machines, computers, roads and so on. + +### ROLES + +Each participant in the Remaining useful Life (RuL) Behaviour Twin use case applies to one or more of the following roles: + +- **RuL consumer** (result requester) +- **skill provider** (which is also the RuL consumer, provider of the use case logic) +- **data provider** (OEM, provider of usage data) +- **RuL service provider** (a component supplier, e.g. for gearboxes) + +One of the special cases would be that the data provider is also the RuL consumer and/or RuL service provider and/or skill provider. + +## DETAILED ARCHITECTURE + +### BUSINESS PROCESS + +*For better readability, it is assumed on this page that the **data provider** is always an **OEM**/vehicle manufacturer.* + +The first addressee of a RuL skill must be the OEM since it has access to its suppliers who can provide RuL values. + +![business-process](assets/business-process.drawio.svg) + +0. **sync federated catalog:**
                                    The federated catalogs are synchronized periodically. As a result, the OEM can resolve RuL prognosis function assets that are located at the supplier. + +1. **Invoke RuL skill:**
                                    The consumer invokes the skill by calling the agents API at its own EDC connector (ad hoc or as predefined asset). The OEM's EDC connector address must be known. Resolving this address is up to the consumer. The vehicle ID (VIN) is set as parameter for the skill. + +2. **Delegate sub-skill:**
                                    The skill is delegated to the OEM via EDC connectors. + +3. **Resolve vehicle part of interest:**
                                    The Knowledge Agent resolves the vehicle part for which the RuL value should be calculated. + +4. **Resolve load data assets:**
                                    The Knowledge Agent resolves the usage data asset for the vehicle part of interest. + +5. **Resolve RuL prognosis function assets:**
                                    The Knowledge Agent resolves all prognosis function assets from the federated catalog with type `RemainingUsefulLife` and the correct input type of load spectra. This type is infered by the usage data asset. + +6. **Fetch load data:**
                                    The data (parameters for the RuL prognosis functions) are fetched from the data provider's bound data source. They are translated into graph representation by a provisioning agent (data binding agent). + +7. **Transfer load data and deploy sub-skill:**
                                    The fetched data and a sub-skill (logic for calling the RuL calculation service) are transferred to the RuL calculation service provider's Knowledge Agent via EDC connectors. + +8. **Call service and fetch RuL result:**
                                    The RuL calculation service (prognosis function) is called. The data (parameters) are translated into the format the service requires. This is automatically done by an remoting agent (service binding agent), which is statically configured by service bindings. The result of the service then is translated back into graph representation by the remoting agent. + +9. **Return RuL result:**
                                    The result is transferred to the OEM via EDC connectors. + +10. **Delegate RuL result:**
                                    The result is delegated to the consumer via EDC connectors. + +To have a common understanding of how to interpret and translate elements in the graph, common ontologies and taxonomies must be used. These are also needed for the interpretation of skills and sub-skills as there is e.g. inheritance in ontologies which must be known by the Knowledge Agent to resolve relations. + +### BUILDING BLOCK COMPONENTS + +#### USE-CASE-SPECIFIC COMPONENTS + +|Subsystem|Description| +|---------|-----------| +|RuL Consuming App|This component is the app that is hosted at the *consumer* and provides the end user interface.| +|Usage Data|A data source at the *data provider* that provides usage data that are required for RuL prognosis services.
                                    It can be accessed by the Knowledge Agent via data bindings.| +|RuL Service|A calculation service at the *Supplier*. It accepts load spectra as parameters, and calculates the Remaining useful Life result values and returns them.| + +#### KNOWLEDGE AGENT COMPONENTS AND CATENA-X CORE SERVICES + +For non-use-case-specific components, refer to the [general Architecture section](../../../adoption-view/architecture#building-block-components) in the general adoption view. diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/assets/business-process.drawio.svg b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/assets/business-process.drawio.svg new file mode 100644 index 00000000000..ec15bdab654 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/assets/business-process.drawio.svg @@ -0,0 +1,796 @@ + + + + + + + +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Foundation + +
                                    +
                                    +
                                    +
                                    + + CC-BY-4.0  Contributors to the Eclipse Fou... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + Rul Consumer + +
                                    +
                                    +
                                    +
                                    + + Rul Consumer + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + OEM + +
                                    +
                                    +
                                    +
                                    + + OEM + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Supplier + +
                                    +
                                    +
                                    +
                                    + + Supplier + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    + connector +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + EDC +
                                    +
                                    + connector + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + EDC... + +
                                    +
                                    + + + + + + + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Shared Ontologies +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + Shared Ontologies + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Federated Catalog + +
                                    +
                                    +
                                    +
                                    + + Federated Catal... + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + 0. sync federated catalog + +
                                    +
                                    +
                                    +
                                    + + 0. sync federated catalog + +
                                    +
                                    + + + + + + +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    +
                                    +
                                    + + %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22%26lt%3Bfont%20color%3D%26quot%3B%233399ff%26quot%3B%26gt%3B%26amp%3Bnbsp%3B0.%20sync%20catalogs%26amp%3Bnbsp%3B%26lt%3B%2Ffont%26gt%3B%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3BfontSize%3D12%3BfontColor%3D%23F0F0F0%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22300.604529274819%22%20y%3D%22-950%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel% + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + 0. sync federated catalog +
                                    +
                                    +
                                    +
                                    + + 0. sync federated catalog + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + Load-Data-Binding + +
                                    +
                                    +
                                    +
                                    + + Load-Data-Bind... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + RuL-Service-Binding + +
                                    +
                                    +
                                    +
                                    + + RuL-Service-Bi... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 2. delegate +
                                    + sub-skill +
                                    +
                                    +
                                    +
                                    +
                                    + + 2. delegate... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + Load Data + +
                                    +
                                    +
                                    +
                                    + + Load Data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + RuL +
                                    + Service +
                                    +
                                    +
                                    +
                                    +
                                    + + RuL... + +
                                    +
                                    + + + + + + + + +
                                    +
                                    +
                                    + + 6. fetch load data + +
                                    +
                                    +
                                    +
                                    + + 6. fetch load data + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    +
                                    +
                                    + + use-case-specific + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 3. resolve vehicle part of interest + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 3. resolve vehicle part of interest + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 5. resolve RuL prognosis +
                                    + function assets + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 5. resolve RuL prognosis... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + 8. call service +
                                    + and fetch RuL result +
                                    +
                                    +
                                    +
                                    +
                                    + + 8. call service... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 9. return RuL result + +
                                    +
                                    +
                                    +
                                    + + 9. return RuL result + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 7. transfer load data and deploy sub-skill +
                                    +
                                    +
                                    +
                                    + + 7. transfer load data and deploy sub-skill + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 10. delegate +
                                    + RuL result +
                                    +
                                    +
                                    +
                                    +
                                    + + 10. delegate... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + RuL Consuming  App + +
                                    +
                                    +
                                    +
                                    + + RuL Consuming  App + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 1. invoke RuL +
                                    + skill +
                                    +
                                    +
                                    +
                                    +
                                    + + 1. invoke RuL... + +
                                    +
                                    + + + + +
                                    +
                                    +
                                    + + start + +
                                    +
                                    +
                                    +
                                    + + start + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Provisioning Agent + +
                                    +
                                    +
                                    +
                                    + + Provisioning... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    +
                                    +
                                    + + Remoting Agent + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + + Matchmaking +
                                    + Agent +
                                    +
                                    +
                                    +
                                    +
                                    + + Matchmaking... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + + 10. get +
                                    + RuL result +
                                    +
                                    +
                                    +
                                    +
                                    + + 10. get... + +
                                    +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + RuL- +
                                    + Skill +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + RuL-... + +
                                    +
                                    + + + + + +
                                    +
                                    +
                                    + 4. resolve load data assets + +
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + + 4. resolve load data assets + +
                                    +
                                    +
                                    + + + + + Text is not SVG - cannot display + + + +
                                    \ No newline at end of file diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/introduction.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/introduction.md new file mode 100644 index 00000000000..21b0f5f11d6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/introduction.md @@ -0,0 +1,51 @@ +--- +id: introduction +title: Introduction +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +## VISION & MISSION + +### VISION + +Calculating Remaining useful Life is a business. + +The *Behaviour Twin KIT* aims at novel business models based on the calculation of Remaining useful Life. The wide range of possible applications starts with product development and finally extends to recycling: the entire product life cycle offers potential. + +The *Behaviour Twin KIT* provides efficient support in planning, designing, building, using and operating Remaining useful Life Services and applications based on them. + +### MISSION + +This use-case-specific part of the *Behaviour Twin KIT* aims further to facilitate the development of scalable and interoperable +solutions for calculation of the *Remaining useful Life* of products by connecting the data providers, typically OEMs, and service providers, typically supplier +within the supply chain in a generic way. It guides business and software developers +by explaining key concepts and by directing them to relevant technical resources and code examples. + +## STATUS QUO & CHALLENGES + +see [*Status quo & challenges in general section of the KIT*](../../../adoption-view/introduction#status-quo--challenge) + +## USE CASES + +**OEM, TIER-X**: In the early development phase, components can be designed using digital prototypes based on component-specific damage calculation. The load data required for this comes from simulation or measurement in the digital twin. + +**Tier-X**: The overall product range becomes more attractive in the offer phase when model-based damage calculation is included as a product-related service. + +**OEMs, car dealers and automotive clubs**: During usage phase they can further interpret the Remaining useful Life calculation for a vehicle evaluation and offer it as vehicle-related services for their end customers and fleet operators. + +**Automotive clubs, car dealers, insurers, fleet operators and recyclers**: Even during the usage phase, but particularly during the recycling phase, they all benefit from precise residual value analyses of the entire vehicle and its components on the basis of component-specific damage calculation. + +## BENEFITS + +Taking this use-case specific template for the development of similar or new use cases is an ideal starting point to enable the [*benefits described in the general part of the KIT*](../../../adoption-view/introduction#benefits). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/overview.md new file mode 100644 index 00000000000..d808a15296c --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/overview.md @@ -0,0 +1,22 @@ +--- +id: overview +title: Adoption View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +## CONTENTS + +- [Introduction](./introduction) +- [Architecture](./architecture) +- [Terminology](./terminology) diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/terminology.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/terminology.md new file mode 100644 index 00000000000..e58b518ded3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/adoption-view/terminology.md @@ -0,0 +1,27 @@ +--- +id: terminology +title: Terminology +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +## NON-USE-CASE-SPECIFIC + +For terminology that is not related to the Remaining useful Life use case, see the general [Terminology](../../../adoption-view/terminology) section. + +## USE-CASE-SPECIFIC + +|Term|Description|Comment| +|---|---|---| +|RuL|Remaining useful Life|| +|remaining useful life value|Estimated amount of time or usage (e.g., operating hours, miles, cycles) that a technical component or system can continue to function before it needs to be repaired or replaced.|utilizes condition monitoring, predictive analytics, and calculation via usage-data-driven models to assess the current state and project the future performance and degradation| diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/_category_.json b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/_category_.json new file mode 100644 index 00000000000..e5c5b7565a3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Development View" +} diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/data-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/data-bindings.md new file mode 100644 index 00000000000..bb1788082e6 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/data-bindings.md @@ -0,0 +1,24 @@ +--- +id: data-bindings +title: Data Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +Applies to role: *RuL data provider* + +## DATA BINDING FOR RELATIONAL DATA + +The usage data for different use cases like [*Health Indicator*](../../hi/overview), *Remaining useful Life* and others utlilize the same data sources and data types (load spectra). The load spectrum types may vary, but all the different types consists of the same structure and data types. Because of that, they all can be provided by the same data (graph) asset. The provisioning is described in the [general Data Bindings section](../../../development-view/data-bindings). + +More details about how to bind and provide data can be found at the [Agents KIT's Operation View](../../knowledge-agents/operation-view/provider). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/overview.md new file mode 100644 index 00000000000..8ae78701775 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/overview.md @@ -0,0 +1,35 @@ +--- +id: overview +title: Development View +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +## CONTENTS + +- [Data Bindings](./data-bindings) (applies to role *RuL data provider*) + - configuring data bindings + - registering graph asset for data bindings + +
                                    + +- [Service Bindings](./service-bindings) (applies to role *RuL calculation service provider*) + - configuring a service binding + - registering a graph asset for a service binding + +
                                    + +- [Skill](./skill) (applies to roles *RuL skill provider* and *RuL consumer*) + - developing skills + - registering skill assets + - invoke skills diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/service-bindings.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/service-bindings.md new file mode 100644 index 00000000000..ef2c888e657 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/service-bindings.md @@ -0,0 +1,392 @@ +--- +id: service-bindings +title: Service Bindings +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +Applies to role: *RuL calculation service provider* + +### OVERVIEW + +For general information about service bindings, have a look at the [generalized Service Bindings section](../../../development-view/service-bindings) and the [Agents KIT's Operation View](../../../../knowledge-agents/operation-view/provider). In the current section, only a dedicated example is shown. + +### SERVICE MAPPING CONFIGURATION (FULL EXAMPLE) + +The following configuration for the mapping of a Remaining useful Life (RuL) calculation service is written in the [Terse RDF Triple Language ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/turtle/), also known as *Turtle*. + +In this example, an asynchronous calculation service for gearbox RuL values is bound. It uses the Catena-X notification format as a container for the input data. The content of the notification is a JSON structure with a list of load spectra in it. The input format provides more than one Element (batch processing), but the RuL logic always requires exact one input per calculation. Therefore, always the first (and only the first) item of the input list is bound. + +```ttl +################################################################ +# Copyright (c) 2022-2024 T-Systems International GmbH +# Copyright (c) 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022-2024 ZF Friedrichshafen AG +# Copyright (c) 2023-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +# Copyright (c) 2022-2024 Mercedes-Benz AG +# Copyright (c) 2022-2024 Contributors to the Catena-X Association +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################ +# +# Rdf4j configuration for a RuL-specific remoting +# +@prefix rdf: . +@prefix rdfs: . +@prefix rep: . +@prefix sr: . +@prefix sail: . +@prefix sp: . +@prefix xsd: . +@prefix json: . +@prefix dcterms: . +@prefix cx-fx: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-reliability: . +@prefix cx-behaviour: . + +[] rdf:type rep:Repository ; + rep:repositoryID "rul" ; + rdfs:label "Remainig Useful Life Functions Repository" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife ; + cx-fx:callbackAddress ; + ] + ] . + +cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function ; + dcterms:description "Remaining useful Life is an asynchronous batch invocation."@en ; + dcterms:title "Remaining useful Life" ; + cx-fx:targetUri "http://service-backend:5005/api/rul2" ; + cx-fx:invocationMethod "POST-JSON" ; +# cx-common:authenticationKey "Authorization" ; +# cx-common:authenticationCode "Basic TOKEN" ; + cx-fx:invocationMethod "POST-JSON" ; + cx-fx:invocationIdProperty "header.notificationID,content.requestRefId" ; + cx-fx:callbackProperty "header.respondAssetId" ; + cx-fx:input cx-behaviour:notification ; + cx-fx:input cx-behaviour:sender ; + cx-fx:input cx-behaviour:senderConnector ; + cx-fx:input cx-behaviour:recipient ; + cx-fx:input cx-behaviour:recipientConnector ; + cx-fx:input cx-behaviour:recipient ; + cx-fx:input cx-behaviour:recipientConnector ; + cx-fx:input cx-behaviour:severity ; + cx-fx:input cx-behaviour:status ; + cx-fx:input cx-behaviour:targetDate ; + cx-fx:input cx-behaviour:timeStamp ; + cx-fx:input cx-behaviour:classification ; + cx-fx:input cx-behaviour:component ; + cx-fx:input cx-behaviour:observationType ; + cx-fx:input cx-behaviour:metadata ; + cx-fx:input cx-behaviour:statusDate ; + cx-fx:input cx-behaviour:statusOperatingHours ; + cx-fx:input cx-behaviour:statusMileage ; + cx-fx:input cx-behaviour:countingMethod ; + cx-fx:input cx-behaviour:countingValue ; + cx-fx:input cx-behaviour:countingUnit ; + cx-fx:input cx-behaviour:headerChannels ; + cx-fx:input cx-behaviour:bodyClasses ; + cx-fx:input cx-behaviour:bodyCountsList ; + cx-fx:result cx-behaviour:RemainingUsefulLifeResult . + +cx-behaviour:notification rdf:type cx-fx:Argument ; + dcterms:description "A default notification output template."@en ; + dcterms:title "Notification Template" ; + cx-fx:argumentName "." ; + cx-fx:dataType json:Object ; + cx-fx:priority "-1"^^xsd:integer ; + cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": []}}"^^json:Object . + +cx-behaviour:sender rdf:type cx-fx:Argument ; + dcterms:description "Sender of the notification as a BPN."@en ; + dcterms:title "Notification Sender" ; + cx-fx:argumentName "header.senderBPN" ; + cx-fx:default "anonymous" . + +cx-behaviour:senderConnector rdf:type cx-fx:Argument ; + dcterms:description "Sender Address of the notification as a URL."@en ; + dcterms:title "Notification Sender Address" ; + cx-fx:argumentName "header.senderAddress" ; + cx-fx:default "unknown" . + +cx-behaviour:recipient rdf:type cx-fx:Argument ; + dcterms:description "Recipient of the notification as a BPN."@en ; + dcterms:title "Notification Recipient" ; + cx-fx:argumentName "header.recipientBPN" ; + cx-fx:default "anonymous" . + +cx-behaviour:recipientConnector rdf:type cx-fx:Argument ; + dcterms:description "Recipient Address of the notification as a URL."@en ; + dcterms:title "Notification Recipient Address" ; + cx-fx:argumentName "header.recipientAddress" ; + cx-fx:default "unknown" . + +cx-behaviour:severity rdf:type cx-fx:Argument ; + dcterms:description "Severity of the notification."@en ; + dcterms:title "Notification Severity" ; + cx-fx:argumentName "header.severity" ; + cx-fx:dataType xsd:string ; + cx-fx:default "MINOR" . + +cx-behaviour:status rdf:type cx-fx:Argument ; + dcterms:description "Status of the notification."@en ; + dcterms:title "Notification Status" ; + cx-fx:argumentName "header.status" ; + cx-fx:dataType xsd:string ; + cx-fx:default "SENT" . + +cx-behaviour:targetDate rdf:type cx-fx:Argument ; + dcterms:description "Target Date of the notification."@en ; + dcterms:title "Notification Target Date" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "header.targetDate" . + +cx-behaviour:timeStamp rdf:type cx-fx:Argument ; + dcterms:description "Timestamp of the notification."@en ; + dcterms:title "Notification Timestamp" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "header.timeStamp" . + +cx-behaviour:classification rdf:type cx-fx:Argument ; + dcterms:description "Classification of the notification."@en ; + dcterms:title "Notification Classification" ; + cx-fx:argumentName "header.classification" ; + cx-fx:dataType xsd:string ; + cx-fx:default "RemainingUsefulLifePredictor" . + +cx-behaviour:component rdf:type cx-fx:Argument ; + dcterms:description "Component of the Predicition."@en ; + dcterms:title "Predicted Component" ; + cx-fx:formsBatchGroup "true"^^xsd:boolean ; + cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId" . + +cx-behaviour:observationType rdf:type cx-fx:Argument ; + dcterms:description "The type of observation made."@en ; + dcterms:title "Observation Type" ; + cx-fx:strip ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription" ; + cx-fx:dataType xsd:string . + +cx-behaviour:metadata rdf:type cx-fx:Argument ; + dcterms:description "Metadata of the Loadspectrum."@en ; + dcterms:title "Loadspectrum Metadata" ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}" ; + cx-fx:dataType json:Object ; + cx-fx:priority "0"^^xsd:integer ; + cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object . + +cx-behaviour:statusDate rdf:type cx-fx:Argument ; + dcterms:description "Time of Recording."@en ; + dcterms:title "Loadspectrum Recording Time" ; + cx-fx:dataType xsd:dateTime ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date" . + +cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument ; + dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Operating Hours" ; + cx-fx:dataType xsd:float ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours" . + +cx-behaviour:statusMileage rdf:type cx-fx:Argument ; + dcterms:description "Mileage of Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Mileage" ; + cx-fx:dataType xsd:int ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage" . + +cx-behaviour:countingUnit rdf:type cx-fx:Argument ; + dcterms:description "Counting Unit of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Unit" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit" . + +cx-behaviour:countingValue rdf:type cx-fx:Argument ; + dcterms:description "Counting Value Name of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Value" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName" . + +cx-behaviour:countingMethod rdf:type cx-fx:Argument ; + dcterms:description "Counting Method of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Method" ; + cx-fx:dataType xsd:string ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod" . + +cx-behaviour:headerChannels rdf:type cx-fx:Argument ; + dcterms:description "Channels of Load Spectrum."@en ; + dcterms:title "Loadspectrum Channels" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels" . + +cx-behaviour:bodyClasses rdf:type cx-fx:Argument ; + dcterms:description "Classes of Load Spectrum."@en ; + dcterms:title "Loadspectrum Classes" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes" . + +cx-behaviour:bodyCountsList rdf:type cx-fx:Argument ; + dcterms:description "Counts List of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counts List" ; + cx-fx:dataType json:Object ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList" . + +cx-behaviour:RemainingUsefulLifeResult rdf:type cx-fx:Result ; + dcterms:description "The asynchronous notification response."@en ; + dcterms:title "Asynchronous notification response." ; + cx-fx:callbackProperty "header.referencedNotificationID" ; + cx-fx:outputProperty "content.endurancePredictorOutputs" ; + cx-fx:output cx-behaviour:remainingOperatingHours ; + cx-fx:output cx-behaviour:remainingRunningDistance . + +cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue ; + dcterms:description "Predicted Operating Hours of Remaining useful Life Response"@en ; + dcterms:title "Remaining useful Life Operating Hours" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours" ; + cx-fx:dataType xsd:float. + +cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue ; + dcterms:description "Predicted Distance of Remaining useful Life Response"@en ; + dcterms:title "Remaining useful Life Distance" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingRunningDistance" ; + cx-fx:dataType xsd:int . +``` + +### GRAPH ASSET FOR THE SERVICE BINDINGS + +To enable the knowledge agent's matchmaking agent to utilize the service binding, a graph asset has to be registered at the calculation service provider's EDC connector. This asset must have a property `rdfs:isDefinedBy` for ontology references and a property `sh:shapesGraph` that defines the shape of the provided graph. + +#### GRAPH ASSET DEFINITION + +The following example is a full asset description, that can be registered at the EDC connector. + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dc": "https://purl.org/dc/terms/" + }, + "@id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "properties": { + "cx-common:name": "Lifetime Prognosis Service for Gearboxes", + "cx-common:description": "A sample graph asset/offering referring to a specific prognosis resource.", + "cx-common:description@de": "Ein Beispielasset für eine Prognosefunktion.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?supplier=Graph", + "dc:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n# Prognosis Function\n:PrognosisFunctionShape rdf:type sh:NodeShape ;\n sh:targetClass cx-behaviour:PrognosisFunction ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingMethod ;\n sh:path cx-behaviour:countingMethod ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingValue ;\n sh:path cx-behaviour:countingValue ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingUnit ;\n sh:path cx-behaviour:countingUnit ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:channels ;\n sh:path cx-behaviour:headerChannels ;\n ] ;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:classes ;\n sh:path cx-behaviour:bodyClasses ;\n ] .\n\n:RemainingUsefulLifeShape rdf:type sh:NodeShape ;\n cx-sh:extensionOf :PrognosisFunctionShape ;\n sh:targetClass cx-behaviour:RemainingUsefulLife ;\n sh:property[\n cx-sh:hasAsArgument cx-reliability:observationOf ;\n sh:path cx-behaviour:observationType ;\n sh:in ( cx-taxo:GearSet cx-taxo:GearOil ) ;\n ] ;\n sh:property :RemainingUsefulLifeResultShape .\n\n:RemainingUsefulLifeResult rdf:type sh:PropertyShape ;\n cx-sh:outputOf :RemainingUsefulLifeShape ;\n sh:path cx-behaviour:RemainingUsefulLifeResult .\n", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "dataAddress": { + "id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "@type": "DataAddress", + "baseUrl": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul" + } + } +``` + +The property `sh:shapesGraph` contains the graph shape of the offered data, written in [Shapes Constraint Language (SHACL) ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/shacl/). It describes the shape of a Remaining useful Life function and its output: + +```shacl +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +# Prognosis Function +:PrognosisFunctionShape rdf:type sh:NodeShape ; + sh:targetClass cx-behaviour:PrognosisFunction ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingMethod ; + sh:path cx-behaviour:countingMethod ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingValue ; + sh:path cx-behaviour:countingValue ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingUnit ; + sh:path cx-behaviour:countingUnit ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:channels ; + sh:path cx-behaviour:headerChannels ; + ] ; + sh:property [ + cx-sh:hasAsArgument cx-reliability:classes ; + sh:path cx-behaviour:bodyClasses ; + ] . + +:RemainingUsefulLifeShape rdf:type sh:NodeShape ; + cx-sh:extensionOf :PrognosisFunctionShape ; + sh:targetClass cx-behaviour:RemainingUsefulLife ; + sh:property[ + cx-sh:hasAsArgument cx-reliability:observationOf ; + sh:path cx-behaviour:observationType ; + sh:in ( cx-taxo:GearSet cx-taxo:GearOil ) ; + ] ; + sh:property :RemainingUsefulLifeResultShape . + +:RemainingUsefulLifeResult rdf:type sh:PropertyShape ; + cx-sh:outputOf :RemainingUsefulLifeShape ; + sh:path cx-behaviour:RemainingUsefulLifeResult . +``` + +#### POLICY AND CONTRACT FOR THE GRAPH ASSET + +All assets, including graph assets, must have a related policy and contract definition. These are described in the use-case-independent [general Contracts And Policies section](../../../development-view/contracts-and-policies). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/skill.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/skill.md new file mode 100644 index 00000000000..ae1381c8939 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/development-view/skill.md @@ -0,0 +1,261 @@ +--- +id: skill +title: Skill +description: Behaviour Twin KIT +--- + +
                                    +
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon-mini.svg) + +
                                    +
                                    +Behaviour Twin KIT -- Remaining useful Life +
                                    +
                                    + +Applies to roles: *RuL skill provider* and *RuL consumer* + +## SKILL DEFINITION + +The example skill below is inteded to calculate RuL values of a vehicle part. + +The *consumer* is also the *skill proivder*. It requests the calculation by providing the vehicle identification numbers (VINs) of the vehicles. The *data provider* is an OEM, the manufacturer of the vehicles. It provides the load data in form of load spectra. The supplier of the part (component of interest) provides the related RuL calculation service, which accepts load spectra as input arguments. + +The *skill provider* (in this example the consumer, but could also be the *data provider*/OEM or a third party or a CAB body), has to implement the skill and register it over the *Agent Plane API*. + +In the current example, a RuL skill for a gearbox is implemented with the [SPARQL 1.1 Query Language ![(external link)](../../../assets/external-link.svg)](https://www.w3.org/TR/sparql11-query/) as a query. The query is a federated query, which means that it is split into two parts, one for the *data provider*/OEM and one for the *calculation service provider*/supplier. In the first part, the OEM-owned reliability asset is queried to collect the load data of the vehicles with the given VINs and in the second part, the gathered data is fed back into the respective supplier EDC connector/agent to perform a RuL calculation. + +For more information regarding skill development, registration and invocation options, see [Agents KIT's Operation View](../../../../knowledge-agents/operation-view/agent_edc). + +### FULL EXAMPLE + +```sparql +################################################################ +# Copyright (c) 2022-2024 T-Systems International GmbH +# Copyright (c) 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2022-2024 ZF Friedrichshafen AG +# Copyright (c) 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +# Copyright (c) 2022-2024 Mercedes-Benz AG +# Copyright (c) 2022-2024 Contributors to the Catena-X Association +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################ +# Sample for a Federated (Consumer-Deployed) SPARQL Skill which +# - Jumps into an OEM-owned reliability asset given a set of candidate VINs +# - Feeds the gathered data back into the respective supplier connector/agent +#. to perform a health indication +# Author: cgjung +# (c) 2023-2024 Catena-X association +################################################################ + +PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-vehicle: +PREFIX cx-reliability: +PREFIX cx-behaviour: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: +PREFIX bpnl: + +################################################################ +# Sample for a Federated (Consumer-Deployed) SPARQL Skill which +# - Jumps into an OEM-owned reliability asset given a set of candidate VANs +# - Feeds the gathered data back into the respective supplier connector/agent +#. to perform a health indication +# Author: cgjung +# (c) 2023-2024 Catena-X association +################################################################ + +SELECT ?vehicle ?vin ?aggregate ?assembly ?supplier ?lc ?operatingTime ?mileage ?recordDate ?ls_type ?ls_name ?ls_value ?ls_unit ?ls_method ?ls_channels ?ls_classes ?ls_values ?distanceKm ?timeHours WHERE { + + VALUES (?vin ?aggregate ?ls_type) { + ("@vin"^^xsd:string "Differential Gear"^^xsd:string "GearOil"^^xsd:string) + } + + bpnl:BPNL000000000OEM cx-common:hasConnector ?oemEDC . + ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?reliabilityAssetId ] . + + SERVICE ?oemEDC { + GRAPH ?reliabilityAssetId { + ?vehicle rdf:type cx-vehicle:Vehicle ; + cx-vehicle:vehicleIdentificationNumber ?vin . + + ?assembly rdf:type cx-vehicle:Part ; + cx-vehicle:name ?aggregate ; + cx-vehicle:isPartOf ?vehicle ; + cx-vehicle:supplier ?supplier . + + ?teleAnalysis rdf:type cx-reliability:Analysis ; + cx-reliability:analysedObject ?assembly ; + cx-reliability:operatingHoursOfVehicle ?operatingTime ; + cx-reliability:mileageOfVehicle ?mileage ; + cx-core:startDateTime ?recordDate ; + cx-reliability:result [ + cx-core:id ?ls_type ; + cx-core:name ?ls_name ; + cx-reliability:countingValue ?ls_value ; + cx-reliability:countingUnit ?ls_unit ; + cx-reliability:countingMethod ?ls_method ; + cx-reliability:channels ?ls_channels ; + cx-reliability:classes ?ls_classes ; + cx-reliability:values ?ls_values + ] . + } # OEM#GRAPH + + ?supplier cx-common:hasConnector ?supplierEDC. + ?supplierEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?prognosisAssetId ] . + + SERVICE ?supplierEDC { + GRAPH ?prognosisAssetId { + ?invocation a cx-behaviour:RemainingUsefulLife ; + cx-behaviour:sender bpnl:BPNL00000003AYRE ; + cx-behaviour:senderConnector ?oemEDC ; + cx-behaviour:recipient ?supplier ; + cx-behaviour:recipientConnector ?supplierEDC ; + cx-behaviour:targetDate ?recordDate ; + cx-behaviour:timeStamp ?recordDate ; + cx-behaviour:component "GearBox" ; + cx-behaviour:statusDate ?recordDate ; + cx-behaviour:statusOperatingHours ?operatingTime ; + cx-behaviour:statusMileage ?mileage ; + cx-behaviour:countingValue ?ls_value ; + cx-behaviour:countingUnit ?ls_unit ; + cx-behaviour:countingMethod ?ls_method ; + cx-behaviour:headerChannels ?ls_channels ; + cx-behaviour:bodyClasses ?ls_classes ; + cx-behaviour:bodyCountsList ?ls_values ; + cx-behaviour:remainingOperatingHours ?timeHours ; + cx-behaviour:remainingRunningDistance ?distanceKm . + } # SUPPLIER#GRAPH + } # SUPPLIER#CATALOG + + } # OEM#CATALOG + +} # SELECT +``` + +### DETAILED INFORMATION + +#### SELECT STATEMENT + +The select statement defines, which data should be returned. + +```sparql +SELECT ?vehicle ?vin ?aggregate ?assembly ?supplier ?lc ?operatingTime ?mileage ?recordDate ?ls_type ?ls_name ?ls_value ?ls_unit ?ls_method ?ls_channels ?ls_classes ?ls_values ?distanceKm ?timeHours WHERE { +``` + +#### PARAMETERS + +The parameter `vin` (list of VINs for vehicles of interest) is the only external parameter that is provided by the caller of this skill. `aggregate` is set to `Differential Gear` to identify the component of interest (gearbox). `ls_type` is set to `GearOil`. This is done, because prognosis functions for the given gearbox can provide RuL values for that. + +```sparql + VALUES (?vin ?aggregate ?ls_type) { + ("@vin"^^xsd:string "Differential Gear"^^xsd:string "GearOil"^^xsd:string) + } +``` + +#### ASSET RESOLUTION + +The OEM's business partner number (BPNL) is known. A entity can have only one BPNL, but more than one EDC connectors. Therefore, the connector which provides the reliability asset (usage data asset for reliability related use cases), must be resolved. In addition, the ID of the offered asset is also resolved. + +```sparql + bpnl:BPNL000000000OEM cx-common:hasConnector ?oemEDC . + ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?prognosisAssetId ] . +``` + +#### INVOKE CALCULATION SERVICE AT SUPPLIER + +At the supplier's EDC connector, the graph asset of the RuL calculation service is requested. Doing so, a sub-skill is transferred to the supplier's Knowledge Agent. At the supplier, the RuL calculation service is called implicit due to its service binding to the knowledge graph. The result then is bound to the knowledge graph. + +```sparql + SERVICE ?supplierEDC { + GRAPH ?prognosisAssetId { + ?invocation a cx-behaviour:RemainingUsefulLife ; + cx-behaviour:sender bpnl:BPNL00000003AYRE ; + cx-behaviour:senderConnector ?oemEDC ; + cx-behaviour:recipient ?supplier ; + cx-behaviour:recipientConnector ?supplierEDC ; + cx-behaviour:targetDate ?recordDate ; + cx-behaviour:timeStamp ?recordDate ; + cx-behaviour:component "GearBox" ; + cx-behaviour:statusDate ?recordDate ; + cx-behaviour:statusOperatingHours ?operatingTime ; + cx-behaviour:statusMileage ?mileage ; + cx-behaviour:countingValue ?ls_value ; + cx-behaviour:countingUnit ?ls_unit ; + cx-behaviour:countingMethod ?ls_method ; + cx-behaviour:headerChannels ?ls_channels ; + cx-behaviour:bodyClasses ?ls_classes ; + cx-behaviour:bodyCountsList ?ls_values ; + cx-behaviour:remainingOperatingHours ?timeHours ; + cx-behaviour:remainingRunningDistance ?distanceKm . + } # SUPPLIER#GRAPH + } # SUPPLIER#CATALOG + + } # OEM#CATALOG + +} # SELECT +``` + +## SKILL REGISTRATION AND INVOCATION + +For skill registration and invocation, have a look at the [general Development View](../../../development-view/skill#skill-registration). diff --git a/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/overview.md b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/overview.md new file mode 100644 index 00000000000..6c8c764103e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/behaviour-twin-kit/use-cases/rul/overview.md @@ -0,0 +1,38 @@ +--- +id: overview +title: Remaining useful Life +description: Behaviour Twin KIT +hide_title: true +--- + +
                                    Behaviour Twin KIT -- Remaining useful Life
                                    + +![Behaviour Twin KIT -- Remaining useful Life banner](@site/static/img/kit-icons/behaviour-twin-rul-kit-icon.svg) + +## DISCLAIMER + +:warning: This is only a template use case. It is not to be used as is, but provides great starting building blocks for further implementation of a concrete use case. + +## PURPOSE + +The business logic of the Remaining useful Life use case is to provide and get remaining-useful-life (RuL) values for technical systems. + +This template shows a use case where an external consumer defines a skill, where the schema of the calculation services' input parameters is known to the skill provider (consumer). But the consumer has no knowledge about the actual calculation service provider(s). + +## CONTENTS + +- [Change Log](./changelog) +- [Adoption View](adoption-view/overview) +- [Development View](development-view/overview) + +## NOTICE + +This work is licensed under the [CC-BY-4.0 ![(external link)](../../assets/external-link.svg)](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2022-2024 Allgemeiner Deutscher Automobil-Club e.V. (ADAC) +- SPDX-FileCopyrightText: 2022-2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +- SPDX-FileCopyrightText: 2021-2024 T-Systems International GmbH +- SPDX-FileCopyrightText: 2021-2024 Mercedes-Benz AG +- SPDX-FileCopyrightText: 2022-2024 ZF Friedrichshafen AG +- SPDX-FileCopyrightText: 2022-2024 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/adoption-view/intro.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/adoption-view/intro.md new file mode 100644 index 00000000000..d4004e00e51 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/adoption-view/intro.md @@ -0,0 +1,224 @@ +--- +sidebar_position: 1 +title: Adoption View +--- + + + +![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) + +## Agents KIT + +**Federated queries over the whole data space.** + +## Vision & Mission + +This KIT specifies a semantically-driven and state-of-the-art compute-to-data architecture for (not only) automotive use cases based on the best [GAIA-X](https://gaia-x.eu/), [W3C](https://www.w3.org/2001/sw/wiki/Main_Page) and [Big Data](https://en.wikipedia.org/wiki/Big_data) practices. + +[![Agent-Oriented Dataspace](/img/knowledge-agents/dataspace_agent_small.png)](/img/knowledge-agents/dataspace_agent.png) + +### Specifications & Standards + +This KIT refers to standards for invoking and performing semantic computations (inferences or `skills`) based on normalized and linked data representations (`knowledge graph` described as RDF triples) over the `dataspace`. + +Leveraging existing standards such as [IDS](https://internationaldataspaces.org/), [RDF](https://www.w3.org/2001/sw/wiki/RDF), [SparQL](https://www.w3.org/2001/sw/wiki/SPARQL), [OWL](https://www.w3.org/2001/sw/wiki/OWL), [SHACL](https://www.w3.org/2001/sw/wiki/SHACL) & [EClass](https://eclass.eu/), linked data and corresponding skills may be provisioned, consumed, federated and visualised across the complete dataspace (technically) and hence the complete supply chain (business-wise). + +Skills can be described in tractable sub-languages of well-known declarative syntaxes, such as [SparQL](https://www.w3.org/2001/sw/wiki/SPARQL) (in the future maybe also: [GraphQL](https://en.wikipedia.org/wiki/GraphQL) and [SQL](https://en.wikipedia.org/wiki/SQL)). + +Our specifications have been published as [Catena-X e.V. Standards](https://catena-x.net/de/standard-library): + +* [CX-0084 Federated Queries in Dataspaces (V1.2.0)](https://catena-x.net/de/standard-library/Update_Mai_2024/CX-0084-FederatedQueriesInDataSpaces-v1.2.0.pdf) +* [CX-0067 Ontology Models to Realize Federated Queries in Catena-X (V1.1.0)](https://catena-x.net/de/standard-library/Update_Mai_2024/CX-0067-OntologyModelsinCatenaX-v1.1.0.pdf) + +### Implementations + +This KIT aggregates open-source reference implementations of these standards to Tractus-X in particular extending the [Connector KIT](../../Connector%20Kit/Adoption%20View/connector_kit_adoption_view) + +These components are called [`agents`](https://en.wikipedia.org/wiki/Software_agent)) because they (semi-)actively negotiate and collaborate with each other (via so-called graph and skill assets) over the dataspace in order to derive higher-level semantic knowledge from the plain, isolated data. + +Knowledge agents introduce an ecosystem of efficient services (for data handling, compute, skill orchestration and frontend components) where an optimal matchmaking between those services needs to be reached. + +This KIT also defines bridges to other digital twin approaches, such as AAS (Asset Administration Shell), such that data and service provisioning into multiple use cases will be as effortless as possible. + +Our Implementations can be accessed as [Eclipse Tractus-X Repositories](https://github.com/eclipse-tractusx): + +* [Agent Plane(s) for EDC (KA-EDC)](https://github.com/eclipse-tractusx/knowledge-agents-edc) see also [KA-EDC Operation View](../operation-view/agent_edc) +* [Binding Agent(s) for Providers (KA-RI)](https://github.com/eclipse-tractusx/knowledge-agents) see also [KA-RI Operation View](../operation-view/provider) +* [Agent Bridges for AAS (KA-AAS)](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge) see also [KA-AAS Operation View](../operation-view/bridge) + +### Support + +The team supports use case consumers, app developers, data providers, service providers and IT/domain consultants in order to operate as economically and well-informed as possible by giving them first-class tools, documentation and feedback. For that purpose, please meet us in the [Tractus-X Community](/community/intro). + +## Business Value + +The Agents KIT is the best fit for use case and applications which + +* do not focus on exchanging/analyzing static assets between two peers in the supply chain, but instead require crawling over a whole dynamic branch of the supply tree. +* do not focus on gaining predefined schemas of digital twins, but need to perform complex search and aggregations over both catalog and assets. +* require rapidly changing and extensible logic that should reuse existing assets which have already been built for other use cases. +* need to securely extract & aggregate knowledge from large amounts of assets and/or large assets. + +As a dataspace participant, adopting the Agents KIT will + +* allow you to easily bind your own data and services into the relevant use cases and applications +* give you the means to integrate your company-internal data sources with the dataspace as one big knowledge graph + +The following advantages play an important role. + +### Democratization of added value service design for data spaces + +Currently, the development of full-scale Apps to address use cases for cross-company exchange requires a lot of development effort. By proceeding this way, addressing new business problems or fast prototyping of solution ideas are not straightforward to achieve. Thus, the idea of a fast-growing ecosystems based on data exchange between companies is at risk. KA introduces Skills as a new concept to support query of data spaces with small effort. A new Skill can be developed in few days in comparison to weeks or months for app development. In this context it is aimed that data consumers are able to create skills by themselves based on their very specific business demand. + +[![Architecture Modules and Parties](/img/knowledge-agents/modules_roles_small.png)](/img/knowledge-agents/modules_roles.png) + +In addition, a third party in addition to Consumer and (Data, Function) Provider can be imagined: The Skill provider (see Figure 3). Similar to an App Provider, the Skill Provider develops queries to address various business problems. Developed Skills can be offered as Skill Assets over the dataspace and in the Marketplace, quite similar to the existing Services and Apps. + +It is also possible to combine Skill and App development (by using Skills as stored procedures in the App framework). By following this approach App developers can concentrate on frontend optimization and usability of the app while the skills deliver the business relevant information. + +### Custom Search + +Based on the skill concept, mighty search functionalities can be realized by utilizing the KA approach. SPARQL is already a common standard to browse large data catalogues (e.g. Wikidata). By utilizing this principle, it becomes possible to search for objects which are unknown at the beginning of the search (similar to Google). This advantage is important since comparable twin-based approaches for the semantic layer require a specific ID to find an object. + +### Widespread Standard + +#### Isn't this a proprietary approach? + +The underlying [API](https://en.wikipedia.org/wiki/API), protocols, standards and technologies are first-class citizens of the official [Gaia-X](https://gaia-x.eu/what-is-gaia-x/deliverables/data-spaces/) & [W3C Semantic Web](https://www.w3.org/standards/semanticweb/) portfolio. +These techs have been already adopted globally for a plethora of domains, use cases and derived (Open Source & commercial) projects. +Using these approaches will give you a competitive advantage which is even independent of the concrete dataspace instance/application that you are targeting at. + +### No Redundancy + +#### Is this a replacement to the existing Aspect Meta Model (BAMM/SAMM) & Asset Administration Shell (AAS) approach? + +Agent technology is a complement that means that both approaches can be deployed in co-existance. + +There will be some use cases (large interconnected datasets, ad-hoc querying, inference of derived knowledge) which enfavour the knowledge agents approach, others (simple access to already identified remote twins) will more adequately stay with the BAMM/SAMM & AAS approach. + +For the data providers, it will be easy to mount their artifacts (files, data source partitions, backend interfaces) under both types of assets (submodels, graphs). We provide [bridging technology](../development-view/modules#aas-bridges) for that purpose. + +For the app developers it will be easy to use both [SDK](https://en.wikipedia.org/wiki/Software_development_kit)s over a single consumer connector and even interchange the identifiers/[IRI](https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier)s. + +For the modellers, there is only a loose coupling between a protocol-independent, inference-agnostic data format description, such as BAMM/SAMM, and a protocol-binding, but data-format independent inference/semantic model, such as OWL-R. We expect tools to generate at least the latter from ubiquitous Excel/Tabular specifications. We could also imagine a kind of OWL-R to BAMM/SAMM embedding (but not vice versa) once this is needed by a use case. + +### Data Sovereignity & Enhanced Security + +One of the key requirements for dataspaces is to guarantee that data is only shared willingly and subject to specific terms and conditions of respective data providers. One core component to support definition and negotiation of contracts and policies is the Eclipse Dataspace Connector (EDC). Nevertheless, the way how data is processed via a semantic layer also contributes to data sovereignty. KA follows a strict compute to data approach. Thus, by design only computation results are shared instead of copying all data relevant for this computation (e.g. submit only weight information instead of geometry and material information). Furthermore, by utilizing data models based on ontologies definition of access rights can be made up to a high level of granularity (attribute level). + +#### Isn't it inherently insecure to let arbitrary Dataspace tenants invoke ad-hoc computations in my backend? + +First, these are not arbitrary tenants, but access is only given to business partners with whom you have signed contracts (and who appear in certain roles there). +A Skill request from a non-authorized chain of computation would not be able to enter your backend at all. + +Furthermore, you would not expose your backend directly, but rather introduce a [virtualization layer](../development-view/architecture) between the Agent and your data source. This introduces another (role-based) security domain by appropriate sub-schemas and filters. So different contracts can be mapped to different security principals/data views in the backend. + +This KIT does not introduce arbitrary (turing-equivalent, hence undecidable) ad-hoc computations, but the [SPARQL](../development-view/sparql) standard introduces a well-defined set of operations whose effects and consequences can be checked and validated in advance (hypervision). + +Finally, the team is investigating a form of differential privacy which introduces noise between your data source and its graph representation such that original values can be effectively hidden from the reporting output. + +### Easy Deployment + +#### Doesn't this impose additional burdens to the dataspace participants? + +For data consumers, there is virtually nothing to do. All they have to care for is to add an Agent-Enabled data plane to their connector (or even use our Agent Plane as a fully-blown replacement for the Http/AmazonS3 standard of Tractus-X). + +For smaller data and skill providers, there will be the possibility to host non-critical data directly through the storage facilities of the Agent Plane. + +For all others, they will employ techniques for data virtualization anyway to scale and shield their critical data. That is where the binding agents as one additional container/layer that is declaratively described (not: programmatically) come into play. + +### Great Scalability + +Utilization of dataspaces for exchanging complex product- or production data usually involves transfer of large datasets. If for example an automotive OEM wants to access information of their car fleets ranging from hundreds to millions of cars, the dataspace still needs to provide required data in short time without risking too much load on the network. Thus, the outlined approach is based on efficient federated SPARQL queries which only transport computation results across the network in contrast to full datasets (compute to data). Further potentials for streamlining performance are for example parallelized EDC contract negotiations and efficient delegations between suppliers. + +#### How could such a scheme be efficient at all + +Our technology has been thoroughly developed, tested and piloted over the years 2022 and 2023. One key component is the ability of any Agent to delegate +a part of its work to other Business Partners/Agents and hence to bring the computations close to the actual data. This delegation pattern has several very nice properties: + +* Delegation is dynamic based on the supply chain(s) that are described in the actual data. So the actual computation chain optimizes with the data. +* Delegation is parallelized in the sense that several suppliers are requested simultaneously. Latency is hence minimized. +* Delegation may be opaque from the consumer view if contracts require so. + +## Use Cases + +[![Dataspace Roles](/img/knowledge-agents/dataspace_roles_small.png)](/img/knowledge-agents/dataspace_roles.png) + +The Agents KIT is the basis for other, use-case specific Agent-enabled KITs, services and applications, such as the [Behaviour Twin KIT](../../behaviour-twin-kit/overview). + +It distinguishes between Dataspace Participants and other parties (who support the Dataspace Participants). + +### Dataspace Participants + +The following stakeholders should [deploy](../operation-view/deployment) modules/artifacts of the Agents Kit. +In particular, each Dataspace Participant needs an [Agent-Enabled Connector](../operation-view/agent_edc). + +#### Consumer + +Any party who wants to use data and logic using Agent Technology (for example by employing Agent-Enabled Applications or Services), such as a Recycling Company or a Fleet Manager + +#### Provider + +The Agents KIT distinguish Providers whether they want to publish data or logic using Agent Technology + +##### Data Provider + +Any party who provides data (for example by a backend database or other Agent-enabled Applications or Services), for example an Automotive OEM (original equipment manufacturer) + +##### Function Provider + +Any party who provides proprietary functions (for example by a [REST](https://en.wikipedia.org/wiki/Representational_state_transfer) endpoint or other Agent-enabled Applications or Services), for example a Tier1 Sensor Device Supplier + +##### Skill (=Compute) Provider + +Any party who provides compute resources and/or procedural logic (for example by a server or other Agent-enabled Applications or Services), for example a Recycling Software Specialist + +##### Core Service Provider + +Any party offering ontology models (semantic/ontology hub) or federated catalogues, for example an Operating Company + +### Additional Stakeholders + +The following stakeholders should [interface or implement](../development-view/architecture) modules of the Agents Kit. + +#### Business Developer + +Any party who publishes an Application, Standard or KIT based on Agent Technology on behalf of a Dataspace Participant (e.g. a Fleet Monitor, an Incident Reporting Solution, a Telematics KIT) + +#### Enablement Service Developer + +Any party who offers ready-made artifacts, packages and managed services assisting Dataspace Participants/Applications to process data using Agent technology (e.g. a Graph Database, a Virtual Graph Binding Engine, an EDC Package) + +## NOTICE + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +* SPDX-License-Identifier: CC-BY-4.0 +* SPDX-FileCopyrightText: 2021,2024 T-Systems International GmbH +* SPDX-FileCopyrightText: 2021,2023 Mercedes-Benz AG +* SPDX-FileCopyrightText: 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +* SPDX-FileCopyrightText: 2021,2023 ZF Friedrichshafen AG +* SPDX-FileCopyrightText: 2021,2023 SAP SE +* SPDX-FileCopyrightText: 2022,2023 Contributors to the Eclipse Foundation diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/Arc42.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/Arc42.md similarity index 98% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/Arc42.md rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/Arc42.md index d075e56956e..e9518d2754e 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/Arc42.md +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/Arc42.md @@ -26,16 +26,17 @@ title: Detailed Architecture * SPDX-License-Identifier: CC-BY-4.0 --> -### Agents KIT +## Agents KIT ![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) -This document describes the detailed Architecture of the (Knowledge) Agents KIT (=Keep It Together) based on ARC42 recommendations. +**Arc42 for federated queries over the whole data space.** For more information see * Our [Adoption](../adoption-view/intro) guideline * The [High-Level](architecture) architecture +* The [Ontology](modelling) modelling guide * An [API](api) specification * The [Layers & Modules](modules) Architecture * Our [Reference Implementation](reference) @@ -167,4 +168,4 @@ Just as the Federated Datacatalog is a multi-instance-synchronised component, al See chapter [Deployment](../operation-view/deployment). -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api.md similarity index 97% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api.md rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api.md index e22e763391d..404bc859221 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api.md +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api.md @@ -262,6 +262,10 @@ SERVICE ?oemConnector { } ORDER BY ?remainingDistance LIMIT 5' ``` +### Return a Skill + +see the [SKILL GET](api/agent/skill/getSkill) method specification + ### Invoke an Ad-hoc Query see the [AGENT POST](api/agent/postAgent) method specification @@ -287,4 +291,12 @@ SELECT ?partType ?description WHERE { } ``` +### Upload Graph Data (Only Matchmaking Agent Standalone) + +see the [GRAPH POST](api/graph/postGraph) method specification + +### Delete Graph Data (Only Matchmaking Agent Standalone) + +see the [GRAPH DELETE](api/graph/deleteGraph) method specification + (C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/get.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/get.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/get.mdx rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/get.mdx diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/post.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/post.mdx similarity index 100% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/api/agent/post.mdx rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/post.mdx diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/get.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/get.mdx new file mode 100644 index 00000000000..6bc7e0b0338 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/get.mdx @@ -0,0 +1,80 @@ +--- +id: getSkill +title: Returns a Skill +slug: skill-get +--- + +``` +GET /agent/skill +``` + +** Returns a Skill: ** + +## Parameters + +| name | in | type | required | description | +| ----------- | ----- | ------ | -------- | --------------------------------- | +| asset | query | string | true | The Asset Id of the Skill | | + +## Code Snippets + +```shell title="Shell + Curl" +curl --request GET \ + --url 'https://knowledge.dev.demo.catena-x.net/consumer-edc-data/BPNL00000003CQI9/api/agent/skill?asset=SkillAsset%3Fconsumer%3DDataspace' +``` + +## Responses + +### 200 + +The Skill could be found + +| Headers | | +| ------------ | ------------------------------- | +| content-type | application/sparql-query | + +**Example `response` for `application/sparql-query`** + +```sparql +SELECT DISTINCT ?luogo ?indirizzo ?comune WHERE { + ?x a cis:CulturalInstituteOrSite ; + cis:institutionalCISName ?luogo ; + cis:hasSite ?site . + ?site cis:siteAddress ?address . + ?address clvapit:fullAddress ?indirizzo ; + clvapit:hasCity [rdfs:label ?comune] . + FILTER regex(str(?comune), "Vinci", "i") +} ORDER BY ?luogo LIMIT 100 +``` + +### 400 + +the Skill Could not be found. + +### 500 + +Fatal error + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/post.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/post.mdx new file mode 100644 index 00000000000..24dd76f2df7 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/agent/skill/post.mdx @@ -0,0 +1,123 @@ +--- +id: postSkill +title: Register a Skill +slug: agent-skill-post +--- + +``` +POST /agent/skill +``` + +**Register a Skill: ** + +## Parameters + +| name | in | type | required | description | +| ------------------- | ----- | ------- | -------- | ------------------------------------------------------------------------------ | +| asset | query | string | true | The Asset Id of the Skill | +| assetName | query | string | false | The Asset Name of the Skill | +| assetDescription | query | string | false | The Asset Description of the Skill | +| assetVersion | query | string | false | The Asset Version of the Skill | +| distributionMode | query | string | false | The distribution mode under which to publish the skill | +| contract | query | string | false | The contract under which the skill should be published | +| isFederated | query | boolean | false | Whether the skill should be visible in the Federated Catalogue | +| ontology | query | string | false | Multiple references to ontologies which are referenced in the skill | +| allowServicePattern | query | string | false | A regex indicating which external SERVICE Iris are allowed during execution. | +| denyServicePattern | query | string | false | A regex indicating which external SERVICE Iris are forbidden during execution. | + +## Request Body + +| Headers | | +| ------------ | ------------------------ | +| content-type | application/sparql-query | + +```sparql title="Example request" +SELECT DISTINCT ?luogo ?indirizzo ?comune WHERE { + ?x a cis:CulturalInstituteOrSite ; + cis:institutionalCISName ?luogo ; + cis:hasSite ?site . + ?site cis:siteAddress ?address . + ?address clvapit:fullAddress ?indirizzo ; + clvapit:hasCity [rdfs:label ?comune] . + FILTER regex(str(?comune), "Vinci", "i") +} ORDER BY ?luogo LIMIT 100 +``` + +## Code Snippets + +```shell title="Shell + Curl" +curl --request POST \ + --url 'https://knowledge.dev.demo.catena-x.net/consumer-edc-data/BPNL00000003CQI9/api/agent/skill?asset=SkillAsset%3Fconsumer%3DDataspace&assetName=Sample%20Skill&assetVersion=1.0.5&assetDescription=Performs%20some%20sample%20operations.&distributionMode=ALL&contract=Contract%3Fconsumer%3DSkill&isFederated=true&allowedServicePattern=edcs%3F%3A%2F%2F.*' \ + --header 'content-type: application/sparql-query' \ + --data 'PREFIX cx-common: +PREFIX rdf: +PREFIX rdfs: +PREFIX sh: + +SELECT ?connector ?asset + ?name + (MIN(?adescription) AS ?description) + ?type + (MAX(?aversion) AS ?version) + (GROUP_CONCAT(DISTINCT ?acontentType;SEPARATOR=",") AS ?contentType) + ?protocol + (CONCAT("<",GROUP_CONCAT(?aontology;SEPARATOR=">,<"),">") AS ?isDefinedBy) + (MIN(?ashape) AS ?shape) + WHERE { + ?connector cx-common:offers ?asset. + ?asset cx-common:contentType ?acontentType; + cx-common:name ?name; + rdf:type ?type; + rdfs:isDefinedBy ?aontology; + cx-common:version ?aversion; + cx-common:description ?adescription; + cx-common:implementsProtocol ?protocol. + + OPTIONAL { + ?asset sh:shapesGraph ?ashape + } +} GROUP BY ?connector ?asset ?name ?type ?protocol +' +``` + +## Responses + +### 200 + +Skill has been registered + +### 204 + +Skill has been updated + +### 400 + +Bad request or malformed SPARQL + +### 500 + +Fatal error + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/delete.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/delete.mdx new file mode 100644 index 00000000000..acfde19e24a --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/delete.mdx @@ -0,0 +1,62 @@ +--- +id: deleteGraph +title: Deletes a Graph (Asset) +slug: graph-delete +--- + +``` +DELETE /graph +``` + +** Deletes a Graph (Asset): ** + +## Parameters + +| name | in | type | required | description | +| ----------- | ----- | ------ | -------- | --------------------------------- | +| asset | query | string | true | The Asset Id of the Graph | | + +## Code Snippets + +```shell title="Shell + Curl" +curl --request DELETE \ + --url 'https://knowledge.dev.demo.catena-x.net/consumer-matchmaking/api/graph?asset=GraphAsset%3Fprovider%3DTraceability' +``` + +## Responses + +### 200 + +The Graph could be deleted. + +### 400 + +The Graph could not be found. + +### 500 + +Fatal error + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/post.mdx b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/post.mdx new file mode 100644 index 00000000000..0fbdfabd881 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/api/graph/post.mdx @@ -0,0 +1,122 @@ +--- +id: postGraph +title: Upload a Graph (Asset) +slug: graph-post +--- + +``` +POST /graph +``` + +**Upload a Graph (Asset): ** + +## Parameters + +| name | in | type | required | description | +| ------------------- | ----- | ------- | -------- | ---------------------------------------------------------------------------------------- | +| asset | query | string | true | The Asset Id of the Graph | +| assetName | query | string | false | The Asset Name of the Graph | +| assetDescription | query | string | false | The Asset Description of the Graph | +| assetVersion | query | string | false | The Asset Version of the Graph | +| contract | query | string | false | The contract under which the graph should be published | +| isFederated | query | boolean | false | Whether the graph should be visible in the Federated Catalogue | +| ontology | query | string | false | Multiple references to ontologies which are referenced in the graph | +| allowServicePattern | query | string | false | A regex indicating which external SERVICE Iris are allowed when traversing this graph. | +| denyServicePattern | query | string | false | A regex indicating which external SERVICE Iris are forbidden when traversing this graph.| +| shape | query | string | false | The shape of the asset if it is known. | + +## Request Body + +| Headers | | +| ------------ | ------------------------ | +| content-type | text/turtle | + +```ttl title="Example graph in ttl syntax" +################################################################# +# Graph Asset in TTL/RDF/OWL FORMAT +# See copyright notice in the top folder +# See authors file in the top folder +# See license file in the top folder +################################################################# + +@prefix : . +@prefix cx-core: . +@prefix cx-common: . +@prefix cx-supply: . +@prefix cx-mat: . +@prefix bpnl: . +@prefix bpns: . +@prefix bpna: . +@prefix bpnl: . +@prefix rdf: . +@prefix xsd: . +@prefix skos: . +@prefix dc: . + +:Chain1 rdf:type cx-supply:SupplyRelationship; + cx-supply:material cx-mat:Rubber; + cx-supply:consumer bpna:BPNL00000003COJN; + cx-supply:supplier bpns:BPNL00000003CPIY. +``` + +| Headers | | +| ------------ | ------------------------ | +| content-type | text/csv | + +```csv title="Example graph in csv syntax" +IRI,http://www.w3.org/1999/02/22-rdf-syntax-ns#type,https://w3id.org/catenax/ontology/supply-chain#material,https://w3id.org/catenax/ontology/supply-chain#consumer,https://w3id.org/catenax/ontology/supply-chain#supplier +:Chain1,,,, +``` + +## Code Snippets + +```shell title="Shell + Curl" +curl --request POST \ + --url 'https://knowledge.dev.demo.catena-x.net/consumer-matchmaking/api/graph?asset=GraphAsset%3Fprovider%3DTraceability&assetName=Sample%20Graph&assetVersion=3.0.2&assetDescription=Uploads%20some%20sample%20data.&contract=Contract%3Fprovider%3DGraph&isFederated=true&deniedServicePattern=https%3F%3A%2F%2F.*' \ + --header 'content-type: text/csv' \ + --data ' IRI,http://www.w3.org/1999/02/22-rdf-syntax-ns#type,https://w3id.org/catenax/ontology/supply-chain#material,https://w3id.org/catenax/ontology/supply-chain#consumer,https://w3id.org/catenax/ontology/supply-chain#supplier +:Chain1,,,, +' +``` + +## Responses + +### 200 + +Graph has been uploaded and published. + +### 204 + +Graph has been uploaded and description updated. + +### 400 + +Bad request or malformed TTL/CSV + +### 500 + +Fatal error + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/architecture.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/architecture.md new file mode 100644 index 00000000000..2840a5d14b3 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/architecture.md @@ -0,0 +1,129 @@ +--- +sidebar_position: 1 +title: High-Level Architecture +--- + + +![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) + +## Agents KIT + +**Architecture for federated queries over the whole data space.** + +For more information see + +* Our [Adoption](../adoption-view/intro) guideline +* The [ARC42](Arc42) documentation +* An [API](api) specification +* The [Ontology](modelling) modelling guide +* The [Layers & Modules](modules) Architecture +* Our [Reference Implementation](reference) +* The [Deployment](../operation-view/deployment) guide + +## Compute-To-Data + +This KIT describes a semantically-driven and state-of-the-art compute-to-data architecture for automotive use cases (and beyond), the so-called Knowledge Agents (KA) approach. + +It builds on well-established standards and best practices around [GAIA-X](https://gaia-x.eu), [W3C](https://www.w3.org/) and [Big Data](https://en.wikipedia.org/wiki/Big_data) in order to empower powerful queries to the data space (Skills). Those Skills can be used to answer business questions directly (comparable to a search engine) or they can be embedded in apps to include query results (Knowledge) into workflows with more advanced visualization etc. + +To reach this aim, full semantic integration, search and query with focus on relations between entities and data sovereignty is focused. In contrast to a simple file-based data transfer, this shifts the responsibility for the + +1. access, +2. authorization to the data and +3. processing of the data + +from the application development to the provider and hence ultimately, the actual owner of the data. + +[![Architecture Interaction](/img/knowledge-agents/architecture_small.png)](/img/knowledge-agents/architecture.png) + +### App + +The App in the figure serves the consumer by gathering, analyzing, and presenting the knowledge about business questions such as: How much of a certain material can be found in a specific vehicle series? It is assumed that the data which is needed to answer such questions is distributed over the network and cannot be found at one central place. + +### Skill + +To help collecting the data over the network, Skills are introduced. A Skill is a pre-formulated query (or: procedure) with limited scope such as: List all vehicle series that contain ``material`` produced in ``location``. The Skill is used to access all federated data instances via the tenant (=authentication and authorization scope) of the caller. + +A skill receives input in the form of a data set (we use a JSON notation in the following example): + +```csharp +[{"material":{"type":"literal","value":“Rubber”},"location":{"type":"literal","value":“Phuket”}}] +``` + +which drives the control flow, the filtering and aggregating of the information, and finally producing an output data set, for example: + +```csharp +[ + {"series":{"type":"uri","value":"OEM#4711"},"oem":{"type":"uri","value":"OEM"},"weightKg":{"type":"literal","datatype":"http://www.w3.org/2001/XMLSchema#float",”3.2”}}, + {"series":{"type":"uri","value":"EMO:0815"},"oem":{"type":"uri","value":"EMO"},"weightKg":{"type":"literal","datatype":"http://www.w3.org/2001/XMLSchema#float",”1.4”}} +] +``` + +### Semantic Model + +In order to obtain the correct results in a federated system, all the participants of the skill execution need to have common understanding (Semantic Model, in KA this is mechanized by a Federated Catalogue based on the Web Ontology Language OWL) over the vocabulary (Data Model, in KA this is represented generically by sets, i.e., graphs of Resource Description Framework RDF triples). A guideline for how this vocabulary should be formulated can be found [here](modelling). + +Relying on these conventions, a Skill executor can calculate which Providers are able to contribute or yield the necessary information in which sequence such that the resulting distributed operation will be performant. + +### Matchmaking Agent + +This coordinating job is taken over by the Matchmaking Agent, an endpoint that is mandatory for any KA-enabled Dataspace Participant. For that purpose, the Matchmaking Agent supports the [SPARQL](https://en.wikipedia.org/wiki/SPARQL) specification with the effect that the dataspace can be traversed as one large data structure. Hereby, the Consumer-Side Matchmaking Agent will – as driven by the builtin federation features of SPARQL - interact with the KA-enabled EDC in order to negotiate and perform the transfer of Sub-Skills (=SPARQL Contexts) to other Dataspace Participants. See the [Knowledge Agents SPARQL API](api) for detailed information. + +In turn, upon successful transfer of the Sub-Skill, the Provider-Side Matchmaking Agent(s) will be activated by their respective EDC. The precondition for this activation is that the Provider EDC first needs to offer a so-called Graph Asset. + +### Graph Assets + +are a variant of ordinary Data Assets in the Catena-X EDC Standard; while Data Assets typically refer to an actual backend system (e.g., an Blob in an Object Store, an AAS server, a REST endpoint), Graph Assets introduce another intermediary instance, the so-called Binding Agent. + +### Binding Agent + +Simply put, the **Binding Agent** is a restricted version of the Matchmaking Agent (which speaks a profile, i.e., a subset of SPARQL specification, see the ANNEX) which is just focused on translating Sub-Skills of a particular business domain (Bill-Of-Material, Chemical Materials, Production Sites, etc.) into proper SQL- or REST based backend system calls. This scheme has several advantages: + +* For different types of backend systems, business domains and usage scenarios, different Binding Agent implementations (Caching Graph Store, SQL Binding Engine, REST Binding Engine) can be switched-in without affecting both the shared dataspace/semantic model and the mostly immutable backend systems/data models as well. +* Access to the backend systems can be optimized by JIT compilation technology. +* The same backend system/data model can be used in various Graph Assets/Use Cases and different roles and policies. +* Access to the backend system is decoupled by another layer of security, such that additional types of policies (role-based row-level and attribute-level access) can be implemented in the interplay of Matchmaking and Binding Agents. +* There is a clear distinction between advanced graph operations (including type inference and transitive/recursive traversal also via EDC) on the Matchmaking Level and efficient, but more restricted and secure graph operations on the Binding/Data Level. + +### Federated Catalogue + +As mentioned earlier, essential for the realization of the idea is the creation, governance and discoverability of a well-defined semantic catalogue, which forms together with the data a Federated Knowledge Graph. In this context, the definition of a Knowledge Graph (KG) as "a multi relational graph composed of entities and relations which are regarded as nodes and different types of edges, respectively" is extended with aspect of federation. This KIT defines a Federated KG as a KG where entities and relations reside physically distributed over multiple systems connected through a network and a common query language. This KIT defines semantic metadata as structural information to scope the entities and relations of the KG based on ontological principles. This is the agreement, necessary for the successful interplay of the distributed parties within the data space. + +## Abilities + +To summarize, the Knowledge Agent standard shall achieve the following abilities: + +* the ability to define well-formed and composable computations/scripts (skills) which operate over various assets of various business partners. +* the ability to invoke and dynamically distribute these (sub-)skills over the relevant partners/connectors using an extensible agent interface. +* the ability to safely provide data and service assets via appropriate agent implementations which "bind" the skill to the backend execution engines (rather than mapping data). +* the ability for an agent/connector/business partner to decide + * whether to hide particular data and computations inside a sub-skill + * whether to delegate/federate particular computations/sub-skills to other agents + * whether to migrate or clone an agent/asset from a partner +* the ability to describe data and service assets as well as appropriate federation policies in the IDS vocabulary in order to allow for a dynamic matchmaking of skills and agents. +* the ability to define domain/use case-based ontologies which form the vocabulary used in the skill definitions. +* the ability to visualize and develop the ontologies and skills in appropriate SDKs and User Experience components. + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modelling.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modelling.md new file mode 100644 index 00000000000..cd14f3a984b --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modelling.md @@ -0,0 +1,714 @@ +--- +sidebar_position: 1 +title: Ontology Modelling +--- + + +![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) + +## Agents KIT + +**Ontology models for federated queries over the whole data space.** + +For more information see + +* Our [Adoption](../adoption-view/intro) guideline +* The [High-Level Architecture](architecture) +* The [ARC42](Arc42) documentation +* An [API](api) specification +* The [Layers & Modules](modules) Architecture +* Our [Reference Implementation](reference) +* The [Deployment](../operation-view/deployment) guide + +## Introduction & Standards + +This document gives fundamental guidelines to create ontology models for being used in Catena-X (see Catena-X standard CX-0067). It provides the semantic basis for the so called Knowledge Agent Approach that utilizes semantic web technologies for federated queries in data spaces (see Catena-X standard CX-0084). + +* [CX-0084 Federated Queries in Dataspaces (V1.2.0)](https://catena-x.net/de/standard-library/Update_Mai_2024/CX-0084-FederatedQueriesInDataSpaces-v1.2.0.pdf) +* [CX-0067 Ontology Models to Realize Federated Queries in Catena-X (V1.1.0)](https://catena-x.net/de/standard-library/Update_Mai_2024/CX-0067-OntologyModelsinCatenaX-v1.1.0.pdf) + +## Semantics & Ontology + +Semantics is the art and science of understanding what data means. In the context of Catena-X this topic has a significant importance in the sense that data provider and consumer need to have the same understanding what data needs to be shared (see also [FAIR data](https://en.wikipedia.org/wiki/FAIR_data)). + +In the knowledge agent approach, ontologies are used to describe the semantics of data. Ontologies are similar to data models or data schemas in which the semantics and structure of data are described. In addition, ontologies provide a high degree of semantic expressiveness, e.g. by supporting inference on data like "p-123" is_a part & part is_a physical object => "p-123" is_a physical object. Such inference enables strong typing of data. This way a machine, an hence the dataspace participants, can understand the meaning of the vocabulary 'part', that it is a physical object and not a document part or a design model part. + +It could be that similar vocabularies are used for different things in the business partners sovereign data models. Hence the formal semantics of ontologies prevents such misunderstandings in data caused by synonymity or homonymity, etc. and lead to better collaboration and interoperability among data space participants. + +On the other hand, the ontology-based approach represents the underlying data in assets as a generlized graph structure. This allows flexible querying of typed and linked data - no matter of its physical storage and retrieval. In applying the ontology-based data modelling in Catena-X, the following fundamentals should be achieved: + +* Maximise Semantics +* Reduce Complexity +* Minimise Redundancy + +### Accessing Catena-X Ontology and Taxonomy + +* All ontology and taxonomy descriptions are licensed under the Apache License. +* They can be browsed under their common namespace [https://w3id.org/catenax](https://w3id.org/catenax) +* The current Catena-X Ontology can be found under the namespace [https://w3id.org/catenax/ontology](https://w3id.org/catenax/ontology) +* The current Catena-X Taxonomy can be found under the namespace [https://w3id.org/catenax/taxonomy](https://w3id.org/catenax/taxonomy) +* Older versions of ontologies and taxonomies can also be referenced: + * [https://w3id.org/catenax/v24.03/ontology](https://w3id.org/catenax/v24.03/ontology) + * [https://w3id.org/catenax/v24.03/taxonomy](https://w3id.org/catenax/v24.03/taxonomy) + * [https://w3id.org/catenax/v23.09/ontology](https://w3id.org/catenax/v23.09/ontology) + * [https://w3id.org/catenax/v23.09/taxonomy](https://w3id.org/catenax/v23.09/taxonomy) +* Upcoming versions of ontologies and taxonomies can also be referenced: + * [https://w3id.org/catenax/next/ontology](https://w3id.org/catenax/next/ontology) + * [https://w3id.org/catenax/next/taxonomy](https://w3id.org/catenax/next/taxonomy) + +## Concept + +The concept of ontology-based data modelling of the knowledge agent approach is based on the following building blocks: + +* [OWL 2 QL Profile](https://www.w3.org/TR/owl2-profiles/#OWL_2_QL) for modelling ontologies, +* [OWL 2 RL Profile](https://www.w3.org/TR/owl2-profiles/#OWL_2_QL) for modelling common dataspace assets, +* [SKOS](https://www.w3.org/2004/02/skos/) for vocabularies, +* [RML](https://rml.io/specs/rml/) & [R2RML](https://www.w3.org/TR/2012/REC-r2rml-20120927/) for mapping data source model to asset model to provide data in an asset, +* [SHACL](https://www.w3.org/TR/shacl/) for data quality check and for describing which data is available in the asset and in which form, +* [RDF](https://www.w3.org/TR/rdf12-concepts/) for description and exchange of graph data, +* [Turtle](https://www.w3.org/TR/turtle/) for persisting, +* [SPARQL](https://www.w3.org/TR/sparql11-query/) profiles for transferring logic and querying catalogues, data and functions. + +In the Knowledge Agent approach, the data is modelled with the Semantic Web Ontology language [OWL](https://www.w3.org/TR/2012/REC-owl2-primer-20121211/). This enables object-oriented modelling of domains with classes, attributes and relationships. Object-oriented modelling allows the modelling of a domain from general to specific by creating subclasses. The first step is to define the main classes that describe the domain. In the case of Catena-X, five main classes were defined. + +* Activity: This class comprises actions that are intentionally performed by instances of the actor over the course of the product life cycle and result in state changes in physical and conceptual objects. +* Actor: This class comprises organization, device or people, either individually or in groups, who have the potential to perform intentional actions of kinds for which someone may be held responsible. +* Physical object: This class includes objects of a material nature, which are documentation units and have physical boundaries. +* Conceptual object: This class includes non-material products, human-produced data related to physical objects. The production of such information may have been supported by the use of technical tools. +* Place: The class Place is determined by reference to the position of objects such as buildings, cities, or special geographic markers. + +[![Modelling Concept](/img/knowledge-agents/modelling_concept.jpg)](/img/knowledge-agents/modelling_concept.jpg) + +## Activity-centred Modelling + +A well-known approach is the activity-centered or event-based modelling. The [CIDOC CRM](https://www.cidoc-crm.org/) ontology provides this idea and the main classes based on this concept. In this approach the classes actor, place, physical object and conceptual object are connected through activities. Instead of assigning all information to the physical object. This distributed representation has several advantages: + +* The life cycles of products and documents are represented separately and clearly. +* The activities have a start and end date so that the data can be queried chronologically. +* The data can be viewed and queried from different perspectives. + * Identifies all actors (e.g. companies) involved in an activity (e.g. manufacturing). + * Identifies all activities performed on a physical object (vehicle). + * Finds all activities that have been performed at a place. + * Searches for all physical objects (e.g. material) used in an activity (e.g. manufacturing). + * Search for conceptual objects related to a physical object in an activity. + +[![Activity-Centered Model](/img/knowledge-agents/modelling_activity.jpg)](/img/knowledge-agents/modelling_activity.jpg) + +## Core and Domain Ontologies + +The concept described above is the basic modelling pattern in Knowledge Agent. It is called the [core ontology](https://w3id.org/catenax/ontology/core). Based on this ontology, specific domain ontologies can be modelled. A domain ontology can be created based on subclasses (e.g. Manufacturing is SubClassOf Activity), subrelations (e.g. has Manufacturer is SubPropertyOf has Participant) and subattributes. The domain ontology has the same structure as the core ontology, but can be extended to include additional classes. The Knowledge Agent approach uses OWL 2 QL for modelling. This is a subset of OWL 2 Full. The reason for this is that it includes most of the main features of conceptual models such as UML class diagrams and ER diagrams. It also provides polynomial time inference for large data sets. + +Benefits of the basic modelling pattern: + +* Easy for domain experts to understand and create new domain ontologies. +* Data is represented in datasets using the same pattern. +* Data can be queried with general queries such as 'Get All Actors' or specific queries such as 'Get Manufacturer'. + +[![Modelling Domains](/img/knowledge-agents/modelling_domain.jpg)](/img/knowledge-agents/modelling_domain.jpg) + +* The current (merged) Catena-X Ontology can be found under the namespace [https://w3id.org/catenax/ontology](https://w3id.org/catenax/ontology) +* The current Catena-X Core Ontology can be found under the namespace [https://w3id.org/catenax/ontology/core](https://w3id.org/catenax/ontology/core) +* The current Catena-X Common Ontology (caring about dataspace entities and catalogues) can be found under the namespace [https://w3id.org/catenax/ontology/common](https://w3id.org/catenax/ontology/common) +* For more domain ontologies, see the complete namespace [https://w3id.org/catenax](https://w3id.org/catenax) + +## Data Serialization as a Graph + +In the ontology-based approach, the data is serialised in graph structure using the Resource Description Framework (see [RDF](https://www.w3.org/TR/rdf12-concepts/)). Each node, also called a resource, is uniquely identified by a [URI](https://www.w3.org/wiki/URI). The edges are called property in RDF Graph because each relation forms a [subject-predicate-object triple](https://www.w3.org/wiki/SubjectPredicateObject). The nodes can be linked to other nodes (so-called object property). The relations used are from the Domain Ontology. At the same time, nodes can be linked to literals (so-called datatype property). With the property rdf:type, the nodes can be instantiated with domain classes. + +[![Data as a Graph](/img/knowledge-agents/modelling_data.jpg)](/img/knowledge-agents/modelling_data.jpg) + +The RDF graphs are stored in [RDF databases](https://www.w3.org/wiki/LargeTripleStores) (so-called triple store) and can be serialised in various formats such as xml, json, ttl, etc. Different data sources such as relational databases, XML, JSON and CSV files can be mapped to RDF graphs using standardised languages such as RML and R2RML. Based on the mapping, the data can be transformed or virtualised. Virtualisation allows the data to be processed as RDF graphs without transforming it and storing it in a different location. + +Serialization of data based on Turtle syntax: + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix exp: . + +# Vehicle Ontology +cx-vehicle:Vehicle rdf:type owl:Class ; + rdfs:subClassOf cx-core:PhysicalObject. + +cx-vehicle:vehicleIdentificationNumber rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf cx-core:id ; + rdfs:domain cx-vehicle:Vehicle ; + rdfs:range xsd:string . + +# Sample instance +exp:vehicle_1 rdf:type cx-vehicle:Vehicle, cx-core:PhysicalObject; + cx-core:name "Goggomobile" + cx-core:id "ABCDEFG1HI2J34567". + cx-vehicle:vehicleIdentificationNumber "ABCDEFG1HI2J34567". + +``` + +## Digital Twin and Ontologies + +A digital twin is a digital object in a defined digital platform, such as the Web, data spaces, etc., that represents a real-world object and is identifiable and discoverable based on a defined unique identification. In the knowledge agent approach, a digital twin is an existing instance of a class of a domain ontology. The domain ontologies describe what kind of real-world objects it represents. With the cx-core:id all instances are identifiable in the Catena-X data space. A shape graph for the data provider's asset describes which digital twins are published in its asset. This makes the digital twins discoverable. + +Although using a different representation and API, this concept is similar to the one of an "Asset" in the "Asset Administration Shell" approach. Therefore, it is possible to [bridge](../development-view/modules#aas-bridges) these technolgies in both ways. + +## Taxonomy + +A taxonomy is a collection of terms and their meaning. The terms are structured in a hierarchical form, whereby the relationships become broader and narrower. Taxonomies can be seen as a dictionary that ensures the correct use of terms. Ontologies use the terms to describe a domain. Domain ontologies can grow very quickly and become confusing. Therefore, it is not recommended to define classes for all types of a domain in an ontology. Instead of defining new subclasses, the instances can be typed using terms from the taxonomy. For this purpose, a Catena-X taxonomy is created with SKOS, which can be extended based on the classes of the core ontology. For example, the class Vehicle in the Vehicle Ontology describes vehicles. A small car is a special type of vehicle for which there it is not necessary to create a separate class. Instead, the term can be included in the taxonomy and the instances can be specified from there. + +```ttl + +@prefix dct: . +@prefix rdf: . +@prefix rdfs: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-taxo: . + +# Catena-X Taxonomy +cx-taxo:Thing a skos:Concept; + skos:prefLabel "Thing"@en . + + cx-taxo:PhysicalObject a skos:Concept ; + skos:broader cx-taxo:Thing ; + skos:narrower cx-taxo:PhysicalObject ; + skos:prefLabel "Physical Object"@en . + + cx-taxo:Vehicle a skos:Concept ; + skos:broader cx-taxo:PhysicalObject ; + skos:narrower cx-taxo:SmallCar ; + skos:prefLabel "Vehicle"@en . + + cx-taxo:SmallCar a skos:Concept ; + skos:broader cx-taxo:Vehicle ; + skos:prefLabel "Small Car"@en . + +# Instance Vehicle +exp:vehicle_1 rdf:type cx-vehicle:Vehicle; + dct:type cx-taxo:SmallCar. + +``` + +The current (merged) Catena-X Taxonomy can be found under the namespace [https://w3id.org/catenax/taxonomy](https://w3id.org/catenax/taxonomy) + +The current Catena-X Core Taxonomy can be found under the namespace [https://w3id.org/catenax/taxonomy/core](https://w3id.org/catenax/taxonomy/core) + +The current Catena-X Asset Ontology (caring about dataspace terms) can be found under the namespace [https://w3id.org/catenax/taxonomy/asset](https://w3id.org/catenax/taxonomy/asset) + +For more taxonomies, see the complete namespace [https://w3id.org/catenax](https://w3id.org/catenax) + +## Asset Content Description + +The Common Ontology contains classes and properties to describe assets on a meta-level. The asset class describes the URL from which the SPRAQL endpoint can be reached, which ontology was used to describe the data. Finally it may also sketch what form the data (shape) has based on SHACL, which business partner provides the asset, and so on. The descriptions are helpful for ordinary users and necessary for application configuration. In the dataspace, this information (meta-graph) is usually not kept at a single, central location. Instead, each participant offers self-descriptions of the graphs and skills (see below) according to the dataspace standards through its [Agent-Enabled Connector](../operation-view/agent_edc). There is a builtin synchronization capability of each such connector to contact the other connectors in its surrounding, regulary obtain catalogues of graph/skill offers and federate them into a tenant-specific meta-graph (the so-called federated data catalogue). + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix sh: . + +# Asset description +exp:asset_1 rdf:type cx-common:Asset; + cx-core:id "asset_1"; + dct:type cx-taxo:GraphAsset; + cx-common:name "Vehicle dataset"; + rdfs:isDefinedBy ; + cx-common:shapeGraph exp:vehicleShapeGraph; + cx-common:dataAddress exp:dataAddress_1 + +exp:dataAddress_1 rdf:type cx-common:DataAddress; + cx-common:baseUrl "http://provisioning-agent:8080/sparql"; + +# Asset content description (exp:vehicleShapeGraph) +exp:VehicleShape a sh:NodeShape ; + sh:targetClass cx-vehicle:Vehicle ; + sh:property [ + sh:path cx-vehicle:vehicleIdentificationNumber ; + sh:pattern "[A-Z0-9]{17}"; + sh:minCount 1 ; + ] ; + sh:property [ + sh:path cx-core:name ; + sh:datatype xsd:string ; + sh:minCount 1 ; + ] . + +``` + +## Modelling of Functions + +In the Knowledge Agent approach, in addition to publishing static data, it is also possible to offer services that perform calculations. These services can be called as functions with parameters. The functions can be modelled using the ontology function. The function parameters are defined by the cx-fx:argument. The ontology also contains function configuration properties that are required to configure the service. + +```ttl + +@prefix rdf: . +@prefix rdfs: . +@prefix owl: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix exp: . +@prefix sh: . + + +# Sample Function + +exp:GetModelYear rdf:type cx-fx:Function; + rdfs:comment "Returns the model year for a given vehicle identification number.". + +exp:vin rdf:type cx-fx:argument ; + rdfs:domain cx-fx:Function ; + rdfs:range xsd:string. + +exp:ModelYear rdf:type cx-fx:Result; + +``` + +Functions are defined in a similar way to data in SHACL. In addition, the **cx-sh:hasAsArgument** property can be used to define which data property is required for a function argument to execute the function. + +```ttl + +# Function Ontology + +exp:GetModelYearShape a sh:NodeShape ; + sh:targetClass exp:GetModelYear ; + sh:property [ + cx-sh:hasAsArgument cx-vehicle:vehicleIdentificationNumber; + sh:path exp:vin ; + sh:pattern "[A-Z0-9]{17}"; + sh:minCount 1 ; + ] . + +``` + +* The current Catena-X Function Ontology can be found under the namespace [https://w3id.org/catenax/ontology/function](https://w3id.org/catenax/ontology/function) + +## Data Query + +The RDF graphs can be accessed using the SPARQL query language via a SPARQL HTTP protocol. SPARQL allows the definition of complex instance relationships and the search for the defined patterns in the RDF graphs. + +General query example: Returns all physical objects and their name and activities. + +```sparql +PREFIX cx: +PREFIX rdf: +PREFIX exp: + +select ?activity ?physicalObject ?name +where { + ?activity rdf:type cx:Activity. + ?physicalObject rdf:type cx:PhysicalObject. + ?physicalObject cx:name ?name. + ?activity cx:refersToPhysicalObject ?physicalObject. +} + +``` + +Query result (for mime-type "text/csv"): + +| ?activity | ?physicalObject |?name| +| ----------- | ----------- | ----------- | +|exp:manufacturing_1|exp:vehicle_1|"Goggomobil"| + +The same result (for mime-type "application/sparql-results+json"): + +```json +{ + "head": { + "vars": [ + "activity", + "physicalObject", + "name" + ] + }, + "results": { + "bindings": [ + { + "activity": { + "type": "uri", + "value": "http://www.example.com#manufacturing_1" + }, + "physicalObject": { + "type": "uri", + "value": "http://www.example.com#vehicle_1" + }, + "name": { + "type": "literal", + "value": "Goggomobil" + } + } + ] + } +} + +``` + +Specific query example: Returns all vehicles and their name and manufacturing activities. + +```sparql + +PREFIX cx: +PREFIX rdf: +PREFIX exp: + +select ?activity ?physicalObject ?name +where { + ?activity rdf:type cx:Manufacturing. + ?physicalObject rdf:type cx:Vehicle. + ?physicalObject cx:name ?name. + ?activity cx:refersToPhysicalObject ?physicalObject. +} + +``` + +Query result is the same as the first one: + +| ?activity | ?physicalObject |?name| +| ----------- | ----------- | ----------- | +|exp:manufacturing_1|exp:vehicle_1|"Goggomobil"| + +## Federated Query + +An important advantage of SPARQL is that multiple repositories can be accessed from a single query. This feature gives Catena-X the great advantage of being able to query distributed data in different assets at the same time. + +[![Federated Query Example](/img/knowledge-agents/modelling_federated.jpg)](/img/knowledge-agents/modelling_federated.jpg) + +Federated query example: Returns all vehicle names from OEM Asset and for the same vehicles the names of the diagnosis results from Service Asset. + +```sparql + +PREFIX cx: +PREFIX rdf: + +select ?vehicleName ?vehicleVin ?diagnosisResultName +where { + + # OEM Asset +  SERVICE { + ?physicalObjectOEM rdf:type cx:Vehicle. +    ?physicalObjectOEM cx:vin ?vehicleVin. + + #Service Asset +    SERVICE { + ?physicalObjectService rdf:type cx:Vehicle. +      ?physicalObjectService cx:vin ?vehicleVin. + ?physicalObjectService cx:name ?vehicleName. + ?activity rdf:type cx:Diagnosis. + ?activity cx:refersToPhysicalObject ?physicalObjectService. +      ?activity cx:refersToConceptualObject ?conceptualObject. +      ?conceptualObject cx:name ?diagnosisResultName. + } +  } +} + +``` + +Federated Query result (for mime-type "text/csv"): + +| ?vehicleName | ?vehicleVin | ?diagnosisResultName | +| ----------- | ----------- | ----------- | +|"Goggomobil"| "ABCDEFG1HI2J34567" |"Cylinder misfire"| +|"Fliewatüüt"| "0815" |"Rotor breakdown"| +|"Herbie"| "4711" |"Low Oil Pressure"| + +## Skill + +A Skill in the Knowledge Agent approach is any Data/Federated Query which + +* is parameterizable by a set of input variables +* is published in the dataspace as a contractible asset with a unique id +* maybe invoked either on consumer-side (by downloading the query test) or provider-side (by execution of the query) + +For example, above federated query could be invoked under the assetname `SkillAsset?supplier=ListDiagnosis` and the following input parameter set (using contenttype "application/sparql-results+json") + +```json + +{ + "head": { + "vars": [ + "vehicleVin" + ] + }, + "results": { + "bindings": [ + { + "vin": { + "type": "literal", + "value": "ABCDEFG1HI2J34567" + } + }, + { + "vin": { + "type": "literal", + "value": "4711" + } + } + ] + } +} + +``` + +Skill invocation result (for mime-type "text/csv"): + +| ?vehicleName | ?vehicleVin | ?diagnosisResultName | +| ----------- | ----------- | ----------- | +|"Goggomobil"| "ABCDEFG1HI2J34567" |"Cylinder misfire"| +|"Herbie"| "4711" |"Low Oil Pressure"| + +## A Realistic Sample of Asset Content and Inference + +In the following, we like to demonstrate the SHACL (Shapes)-Description of three graphs/assets (one data graph/asset carrying telematics data and two function graph/assets carrying different prognosis functions). These examples are used in the [Behaviour Twin Kit/Use Case](../../behaviour-twin-kit/overview). Afterwards, we develop a (part) of a Skill which aligns these graphs/assets such that their federation will produce the desired output. It is used in the final [Behaviour Prognosis Skill](../operation-view/agent_edc). + +In the following example, we map existing API backends to the [Behaviour Ontology](https://w3id.org/catenax/ontology/behaviour), the [Reliability Ontology](https://w3id.org/catenax/ontology/reliability), the [Vehicle Ontology](https://w3id.org/catenax/ontology/vehicle), the [Function Ontology](https://w3id.org/catenax/ontology/function), the [Common (Dataspace) Ontology](https://w3id.org/catenax/ontology/common) and the [Core (Meta) Ontology](https://w3id.org/catenax/ontology/core) - all being part of the [Complete (Merged) Ontology](https://w3id.org/catenax/ontology). + +### Shape of a Telematics Data Asset + +The following shape describes the telematics graph to contain load spectra analyses of three types (cx-taxo:GearOil, cx-taxo:GearSet and cx-taxo:Clutch). It maybe extended to +further constrain the associated vehicles (like by a verhicle series and production date range). Basically, all classes and predicates from the corresponding ontologies should be +"listed" even if there is no constraint on their properties known. This also allows to check whether the participant has fulfilled its role in the use case (which also has a list of mandatory and optional classes and properties as a kind of specification). + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +:LoadSpectrumShape a sh:NodeShape ; + sh:targetClass cx-reliability:LoadSpectrum; + sh:property :observationOfShape, + :countingValueShape, + :countingUnitShape, + :countingMethodShape, + :channelsShape, + :classesShape, + :valuesShape. + +:observationOfShape a sh:PropertyShape; + sh:path cx-reliability:observationOf; + sh:in (cx-taxo:GearOil cx-taxo:GearSet cx-taxo:Clutch). + +:countingValueShape a sh:PropertyShape; + sh:path cx-reliability:countingValue. + +:countingUnitShape a sh:PropertyShape; + sh:path cx-reliability:countingUnit. + +:countingMethodShape a sh:PropertyShape; + sh:path cx-reliability:countingMethod. + +:countingMethodShape a sh:PropertyShape; + sh:path cx-reliability:countingMethod. + +:channelsShape a sh:PropertyShape; + sh:path cx-reliability:channels. + +:classesShape a sh:PropertyShape; + sh:path cx-reliability:classes. + +:valuesShape a sh:PropertyShape; + sh:path cx-reliability:values. +``` + +### Shape of Prognosis Function Assets + +The following shapes describe two different prognosis functions (one computing the Remaining Useful Lifetime and one computing a Health Indicator) which each take a different set of load spectra analyses as their input (cx-taxo:GearOil and cx-taxo:GearSet versus cx-taxo:Clutch). and produce a different output. + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +# Prognosis Function +:PrognosisFunctionShape rdf:type sh:NodeShape ; + sh:targetClass cx-behaviour:PrognosisFunction; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingMethod; + sh:path cx-behaviour:countingMethod; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingValue; + sh:path cx-behaviour:countingValue; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingUnit; + sh:path cx-behaviour:countingUnit; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:channels; + sh:path cx-behaviour:headerChannels; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:classes; + sh:path cx-behaviour:bodyClasses; + ]. + +:RemainingUsefulLifeShape rdf:type sh:NodeShape ; + cx-sh:extensionOf :PrognosisFunctionShape; + sh:targetClass cx-behaviour:RemainingUsefulLife ; + sh:property[ + cx-sh:hasAsArgument cx-reliability:observationOf; + sh:path cx-behaviour:observationType; + sh:in ( cx-taxo:GearSet cx-taxo:GearOil ); + ]; + sh:property :RemainingUsefulLifeResultShape. + +:RemainingUsefulLifeResult rdf:type sh:PropertyShape; + cx-sh:outputOf :RemainingUsefulLifeShape; + sh:path cx-behaviour:RemainingUsefulLifeResult . +``` + +```ttl +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +@prefix edc: . +@prefix cx-common: . +@prefix cx-core: . +@prefix cx-vehicle: . +@prefix cx-fx: . +@prefix cx-behaviour: . +@prefix cx-reliability: . +@prefix cx-sh: . +@prefix cx-taxo: . +@prefix : . + +# Prognosis Function +:PrognosisFunctionShape rdf:type sh:NodeShape ; + sh:targetClass cx-behaviour:PrognosisFunction; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingMethod; + sh:path cx-behaviour:countingMethod; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingValue; + sh:path cx-behaviour:countingValue; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:countingUnit; + sh:path cx-behaviour:countingUnit; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:channels; + sh:path cx-behaviour:headerChannels; + ]; + sh:property [ + cx-sh:hasAsArgument cx-reliability:classes; + sh:path cx-behaviour:bodyClasses; + ]. + +:HealthIndicationShape a sh:NodeShape ; + cx-sh:extensionOf :PrognosisFunctionShape; + sh:targetClass cx-behaviour:HealthIndication; + sh:property [ + cx-sh:hasAsArgument cx-reliability:observationOf; + sh:path cx-behaviour:observationType; + sh:in ( cx-taxo:Clutch ); + ]; + sh:property :HealthIndicationResultShape. + +:HealthIndicationResultShape a sh:PropertyShape; + cx-sh:outputOf :HealthIndicationShape; + sh:path cx-behaviour:HealthIndicationResult . +``` + +### A Sparql to Align/Federate Assets based on Desired Output + +```sparql +PREFIX sh: +PREFIX schema: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: +PREFIX cx-sh: +PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-reliability: +PREFIX cx-schema: +PREFIX cx-vehicle: +PREFIX cx-behaviour: +PREFIX cx-taxo: + +################################################################ +# Sample for a Goal-Oriented SparQL Skill (Pattern) which +# - Depending on the targetted result +# - Finds the right supplier prognosis asset and its preconditions +# - identifies the right OEM-owned reliability asset to obtain the required data +# Author: cgjung +# (c) 2023-2024 Catena-X assocation +################################################################ + +SELECT DISTINCT ?resultType ?functionConnector ?functionAsset ?dataConnector ?dataAsset WHERE { + + VALUES (?result_type) { + ( ) + } + + # Determine the prognosis assets and calculate the required loadspectrum types + ?output sh:path ?result_type. + ?output cx-sh:outputOf ?functionShape. + ?assetFunction cx-sh:shapeObject ?functionShape. + ?functionConnector cx-common:offers ?assetFunction. + ?functionShape cx-sh:extensionOf* ?parentFunctionShape. + ?functionShape sh:targetClass ?function. + ?parentFunctionShape sh:property ?functionProperty. + ?functionProperty cx-sh:hasAsArgument ?argument. + ?functionProperty sh:in ?parameters. + ?parameters rdf:rest*/rdf:first ?ls_type. + + # Determine the data asset which hosts the ls type + ?assetData cx-sh:shapeObject ?nodeShape. + ?dataConnector cx-common:offers ?assetData. + ?nodeShape sh:property ?propertyShape. + ?propertyShape sh:path ?argument. + ?propertyShape sh:in ?parameters_target. + ?parameters_target rdf:rest*/rdf:first ?ls_type. +``` + +(C) 2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/modules.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modules.md similarity index 91% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/modules.md rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modules.md index d8d152c4bb4..0cfe1af1d3c 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/modules.md +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/modules.md @@ -31,6 +31,7 @@ For more information see * Our [Adoption](../adoption-view/intro) guideline * The [High-Level Architecture](architecture) +* The [Ontology](modelling) modelling guide * The [ARC42](Arc42) documentation * An [API](api) specification * Our [Reference Implementation](reference) @@ -44,11 +45,11 @@ In the following paragraphs, all building blocks relevant for this standard are ## Semantic Models -Ontologies, as defined by W3C Web Ontology Language OWL 2 () standard, provide the core of the KA catalogue. By offering rich semantic modelling possibilities, they contribute to a common understanding of existing concepts and their relations across the data space participants. To increase practical applicability, this standard contains an overview about most important concepts and best practices for ontology modelling relevant for the KA approach (see chapter 5). OWL comes with several interpretation profiles () for different types of applications. For model checking and data validation (not part of this standard), we propose the Rule Logic (RL) profile. For query answering/data processing (part of this standard), we apply the Existential Logic (EL) profile (on the Dataspace Layer) and the Query Logic (QL) profile (on the Binding Layer). +Ontologies, as defined by W3C Web Ontology Language OWL 2 () standard, provide the core of the KA catalogue. By offering rich semantic modelling possibilities, they contribute to a common understanding of existing concepts and their relations across the data space participants. To increase practical applicability, this standard contains an overview about most important concepts and best practices for ontology modelling relevant for the KA approach (see chapter 5). OWL comes with several interpretation profiles () for different types of applications. For model checking and data validation (not part of this standard), this KIT proposes the Rule Logic (RL) profile. For query answering/data processing (part of this standard), this KIT applies the Existential Logic (EL) profile (on the Dataspace Layer) and the Query Logic (QL) profile (on the Binding Layer). ### Ontology Editing & Visualization -To create and visualize ontology models, dedicated tooling is advised. For this purpose, various open source tools (e.g. Protegé) or commercial products (e.g. metaphacts) are available. We hence standardize on the ubiquitous RDF Terse Triple Language TTL () format which is furthermore able to divide/merge large ontologies into/from modular domain ontology files. +To create and visualize ontology models, dedicated tooling is advised. For this purpose, various open source tools (e.g. Protegé) or commercial products (e.g. metaphacts) are available. This KIT hence standardizes on the ubiquitous RDF Terse Triple Language TTL () format which is furthermore able to divide/merge large ontologies into/from modular domain ontology files. ### Ontology Management @@ -58,7 +59,7 @@ To achieve model governance, a dedicated solution for ontology management is nec This layer comprises all applications which utilize provided data and functions of business partners to achieve a direct business impact and frameworks which simplify the development of these applications. Thus, this layer focuses on using a released Semantic Model (or a use-case/role-specific excerpt thereof) as a vocabulary to build flexible queries (Skills) and integrating these Skills in data consuming apps. -We rely on SPARQL 1.1 specification () as a language and protocol to search for and process data across different business partners. As a part of this specification, we support the QUERY RESULTS JSON () and the QUERY RESULTS XML () formats to represent both the answer sets generated by SPARQL skills and the sets of input parameters that a SPARQL skill should be applied to. For answer sets, additional formats such as the QUERY RESULTS CSV and TSV () format may be supported. Required is the ability to store and invoke SPARQL queries as parameterized procedures in the dataspace; this is a KA-specific extension to the SPARQL endpoint and is captured a concise [Openapi specification](api). Also part of that specification is an extended response behaviour which introduces the warning status code “203” and a response header “cx_warning” bound to a JSON structure that lists abnormal events or trace information that appeared during the processing. +This KIT relies on SPARQL 1.1 specification () as a language and protocol to search for and process data across different business partners. As a part of this specification, this KIT supports the QUERY RESULTS JSON () and the QUERY RESULTS XML () formats to represent both the answer sets generated by SPARQL skills and the sets of input parameters that a SPARQL skill should be applied to. For answer sets, additional formats such as the QUERY RESULTS CSV and TSV () format may be supported. Required is the ability to store and invoke SPARQL queries as parameterized procedures in the dataspace; this is a KA-specific extension to the SPARQL endpoint and is captured a concise [Openapi specification](api). Also part of that specification is an extended response behaviour which introduces the warning status code “203” and a response header “cx_warning” bound to a JSON structure that lists abnormal events or trace information that appeared during the processing. ### Skill Framework @@ -94,7 +95,7 @@ The Control Plane hosts the actual management/negotiation engine and is usually * a public (SSI-secured) Protocol API for coordination with other control planes of other business partners to setup transfer routings between the data planes. * state machines for monitoring (data) transfer processes which are actually executed by the (multiple, scalable) data plane(s). KA uses the standard “HttpProxy” transfer. * a validation engine which currently operates on static tokens/claims which are extracted from the transfer flow but may be extended with additional properties in order to check additional runtime information in the form of properties -* callback triggers for announcing transfer endpoints to the data plane to external applications, such as the Matchmaking Agent (or other direct EDC clients, frameworks and applications). We want to support multiple Matchmaking Agent instances per EDC for load-balancing purposes and we also like to allow for a bridged operation with other non-KA use cases, so it should be possible to configure several endpoint callback listeners per control plane. +* callback triggers for announcing transfer endpoints to the data plane to external applications, such as the Matchmaking Agent (or other direct EDC clients, frameworks and applications). This KIT supports multiple Matchmaking Agent instances per EDC for load-balancing purposes and it also allows for a bridged operation with other non-KA use cases, so it should be possible to configure several endpoint callback listeners per control plane. #### Data Plane @@ -242,7 +243,7 @@ Knowledge Agents with the [Industrial Digital Twin Association's](https://indust [Asset Administration Shell (AAS)](https://industrialdigitaltwin.org/wp-content/uploads/2023/04/IDTA-01002-3-0_SpecificationAssetAdministrationShell_Part2_API.pdf) standard. -Actually, we are talking about two bridges, one which bridges AAS information that is described in Catena-X aspect schemas +Actually, this KIT is caring about two bridges, one which bridges AAS information that is described in Catena-X aspect schemas into the Catena-X domain ontologies (the AAS-KA Bridge). And one bridge which is able to emulate shells and submodels out of a given (federated) virtual graph. @@ -301,7 +302,7 @@ technological APIs in specific, transaction-oriented formats. ### AAS Servers and Databases -As a special case of backend systems, we also regard existing AAS servers and databases as valid data sources +As a special case of backend systems, this KIT also regards existing AAS servers and databases as valid data sources to form a semantic dataspace. -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/reference.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/reference.md similarity index 96% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/reference.md rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/reference.md index ab07055075b..17c80d5cfb9 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/development-view/reference.md +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/development-view/reference.md @@ -30,6 +30,7 @@ This document describes the Reference Implementation of Agents Standard and Kit. For more information see * Our [Adoption](../adoption-view/intro) guideline +* The [Ontology](modelling) modelling guide * The [Layers & Modules](modules) Architecture * Our [Build](build) instructions * The [Deployment](../operation-view/deployment) guide @@ -74,4 +75,4 @@ see the [Tractus-X Repository](https://github.com/eclipse-tractusx/knowledge-age * Our [Build](build) instructions * The [Deployment](../operation-view/deployment) guide -(C) 2021,2023 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/agent_edc.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/agent_edc.md new file mode 100644 index 00000000000..f2e61aef3b0 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/agent_edc.md @@ -0,0 +1,574 @@ +--- +sidebar_position: 2 +title: Agent-Enabled Dataspace Connector +--- + + + +For participating in Semantic-Web Driven Dataspace Applications following the Catena-X Knowledge Agents Standard, it is recommended to deploy an [Agent-Plane](https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/docs/README.md) alongside of an existing [Tractus-X EDC](https://github.com/eclipse-tractusx/tractusx-edc/tree/main/docs/README.md) + +For more information see + +- Our [Adoption](../adoption-view/intro) guidelines +- The [Implementation](../development-view/architecture) documentation +- The [Deployment](deployment) overview +- The [Conformity](testbed) testbed +- A [Data Sovereignity & Graph Policy](policy) discussion + +## Quick Setup Guide for Agent-Enabled EDC (KA-EDC) + +Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses the postgresql-hashicorp variant but abstracts away from customer, vault and idta settings - we use yaml star references such as *vaultsettings* and *idtasettings* for that purpose, see [here](https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/docs/README.md) for more options and full details). + +```yaml +- name: tractusx-connector + alias: my-connector + repository: https://eclipse-tractusx.github.io/charts/dev + version: 0.7.0 +- name: agent-plane + alias: my-agent-plane + repository: https://eclipse-tractusx.github.io/charts/dev + version: 1.12.19 +``` + +Then configure the connector in the values.yaml + +```yaml +my-connector: + fullNameOverride: "my-connector" + participant: + id: BPNL000000001234 + iatp: *iatpsettings + postgresql: *postgresqlsettings + vault: *vaultsettings + controlplane: &myControlPlane + endpoints: + management: + authKey: *customerApiKey + bdrs: + server: + url: *bdrsUrl + ingresses: + - enabled: true + hostname: "my-connector-control.domain" + endpoints: + - protocol + - management + - api + tls: + enabled: true + certManager: + clusterIssuer: *clusterIssuer + env: + EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http://my-agent-plane:8087/api/signaling/v1/dataflows + EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy + EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://my-agent.domain/api/public/" }' + dataplane: + token: &tokens + signer: + privatekey_alias: *customerTokenKey + verifier: + publickey_alias: *customerTokenCert + +my-agent-plane: + fullNameOverride: "my-agent-plane" + url: + public: "" + participant: + id: *customerBpn + iatp: *iatpsettings + postgresql: *postgresqlsettings + vault: *vaulsettings + controlplane: *myControlPlane + token: *tokens + auth: {} + ingresses: + - enabled: true + hostname: "my-agent-domain" + endpoints: + - public + - default + tls: + enabled: true + certManager: + clusterIssuer: *clusterIssuer + configs: + dataspace.ttl: |- + ################################################ + # Catena-X Agent Bootstrap + ################################################ + @prefix : . + @prefix cx-core: . + @prefix cx-common: . + @prefix rdf: . + @prefix xsd: . + @prefix bpnl: . + @base . + + bpnl:BPNL00000PARTNER cx-common:hasBusinessPartnerNumber "BPNL00000PARTNER"^^xsd:string; + cx-common:hasConnector . + + bpnl:BPNL000000001234 cx-common:hasBusinessPartnerNumber "BPNL000000001234"^^xsd:string; + cx-common:hasConnector . + agent: + synchronization: 360000 + connectors: + BPNL00000PARTNER: https://{{partnerConnectorHost}} + BPNL000000001234: https://my-connector-control.domain +``` + +## Quick Setup Guide for Registering A Skill + +A skill is a "stored" dataspace procedure that is offered and executed by agent (planes). In the following, we demonstrate the steps to register one by interacting with the EDC Control Plane Management API and the EDC Data Plane Agent Endpoint + +### 1. Register A Skill Policy + +The following example installs a policy which is just checking the business partner numbers and dataspace memberships +of the participants. For more realistic policies aligned with the data sovereignity rules/profiles, see [this discussion](policy). + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v2/policydefinitions' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Policy?me=Skill", + "policy": { + "@context": "http://www.w3.org/ns/odrl.jsonld", + "@type": "Set", + "uid": "https://w3id.org/catenax/ontology/common#Policy?me=Skill", + "permission": [ + { + "target": "https://w3id.org/catenax/ontology/common#SkillAsset?me=", + "action": "USE", + "constraint": { + "@type": "LogicalConstraint", + "or" : [ + { + "@type" : "Constraint", + "leftOperand" : "BusinessPartnerNumber", + "operator" :"eq", + "rightOperand" : "BPNL00000PARTNER" + }, + { + "@type" : "Constraint", + "leftOperand" : "BusinessPartnerNumber", + "operator" :"eq", + "rightOperand" : "BPNL000000001234" + } + ] + } + }] + } +} +' +``` + +### 2. Register A Skill Contract + +The following contract definition exposes upcoming (skill) assets under the previously installed (skill) policy. +It does that for both catalogue/offer requests (access policy) and actual agent-based transfers (contract policy). Usually, +this makes sense as the party being able to receive and offer should also be able to negotiate a transfer to (here: execute) it. +Note that this contract foresees a "custom" asset property "cx-common:publishedUnderContract" with which all agent assets can be explictely "assigned" +to a contract. + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v2/policydefinitions' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?me=Skill", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?me=Skill", + "contractPolicyId": "Policy?me=Skill", + "assetsSelector" : [ + { + "@type" : "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?me=Skill" + } + ] +} +' +``` + +### 3. Register a Skill Asset + +In the next step, we install a stored procedure which traverses the dataspace from the consumer (=skill executor) over an partner oem (providing telematics data and connecting to its suppliers) to a yet unknown supplier (providing a functional graph to perform a prognosis). +This skill is the so-called Remaining Useful Life Skill - see the other concrete Graph definitions in this section of the Kit. It requires the partner oem to offer (and federate) at least one corresponding [(Data) Graph Asset](provider) to the consumer. It also requires a supplier to offer (and federate) at least one corresponding [(Function) Graph Asset](provider) to the partner oem. Correspondence in this regard means that the definition claims the assets to implement certain ontologies (rdfs:isDefinedBy ). We will show a more advanced way of asset binding/constraining in the following. + +Note that we use the "distributionMode=ALL" parameter to annotate that this skill may be executed both by the "my-agent.domain" (in the so-called PROVIDER mode - see below) as well as by any remotely executing business partner's agent (in the so-called CONSUMER mode see below). +Note that we use the "contract=Contract%3Fme%3DSkill" parameter to assign this skill to above contract (and policy). +Note also that we have deployed the agent plane before without specific authentication ("auth: {}") such that we do not have to add any authentication header in the following calls. Please see [here](https://github.com/eclipse-tractusx/knowledge-agents-edc/tree/main/docs/README.md) for how to enable, e.g. JWT/Oauth2 Based authentication and authorization for this endpoint. + +The result will be that in the associated connector/control plane, a new asset "cx-taxo:SkillAsset?provider=RemainingUsefulLife" is created that can be accessed by "my-agent" as well as any other interested party eligible for the "Contract?me=Skill" contractdefinition. + +```console +curl --location --globoff 'https://my-agent.domain/api/agent/skill?asset=cx-taxo%3ASkillAsset%3Fprovider%3DRemainingUsefulLife&distributionMode=ALL&contract=contract=Contract%3Fme%3DSkill' \ +--header 'Content-Type: application/sparql-query' \ +--data-raw 'PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-vehicle: +PREFIX cx-reliability: +PREFIX cx-behaviour: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: +PREFIX bpnl: + +################################################################ +# Sample for a Federated (Consumer-Deployed) SparQL Skill which +# - Jumps into an OEM-owned reliability asset given a set of candidate VANs +# - Feeds the gathered data back into the respective supplier connector/agent +#. to perform a health indication +# Author: cgjung +# (c) 2023 Catena-X assocation +################################################################ + +SELECT ?vehicle ?van ?aggregate ?assembly ?supplier ?lc ?operatingTime ?mileage ?recordDate ?ls_type ?ls_name ?ls_value ?ls_unit ?ls_method ?ls_channels ?ls_classes ?ls_values ?distanceKm ?timeHours WHERE { + + VALUES (?van ?aggregate ?ls_type) { + ("@van"^^xsd:string "Differential Gear"^^xsd:string "GearOil"^^xsd:string) + } + + bpnl:BPNL00000PARTNER cx-common:hasConnector ?oemEDC. + ?oemEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?reliabilityAssetId]. + + SERVICE ?oemEDC { + GRAPH ?reliabilityAssetId { + ?vehicle rdf:type cx-vehicle:Vehicle; + cx-vehicle:vehicleIdentificationNumber ?van. + + ?assembly rdf:type cx-vehicle:Part; + cx-vehicle:name ?aggregate; + cx-vehicle:isPartOf ?vehicle; + cx-vehicle:supplier ?supplier. + + ?teleAnalysis rdf:type cx-reliability:Analysis; + cx-reliability:analysedObject ?assembly; + cx-reliability:operatingHoursOfVehicle ?operatingTime; + cx-reliability:mileageOfVehicle ?mileage; + cx-core:startDateTime ?recordDate; + cx-reliability:result [ + cx-core:id ?ls_type; + cx-core:name ?ls_name; + cx-reliability:countingValue ?ls_value; + cx-reliability:countingUnit ?ls_unit; + cx-reliability:countingMethod ?ls_method; + cx-reliability:channels ?ls_channels; + cx-reliability:classes ?ls_classes; + cx-reliability:values ?ls_values + ]. + } # OEM#GRAPH + + ?supplier cx-common:hasConnector ?supplierEDC. + ?supplierEDC cx-common:offers [ rdfs:isDefinedBy ; cx-common:id ?prognosisAssetId]. + + SERVICE ?supplierEDC { + GRAPH ?prognosisAssetId { + ?invocation a cx-behaviour:RemainingUsefulLife; + cx-behaviour:sender bpnl:BPNL00000003AYRE; + cx-behaviour:senderConnector ?oemEDC; + cx-behaviour:recipient ?supplier; + cx-behaviour:recipientConnector ?supplierEDC; + cx-behaviour:targetDate ?recordDate; + cx-behaviour:timeStamp ?recordDate; + cx-behaviour:component "GearBox"; + cx-behaviour:statusDate ?recordDate; + cx-behaviour:statusOperatingHours ?operatingTime; + cx-behaviour:statusMileage ?mileage; + cx-behaviour:countingValue ?ls_value; + cx-behaviour:countingUnit ?ls_unit; + cx-behaviour:countingMethod ?ls_method; + cx-behaviour:headerChannels ?ls_channels; + cx-behaviour:bodyClasses ?ls_classes; + cx-behaviour:bodyCountsList ?ls_values; + cx-behaviour:remainingOperatingHours ?timeHours; + cx-behaviour:remainingRunningDistance ?distanceKm. + } # SUPPLIER#GRAPH + } # SUPPLIER#CATALOG + + } # OEM#CATALOG + +} # SELECT +' +``` + +## Quick Setup Guide for Calling A Skill + +We demonstrate in the following how the above Skill (stored procedure) can be executed hereby invoking agent-protocol based transfers +between the involved EDC's. In each call, we demonstrate how to perform a batch binding, i.e. the Skill is called with a complete set of bound parameters. + +### Calling A Locally Deployed Skill + +If using an local assetid (SkillAsset?provider=RemainingUsefulLife), the agent can directly access any skill that has been registered in its own connector. + +```console +curl --location --globoff 'https://my-agent.domain/api/agent?asset=cx-taxo%3ASkillAsset%3Fsupplier%3DRemainingUsefulLife' \ +--header 'Content-Type: application/sparql-results+json' \ +--header 'Accept: application/json' \ +--data '{ + "head": { + "vars": [ + "van" + ] + }, + "results": { + "bindings": [ + { + "van": { + "type": "literal", + "value": "FNLQNRVCOFLHAQ" + } + }, + { + "van": { + "type": "literal", + "value": "FGPTXINYZAVJYK" + } + }, + { + "van": { + "type": "literal", + "value": "DVAJDTLJMKKZGY" + } + } + ] + } +}' +``` + +### Calling A Skill (on the Provider Side) + +If assuming that the skill has not been registered/stored in our connector, but in a partner/provider connector, we can use a "global" asset id +which starts with the URL of the partner connector's dsp endpoint. Furthermore, we are able to +choose a run mode by the parameter "runMode=provider". In this case, the consumer agent will negotiate with the provider agent to +execute the skill in the provider connector. When we choose "runMode=consumer" instead, the consumer agent will try to "download" the skill +to the consumer connector and executes it there. + +```console +curl --location --globoff 'https://my-agent-domain/api/agent?asset=https%3A%2F%2F{{partnerConnectorHost}}%23cx-taxo%3ASkillAsset%3Fprovider%3DRemainingUsefulLife&runMode=provider' \ +--header 'Content-Type: application/sparql-results+json' \ +--header 'Accept: application/json' \ +--data '{ + "head": { + "vars": [ + "van" + ] + }, + "results": { + "bindings": [ + { + "van": { + "type": "literal", + "value": "FNLQNRVCOFLHAQ" + } + }, + { + "van": { + "type": "literal", + "value": "FGPTXINYZAVJYK" + } + }, + { + "van": { + "type": "literal", + "value": "DVAJDTLJMKKZGY" + } + } + ] + } +}' +``` + +## Advanced Skills + +In the [Ontology Modelling Guide](../development-view/modelling) we have demonstrated that a graph (i.e. the (virtual) set of triples comprising the data or function) can not only be described by ontologies (see the above skill making use of the rdfs:isdefinedBy property/predicate), but also by a shape (the sh:shapesGraph property and its resolutions into the cx-sh:shapeObject predicate can be seen much like a statistics which lists the extremal values and distinct counts inside the columns of a table). In the following we +demonstrate a more flexible Behaviour Prognosis Skill which will switched between different data and function assets (and hence business partners in the dataspace) depending on the @resultType that should be achived. The relevant shape definitions which make this skill worki can be found in the [Provider Operation Guide](provider) + +```console +curl --location --globoff 'https://my-agent.domain/api/agent/skill?asset=cx-taxo%3ASkillAsset%3Fprovider%3DBehaviourPrognosis&distributionMode=ALL&contract=contract=Contract%3Fme%3DSkill' \ +--header 'Content-Type: application/sparql-query' \ +--data-raw 'PREFIX sh: +PREFIX schema: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: +PREFIX cx-sh: +PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-reliability: +PREFIX cx-schema: +PREFIX cx-vehicle: +PREFIX cx-behaviour: +PREFIX cx-taxo: + +################################################################ +# Sample for a Provider-Deployed Goal-Oriented SparQL Skill which +# - Depending on the targetted result +# - Finds the right supplier prognosis asset and its preconditions +# - jumps into the OEM-owned reliability asset to obtain the required data +# - feeds the gathered data back into the respective supplier connector/agent +# to perform a behavioural prognosis +# Author: cgjung +# (c) 2023-2024 Catena-X assocation +################################################################ + +SELECT DISTINCT ?van ?supplier ?vehicle ?assembly ?operatingTime ?mileage ?prognosis WHERE { + + VALUES (?van ?aggregate ?result_type) { + ("@van"^^xsd:string "Differential Gear"^^xsd:string <@resultType>) + } + + # Determine the prognosis assets + ?output sh:path ?result_type. + ?output cx-sh:outputOf ?functionShape. + ?assetFunction cx-sh:shapeObject ?functionShape. + ?functionConnector cx-common:offers ?assetFunction. + ?functionShape cx-sh:extensionOf* ?parentFunctionShape. + ?functionShape sh:targetClass ?function. + ?parentFunctionShape sh:property ?functionProperty. + ?functionProperty cx-sh:hasAsArgument ?argument. + ?functionProperty sh:in ?parameters. + ?parameters rdf:rest*/rdf:first ?ls_type. + + # Determine the target + ?assetData cx-sh:shapeObject ?nodeShape. + ?dataConnector cx-common:offers ?assetData. + ?nodeShape sh:property ?propertyShape. + ?propertyShape sh:path ?argument. + ?propertyShape sh:in ?parameters_target. + ?parameters_target rdf:rest*/rdf:first ?ls_type. + + SERVICE ?dataConnector { + GRAPH ?assetData { + ?vehicle rdf:type cx-vehicle:Vehicle; + cx-vehicle:vehicleIdentificationNumber ?van. + + ?assembly rdf:type cx-vehicle:Part; + cx-vehicle:name ?aggregate; + cx-vehicle:isPartOf ?vehicle; + cx-vehicle:supplier ?supplier. + + ?teleAnalysis rdf:type cx-reliability:Analysis; + cx-reliability:analysedObject ?assembly; + cx-reliability:operatingHoursOfVehicle ?operatingTime; + cx-reliability:mileageOfVehicle ?mileage; + cx-core:startDateTime ?recordDate; + cx-reliability:result [ + cx-core:id ?ls_type; + cx-core:name ?ls_name; + cx-reliability:countingValue ?ls_value; + cx-reliability:countingUnit ?ls_unit; + cx-reliability:countingMethod ?ls_method; + cx-reliability:channels ?ls_channels; + cx-reliability:classes ?ls_classes; + cx-reliability:values ?ls_values + ]. + } + } + + SERVICE ?functionConnector { + GRAPH ?assetFunction { + SELECT ?prognosis WHERE { + ?invocation a ?function; + cx-behaviour:sender ; + cx-behaviour:senderConnector ; + cx-behaviour:recipient ; + cx-behaviour:recipientConnector ; + cx-behaviour:targetDate ?recordDate; + cx-behaviour:timeStamp ?recordDate; + cx-behaviour:component ?assembly; + cx-behaviour:observationType ?ls_type; + cx-behaviour:statusDate ?recordDate; + cx-behaviour:statusOperatingHours ?operatingTime; + cx-behaviour:statusMileage ?mileage; + cx-behaviour:countingValue ?ls_value; + cx-behaviour:countingUnit ?ls_unit; + cx-behaviour:countingMethod ?ls_method; + cx-behaviour:headerChannels ?ls_channels; + cx-behaviour:bodyClasses ?ls_classes; + cx-behaviour:bodyCountsList ?ls_values; + ?result_type ?prognosis. + } + } + } # SUPPLIER#CATALOG + +} # SELECT +' +``` + +Here is an invocation which mimiques the original cx-taxo:SkillAsset?provider=RemainingUsefulLife on one vehicle +and performs a HealthIndication prognosis for another one in a single call. + +```console +curl --location --globoff 'https://my-agent-domain/api/agent?asset=https%3A%2F%2F{{partnerConnectorHost}}%23cx-taxo%3ASkillAsset%3Fprovider%3DBehaviourPrognosis&runMode=provider' \ +--header 'Content-Type: application/sparql-results+json' \ +--header 'Accept: application/json' \ +--data '{ + "head": { + "vars": [ + "van", + "resultType" + ] + }, + "results": { + "bindings": [ + { + "van": { + "type": "literal", + "value": "FNLQNRVCOFLHAQ" + }, + "resultType": { + "type": "uri", + "value": "https://w3id.org/catenax/ontology/behaviour#RemainingUsefulLifeResult" + } + }, + { + "van": { + "type": "literal", + "value": "FGPTXINYZAVJYK" + }, + "resultType": { + "type": "uri", + "value": "https://w3id.org/catenax/ontology/behaviour#HealthIndicationResult" + } + } + ] + } +}' +``` + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/bridge.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/bridge.md new file mode 100644 index 00000000000..1faa8b1695e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/bridge.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 1 +title: Bridging +--- + + +For Bridging between Knowledge Agents API and AAS, this KIT recommends deploying the [Tractus-X Knowledge Agents AAS Bridge (KA-AAS)](https://github.com/eclipse-tractusx/knowledge-agents-aas-api) + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/deployment.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/deployment.md new file mode 100644 index 00000000000..83b01cf7326 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/deployment.md @@ -0,0 +1,721 @@ +--- +sidebar_position: 1 +title: Deployment +--- + + +![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) + +## Agents KIT + +**Operating federated queries over the whole data space.** + +* Our [Adoption](../adoption-view/intro) guideline +* The [Architecture](../development-view/architecture) documentation +* The [EDC Deployment](agent_edc) description +* The [(Data/Function) Provider Deployment](provider) description +* The [AAS Bridge Deployment](bridge) description +* The [Conformity](testbed) testbed +* A [Data Sovereignity & Graph Policy](policy) discussion + +## Motivation & Deployment Roles + +Knowledge Agents is a federated technology, so there is no central component setup to take into account. +Instead, the Semantic Dataspace is formed by the individual business partners extending/configuring their +connectors and enabling their backend systems and/or datalakes. The deployment depends hereby on the +role that the business partner takes. The roles are described in more detail in our [Adoption](../adoption-view/intro) guideline. + +[![Dataspace Roles](/img/knowledge-agents/dataspace_roles_small.png)](/img/knowledge-agents/dataspace_roles.png) + +## Role: As A Consumer + +As a consumer, you just need to: + +* enable your [dataspace connector](agent_edc) to initiate/delegate the required Agent protocols (here: SparQL-over-Http). +* (optionally) mount your connector/matchmaking agent as a remote repository into your enterprise graph infrastructure. + +## Role: As A Skill Provider + +As a skill provider, you need to + +* enable your [dataspace connector](agent_edc) to transfer/delegate the required Agent protocols. +* (optionally) employ multiple data planes in case you want to expose hosted skills (skill assets that operate as stored procedures +and which require computational resources at the provider side) instead of distributed skills (skill assets that are offered as query texts/files and which are executed at the consumer side). + +## Role: As A (Data/Function) Provider + +As a provider, you need to + +* enable your [dataspace connector](agent_edc) to receive/internalize the required Agent protocols. + +Depending on the kind of provisioning, you will setup additional internal "agents" (endpoints). + +### Sub-Role: As A Data Provider + +As a data provider, you want to + +* [bind](provider) your data sources to knowledge graphs following the Catena-X ontology. Therefore, a provisioning agent +should be setup on top of a data virtualization/database layer. + +### Sub-Role: As A Function Provider + +As a function provider, you want to + +* [bind](provider) your API to a special knowledge graph structure. Therefore, a remoting agent should be setup. + +### Sub-Role: As A Twin Provider + +As a twin provider, you want to + +* [bridge](bridge) between the Knowledge Agent and Asset Administration Shell APIs. + +## Runbook For Deploying and Smoke-Testing Knowledge Agents (Stable) + +The Stable Environment is a minimal example environment exhibiting all roles and capabilities of the Tractus-X/Catena-X dataspace. + +Knowledge Agents on Stable is deployed on the following two tenants + +* App Provider 1 (BPNL000000000001) + * Dataspace Connector (Postgresl, Hashicorp-Vault) + * Agent-Plane (Postgresql, Hashicorp-Vault) + * Provisioning Agent incl. Local Database + * Remoting Agent (against a Public WebService) +* App Consumer 4 (BPNL0000000005VV) + * Dataspace Connector (Postgresl, Hashicorp-Vault) + * Agent-Plane (Postgresql, Hashicorp-Vault) + +### 1. Prepare the Two Tenants + +As a first step, two technical users are installed for the dataspace connectors using the + +* App Provider 1: sa4 +* App Consumer 4: sa5 + +The generated secrets should be installed under + +* stable-provider-dim +* stable-consumer-dim + +Further secrets should be installed + +* oem-cert +* oem-key +* oem-symmetric-key +* consumer-cert +* consumer-key +* consumer-symmetric-key + +Finally, an access token to the vault has been generated. + +### 2. Deploy Agent-Enabled Connector's + +Using the following three applications have been installed. + +We give the complete manifests but hide the secrets. + +#### App Provider 1 Dataspace Connector Manifest + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 0.7.0 + plugin: + env: + - name: HELM_VALUES + value: | + participant: + id: BPNL000000000001 + nameOverride: agent-connector-provider + fullnameOverride: agent-connector-provider + vault: + hashicorp: + enabled: true + url: https://vault.demo.catena-x.net + token: **** + healthCheck: + enabled: false + standbyOk: true + paths: + secret: /v1/knowledge + secretNames: + transferProxyTokenSignerPrivateKey: oem-key + transferProxyTokenSignerPublicKey: oem-cert + transferProxyTokenEncryptionAesKey: oem-symmetric-key + iatp: + id: did:web:portal-backend.stable.demo.catena-x.net:api:administration:staticdata:did:BPNL000000000001 + trustedIssuers: + - did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + sts: + dim: + url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal + oauth: + token_url: https://bpnl000000000001-authentication.eu10.hana.ondemand.com/oauth/token + client: + id: sa4 + secret_alias: stable-provider-dim + postgresql: + name: agent-postgresql + jdbcUrl: jdbc:postgresql://agent-postgresql:5432/provider + auth: + database: provider + username: provider_user + password: **** + controlplane: + securityContext: + readOnlyRootFilesystem: false + image: + pullPolicy: Always + endpoints: + management: + authKey: **** + bdrs: + server: + url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "agent-provider-cp.stable.demo.catena-x.net" + # -- EDC endpoints exposed by this ingress resource + endpoints: + - protocol + - management + - api + # -- Enables TLS on the ingress resource + tls: + enabled: true + env: + EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http://agent-plane-provider:8087/api/signaling/v1/dataflows + EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy + EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://provider-agent.stable.demo.catena-x.net/api/public/" }' + EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + dataplane: + token: + signer: + privatekey_alias: consumer-key + verifier: + publickey_alias: consumer-cert + env: + EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + chart: tractusx-connector +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +#### App Provider 1 Agent Plane Manifest + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.12.19 + plugin: + env: + - name: HELM_VALUES + value: | + participant: + id: BPNL000000000001 + nameOverride: agent-plane-provider + fullnameOverride: agent-plane-provider + vault: + hashicorp: + enabled: true + url: https://vault.demo.catena-x.net + token: **** + healthCheck: + enabled: false + standbyOk: true + paths: + secret: /v1/knowledge + secretNames: + transferProxyTokenSignerPrivateKey: oem-key + transferProxyTokenSignerPublicKey: oem-cert + transferProxyTokenEncryptionAesKey: oem-symmetric-key + iatp: + id: did:web:portal-backend.stable.demo.catena-x.net:api:administration:staticdata:did:BPNL000000000001 + trustedIssuers: + - did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + sts: + dim: + url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal + oauth: + token_url: https://bpnl000000000001-authentication.eu10.hana.ondemand.com/oauth/token + client: + id: sa4 + secret_alias: stable-provider-dim + postgresql: + name: agent-postgresql + jdbcUrl: jdbc:postgresql://agent-postgresql:5432/provider + auth: + database: provider + username: provider_user + password: **** + controlplane: + endpoints: + management: + authKey: **** + bdrs: + server: + url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "agent-provider-cp.stable.demo.catena-x.net" + # -- EDC endpoints exposed by this ingress resource + endpoints: + - protocol + - management + - api + # -- Enables TLS on the ingress resource + tls: + enabled: true + token: + signer: + privatekey_alias: oem-key + verifier: + publickey_alias: oem-cert + auth: {} + ingresses: + - enabled: true + hostname: "provider-agent.stable.demo.catena-x.net" + endpoints: + - public + - default + tls: + enabled: true + configs: + dataspace.ttl: |- + ################################################ + # Catena-X Agent Bootstrap + ################################################ + @prefix : . + @prefix cx: . + @prefix cx-common: . + @prefix rdf: . + @prefix xsd: . + @prefix bpnl: . + @base . + + bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; + cx:hasConnector ; + cx-common:hasConnector . + + bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; + cx:hasConnector ; + cx-common:hasConnector . + agent: + synchronization: 360000 + connectors: + BPNL000000000001: https://agent-provider-cp.stable.demo-catena-x.net + chart: agent-plane +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +#### App Consumer 4 Datspace Connector Manifest + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 0.7.0 + plugin: + env: + - name: HELM_VALUES + value: | + participant: + id: BPNL0000000005VV + nameOverride: agent-connector-consumer + fullnameOverride: agent-connector-consumer + vault: + hashicorp: + enabled: true + url: https://vault.demo.catena-x.net + token: **** + healthCheck: + enabled: false + standbyOk: true + paths: + secret: /v1/knowledge + secretNames: + transferProxyTokenSignerPrivateKey: consumer-key + transferProxyTokenSignerPublicKey: consumer-cert + transferProxyTokenEncryptionAesKey: consumer-symmetric-key + iatp: + id: did:web:portal-backend.stable.demo.catena-x.net:api:administration:staticdata:did:BPNL0000000005VV + trustedIssuers: + - did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + sts: + dim: + url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal + oauth: + token_url: https://bpnl0000000005VV-authentication.eu10.hana.ondemand.com/oauth/token + client: + id: sa5 + secret_alias: stable-consumer-dim + postgresql: + name: agent-postgresql2 + jdbcUrl: jdbc:postgresql://agent-postgresql2:5432/consumer + auth: + database: consumer + username: consumer_user + password: **** + controlplane: + securityContext: + readOnlyRootFilesystem: false + image: + pullPolicy: Always + endpoints: + management: + authKey: **** + bdrs: + server: + url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "agent-consumer-cp.stable.demo.catena-x.net" + # -- EDC endpoints exposed by this ingress resource + endpoints: + - protocol + - management + - api + # -- Enables TLS on the ingress resource + tls: + enabled: true + env: + EDC_DATAPLANE_SELECTOR_AGENTPLANE_URL: http://agent-plane-consumer:8087/api/signaling/v1/dataflows + EDC_DATAPLANE_SELECTOR_AGENTPLANE_SOURCETYPES: cx-common:Protocol?w3c:http:SPARQL,cx-common:Protocol?w3c:http:SKILL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_TRANSFERTYPES: HttpData-PULL + EDC_DATAPLANE_SELECTOR_AGENTPLANE_DESTINATIONTYPES: HttpProxy + EDC_DATAPLANE_SELECTOR_AGENTPLANE_PROPERTIES: '{ "publicApiUrl": "https://consumer-agent.stable.demo.catena-x.net/api/public/" }' + EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + dataplane: + token: + signer: + privatekey_alias: consumer-key + verifier: + publickey_alias: consumer-cert + env: + EDC_IAM_TRUSTED-ISSUER_0-ISSUER_ID: did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + chart: tractusx-connector +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +#### App Consumer 4 Agent Plane Manifest + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.12.19 + plugin: + env: + - name: HELM_VALUES + value: | + participant: + id: BPNL0000000005VV + nameOverride: agent-plane-consumer + fullnameOverride: agent-plane-consumer + vault: + hashicorp: + enabled: true + url: https://vault.demo.catena-x.net + token: **** + healthCheck: + enabled: false + standbyOk: true + paths: + secret: /v1/knowledge + secretNames: + transferProxyTokenSignerPrivateKey: consumer-key + transferProxyTokenSignerPublicKey: consumer-cert + transferProxyTokenEncryptionAesKey: consumer-symmetric-key + iatp: + id: did:web:portal-backend.stable.demo.catena-x.net:api:administration:staticdata:did:BPNL0000000005VV + trustedIssuers: + - did:web:dim-static-prod.dis-cloud-prod.cfapps.eu10-004.hana.ondemand.com:dim-hosted:2f45795c-d6cc-4038-96c9-63cedc0cd266:holder-iatp + sts: + dim: + url: https://dis-integration-service-prod.eu10.dim.cloud.sap/api/v2.0.0/iatp/catena-x-portal + oauth: + token_url: https://bpnl0000000005VV-authentication.eu10.hana.ondemand.com/oauth/token + client: + id: sa5 + secret_alias: stable-consumer-dim + postgresql: + name: agent-postgresql2 + jdbcUrl: jdbc:postgresql://agent-postgresql2:5432/consumer + auth: + database: consumer + username: consumer_user + password: **** + controlplane: + endpoints: + management: + authKey: **** + bdrs: + server: + url: https://bpn-did-resolution-service.int.demo.catena-x.net/api/directory + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "agent-consumer-cp.stable.demo.catena-x.net" + # -- EDC endpoints exposed by this ingress resource + endpoints: + - protocol + - management + - api + # -- Enables TLS on the ingress resource + tls: + enabled: true + token: + signer: + privatekey_alias: consumer-key + verifier: + publickey_alias: consumer-cert + auth: {} + ingresses: + - enabled: true + hostname: "consumer-agent.stable.demo.catena-x.net" + endpoints: + - public + - default + tls: + enabled: true + configs: + dataspace.ttl: |- + ################################################ + # Catena-X Agent Bootstrap + ################################################ + @prefix : . + @prefix cx: . + @prefix cx-common: . + @prefix rdf: . + @prefix xsd: . + @prefix bpnl: . + @base . + + bpnl:BPNL000000000001 cx:hasBusinessPartnerNumber "BPNL000000000001"^^xsd:string; + cx:hasConnector ; + cx-common:hasConnector . + + bpnl:BPNL0000000005VV cx:hasBusinessPartnerNumber "BPNL0000000005VV"^^xsd:string; + cx:hasConnector ; + cx-common:hasConnector . + agent: + synchronization: 360000 + connectors: + BPNL000000000001: https://agent-provider-cp.stable.demo-catena-x.net + BPNL0000000005VV: https://agent-consumer-cp.stable.demo-catena-x.net + chart: agent-plane +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +### 3. Deploy App Provider 1 Provisioning Agent + +Using the following application has been installed. + +For simplicity, the provisioning agent exposes a builtin sample H2 database as a graph and therefore needs to write the file system with its non-root account. +Therefore, some of the following settings are specific to stable and will not be used under productive settings. + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.12.19 + plugin: + env: + - name: HELM_VALUES + value: | + securityContext: + readOnlyRootFilesystem: false + runAsUser: 999 + runAsGroup: 999 + runAsUser: 999 + podSecurityContext: + runAsGroup: 999 + fsGroup: 999 + bindings: + dtc: + port: 8080 + settings: + jdbc.url: "jdbc:h2:file:/opt/ontop/database/db;INIT=RUNSCRIPT FROM '/opt/ontop/data/dtc.sql'" + jdbc.driver: "org.h2.Driver" + ontop.cardinalityMode: "LOOSE" + mapping: | + [PrefixDeclaration] + cx-common: https://w3id.org/catenax/ontology/common# + cx-core: https://w3id.org/catenax/ontology/core# + cx-vehicle: https://w3id.org/catenax/ontology/vehicle# + cx-reliability: https://w3id.org/catenax/ontology/reliability# + uuid: urn:uuid: + bpnl: bpn:legal: + owl: http://www.w3.org/2002/07/owl# + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + xml: http://www.w3.org/XML/1998/namespace + xsd: http://www.w3.org/2001/XMLSchema# + json: https://json-schema.org/draft/2020-12/schema# + obda: https://w3id.org/obda/vocabulary# + rdfs: http://www.w3.org/2000/01/rdf-schema# + oem: urn:oem: + + [MappingDeclaration] @collection [[ + mappingId dtc-meta + target bpnl:{bpnl} rdf:type cx-common:BusinessPartner ; cx-core:id {bpnl}^^xsd:string . + source SELECT distinct "bpnl" FROM "dtc"."meta" + + mappingId dtc-content + target oem:Analysis/{id} rdf:type cx-reliability:Analysis ; cx-core:id {code}^^xsd:string ; cx-core:name {description}^^xsd:string . + source SELECT * FROM "dtc"."content" + + mappingId dtc-part + target oem:Part/{entityGuid} rdf:type cx-vehicle:Part ; cx-core:id {enDenomination}^^xsd:string ; cx-core:name {classification}^^xsd:string . + source SELECT * FROM "dtc"."part" + + mappingId dtc-meta-part + target oem:Part/{entityGuid} cx-vehicle:manufacturer bpnl:{bpnl}. + source SELECT "bpnl","entityGuid" FROM "dtc"."part" + + mappingId dtc-part-content + target oem:Analysis/{dtc_id} cx-reliability:analysedObject oem:Part/{part_entityGuid}. + source SELECT "part_entityGuid","dtc_id" FROM "dtc"."content_part" + + ]] + chart: provisioning-agent +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +### 4. Deploy App Provider 1 Remoting Agent + +Using the following application has been installed. + +For simplicity, the remoting agent exposes a simply public API as a graph. + +```yaml +project: project-knowledge +source: + repoURL: 'https://eclipse-tractusx.github.io/charts/dev' + targetRevision: 1.12.19 + plugin: + env: + - name: HELM_VALUES + value: | + image: + pullPolicy: Always + repositories: + prognosis: | + # + # Rdf4j configuration for prognosis remoting + # + @prefix rdf: . + @prefix rdfs: . + @prefix rep: . + @prefix sr: . + @prefix sail: . + @prefix sp: . + @prefix xsd: . + @prefix json: . + @prefix dcterms: . + @prefix cx-fx: . + @prefix cx-common: . + @prefix cx-prognosis: . + @prefix cx-rt: . + + [] rdf:type rep:Repository ; + rep:repositoryID "prognosis" ; + rdfs:label "Prognosis Functions" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:callbackAddress ; + cx-fx:supportsInvocation cx-prognosis:Prognosis; + ] + ]. + + cx-prognosis:Prognosis rdf:type cx-fx:Function; + dcterms:description "Prognosis is a sample simulation function with input and output bindings."@en ; + dcterms:title "Prognosis" ; + cx-fx:targetUri "https://api.agify.io"; + cx-fx:input cx-prognosis:name; + cx-fx:result cx-prognosis:hasResult. + + cx-prognosis:hasResult rdf:type cx-fx:Result; + cx-fx:output cx-prognosis:prediction; + cx-fx:output cx-prognosis:support. + + cx-prognosis:name rdf:type cx-fx:Argument; + dcterms:description "Name is an argument to the Prognosis function."@en ; + dcterms:title "Name"; + cx-fx:argumentName "name". + + cx-prognosis:prediction rdf:type cx-fx:ReturnValue; + dcterms:description "Prediction (Value) is an integer-based output of the Prognosis function."@en ; + dcterms:title "Prediction" ; + cx-fx:valuePath "age"; + cx-fx:dataType xsd:int. + + cx-prognosis:support rdf:type cx-fx:ReturnValue; + dcterms:description "Support (Value) is another integer-based output of the Prognosis function."@en ; + dcterms:title "Support" ; + cx-fx:valuePath "count"; + cx-fx:dataType xsd:int. + chart: remoting-agent +destination: + server: 'https://kubernetes.default.svc' + namespace: product-knowledge +``` + +### 5. Perform Smoke Tests + +This KIT provides a [Postman collection](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/folder/2757771-04658655-9019-4f1c-9de0-eeaf6245b9b6?action=share&source=copy-link&creator=2757771&ctx=documentation) and a corresponding [environment](https://www.postman.com/catena-x/workspace/catena-x-knowledge-agents/environment/2757771-31115ff3-61d7-4ad6-8310-1e50290a1c3a?action=share&creator=2757771&active-environment=2757771-3a7489c5-7540-470b-8e44-04610511d9a9) + +It consists of the following steps: + +* Query Provider Agent (Internally) +* Query Provider Agent (Internally from Agent Plane) +* Query Remoting Agent (Internally) +* Query Remoting Agent (Internally from Agent Plane) +* Create Graph Policy (Provider) +* Create Graph Contract (Provider) +* Create Data Graph Asset (Provider) +* Create Function Graph Asset (Provider) +* Show Own Catalogue (Provider) +* Show Remote Catalogue (Consumer) +* Query Data Graph Asset (Consumer) +* Query Function Graph Asset (Consumer) + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json similarity index 90% rename from docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json rename to docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json index 409d518b375..f0767796987 100644 --- a/docs-kits_versioned_docs/version-24.03/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/ka_conformity_scripts.postman_collection.json @@ -1,7 +1,7 @@ { "info": { "_postman_id": "0ad1b7a6-734c-4289-9221-667fc56a21da", - "name": "KA Conformity Assessment Scripts", + "name": "KA Conformity Assessment Scripts (R24.05)", "description": "(C) 2021,2023 Contributors to the Eclipse Foundation\n\nSPDX-LICENSE-IDENTIFIER: CC-BY-4.0", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "2757771", @@ -23,7 +23,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -37,7 +38,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"Policy?cab=Asset&mode=open\",\n \"policy\": {\n\t\t\"@type\": \"Policy\",\n\t\t\"odrl:permission\" : [{\n\t\t\t\"odrl:action\" : \"USE\",\n\t\t\t\"odrl:constraint\" : []\n\t\t}]\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\"\n },\n \"@id\": \"Policy?cab=Asset&mode=open\",\n \"policy\": {\n \"@context\": \"http://www.w3.org/ns/odrl.jsonld\",\n \"@type\": \"Set\",\n \"uid\": \"https://w3id.org/catenax/ontology/common#Policy?oem=Graph\",\n \"permission\": [\n {\n \"target\": \"https://w3id.org/catenax/ontology/common#GraphAsset?oem=\",\n \"action\": \"USE\",\n \"constraint\": []\n }\n ]\n }\n}", "options": { "raw": { "language": "json" @@ -71,7 +72,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -85,7 +87,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"Policy?cab=Asset&mode=closed\",\n \"policy\": {\n\t\t\"@type\": \"Policy\",\n\t\t\"odrl:permission\" : [{\n\t\t\t\"odrl:action\" : \"USE\",\n\t\t\t\"odrl:constraint\" : {\n\t\t\t\t\"@type\" : \"Constraint\",\n\t\t\t\t\"odrl:leftOperand\" : \"BusinessPartnerNumber\",\n\t\t\t\t\t\"odrl:operator\" : {\n \"@id\": \"odrl:eq\"\n },\n\t\t\t\t\"odrl:rightOperand\" : \"{{cabBPNL}}\"\n\t\t\t}\n\t\t}]\n }\n}\n", + "raw": "{\n\t\"@context\": {\n\t\t\"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n\t\t\"cx-common\": \"https://w3id.org/catenax/ontology/common#\"\n\t},\n\t\"@id\": \"Policy?cab=Asset&mode=closed\",\n\t\"policy\": {\n\t\t\"@context\": \"http://www.w3.org/ns/odrl.jsonld\",\n\t\t\"@type\": \"Set\",\n\t\t\"uid\": \"https://w3id.org/catenax/ontology/common#Policy?oem=Graph\",\n\t\t\"permission\": [\n\t\t\t{\n\t\t\t\t\"target\": \"https://w3id.org/catenax/ontology/common#GraphAsset?oem=\",\n\t\t\t\t\"action\": \"USE\",\n\t\t\t\t\"constraint\": {\n\t\t\t\t\t\"@type\": \"Constraint\",\n\t\t\t\t\t\"leftOperand\": \"BusinessPartnerNumber\",\n\t\t\t\t\t\"operator\": \"eq\",\n\t\t\t\t\t\"rightOperand\": \"{{cabBPNL}}\"\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n}", "options": { "raw": { "language": "json" @@ -215,7 +217,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -229,7 +232,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"GraphAsset?cab=Conforming&mode=open\", \n \"properties\": {\n \"name\": \"Open Conforming Asset.\",\n \"description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"rdf:type\": \"cx-common:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n }\n },\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=open\", \n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -263,7 +266,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -277,7 +281,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"GraphAsset?cab=Conforming&mode=closed\", \n \"properties\": {\n \"name\": \"Closed Conforming Asset.\",\n \"description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"rdf:type\": \"cx-common:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n }\n },\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=closed\", \n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -311,7 +315,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -325,7 +330,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"GraphAsset?cab=Conforming&mode=unfederated\", \n \"properties\": {\n \"name\": \"Unfederated Conforming Asset.\",\n \"description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Graph&mode=open\",\n \"rdf:type\": \"cx-common:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n }\n },\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=unfederated\", \n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"properties\": {\n \"cx-common:name\": \"Unfederated Conforming Asset.\",\n \"cx-common:description\": \"A graph asset/offering hosting a conforming agent for testing and conformity checking.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Graph&mode=open\",\n \"dct:type\": \"cx-taxo:GraphAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"sh:shapesGraph\": \"@prefix : .\\n\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {},\n \"dataAddress\": {\n \"id\": \"GraphAsset?cab=Conforming&mode=unfederated\",\n \"@type\": \"DataAddress\",\n \"baseUrl\": \"{{cabConformingAgent}}/bind\",\n \"type\": \"cx-common:Protocol?w3c:http:SPARQL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -433,7 +438,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -447,7 +453,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"SkillAsset?cab=Conforming&mode=open\", \n \"properties\": {\n \"name\": \"Open Skill\",\n \"description\": \"A conformity assessment skill.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"rdf:type\": \"cx-common:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\":\"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n }\n },\n \"dataAddress\": {\n \"id\":\"SkillAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"properties\": {\n \"cx-common:name\": \"Open Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=open\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -556,7 +562,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -570,7 +577,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"SkillAsset?cab=Conforming&mode=closed\", \n \"properties\": {\n \"name\": \"Closed Skill\",\n \"description\": \"A conformity assessment skill.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"rdf:type\": \"cx-common:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\":\"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n }\n },\n \"dataAddress\": {\n \"id\":\"SkillAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"properties\": {\n \"cx-common:name\": \"Closed Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=closed\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=closed\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -679,7 +686,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -693,7 +701,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"SkillAsset?cab=Conforming&mode=provider\", \n \"properties\": {\n \"name\": \"Provider-Forced Skill\",\n \"description\": \"A conformity assessment skill.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"rdf:type\": \"cx-common:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=provider\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\":\"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n }\n },\n \"dataAddress\": {\n \"id\":\"SkillAsset?cab=Conforming&mode=provider\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"properties\": {\n \"cx-common:name\": \"Provider-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=provider\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=provider\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -802,7 +810,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -816,7 +825,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"SkillAsset?cab=Conforming&mode=consumer\", \n \"properties\": {\n \"name\": \"Consumer-Forced Skill\",\n \"description\": \"A conformity assessment skill.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"rdf:type\": \"cx-common:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=consumer\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\":\"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n }\n },\n \"dataAddress\": {\n \"id\":\"SkillAsset?cab=Conforming&mode=consumer\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"properties\": {\n \"cx-common:name\": \"Consumer-Forced Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.12.19\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=consumer\",\n \"cx-common:isFederated\": \"true^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=consumer\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" @@ -924,7 +933,8 @@ "});", "" ], - "type": "text/javascript" + "type": "text/javascript", + "packages": {} } } ], @@ -938,7 +948,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\"\n },\n \"asset\": {\n \"@type\": \"Asset\",\n \"@id\": \"SkillAsset?cab=Conforming&mode=unfederated\", \n \"properties\": {\n \"name\": \"Unfederated Skill\",\n \"description\": \"A conformity assessment skill.\",\n \"version\": \"1.9.4-SNAPSHOT\",\n \"contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"rdf:type\": \"cx-common:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\":\"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n }\n },\n \"dataAddress\": {\n \"id\":\"SkillAsset?cab=Conforming&mode=unfederated\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}\n", + "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\",\n \"rdf\": \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n \"rdfs\": \"http://www.w3.org/2000/01/rdf-schema#\",\n \"cx-common\": \"https://w3id.org/catenax/ontology/common#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"sh\": \"http://www.w3.org/ns/shacl#\",\n \"cs-taxo\": \"https://w3id.org/catenax/taxonomy#\",\n \"dct\": \"https://purl.org/dc/terms/\"\n },\n \"@id\": \"SkillAsset?cab=Conforming&mode=unfederated\",\n \"properties\": {\n \"cx-common:name\": \"Unfederated Skill\",\n \"cx-common:description\": \"A conformity assessment skill.\",\n \"cx-common:version\": \"1.9.4-SNAPSHOT\",\n \"cx-common:contenttype\": \"application/json, application/xml\",\n \"cx-common:publishedUnderContract\": \"Contract?cab=Asset&mode=open\",\n \"dct:type\": \"cx-taxo:SkillAsset\",\n \"rdfs:isDefinedBy\": \"\",\n \"cx-common:implementsProtocol\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"cx-common:distributionMode\": \"cx-common:SkillDistribution?run=all\",\n \"cx-common:isFederated\": \"false^^xsd:boolean\"\n },\n \"privateProperties\": {\n \"cx-common:query\": \"# Sample Skill accessing a graph\\n\\nSELECT ?subject ?predicate ?object WHERE { \\n SERVICE {\\n GRAPH { \\n ?subject ?predicate ?object. \\n }\\n } \\n}\"\n },\n \"dataAddress\": {\n \"id\": \"SkillAsset?cab=Conforming&mode=unfederated\",\n \"@type\": \"DataAddress\",\n \"type\": \"cx-common:Protocol?w3c:http:SKILL\",\n \"proxyPath\": \"false\",\n \"proxyMethod\": \"true\",\n \"proxyQueryParams\": \"true\",\n \"proxyBody\": \"true\"\n }\n}", "options": { "raw": { "language": "json" diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/policy.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/policy.md new file mode 100644 index 00000000000..8ed4e9a827f --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/policy.md @@ -0,0 +1,276 @@ +--- +sidebar_position: 3 +title: Data Sovereignity, Policies and Upgradability +--- + + +This document describes how Data Sovereignity and Upgradability can be reached in publishing Graphs and Skills by employing appropriate Policies and Versioning strategies. + +For more information see + +* Our [Adoption](../adoption-view/intro) guideline +* The [Architecture](../development-view/architecture) documentation +* The [EDC Deployment](agent_edc) description +* The [Provider Deployment](provider) description +* The [AAS Bridge Deployment](bridge) description +* The [Conformity](testbed) testbed + +The core ingredient to the KA Semantic Dataspace Architecture is that business partners (the Providers) offer RDF-based query endpoints ([Graph Assets](provider)) over their [Agent-Enabled Connector](agent_edc). The RDF endpoints (called binding *agents*, because they are active components that do not contain data, but simply transform queries into the backend protocols) stay in an "internal" network (as the data- and logic-carrying backends that they interface/transform into) while the EDC's (through asset descriptors, contract definitions and access/contract policies) operate as bridges to the "public" network. + +Although the EDC network is technically based on public interfaces, it is by the builtin Self-Sovereign Identity (SSI) architecture that any network call will be validated wrt to the calling tenant's identity and contractual situation (use case participations and proven certificates). + +Although the EDC transfer protocols are used to "tunnel" more specific application protocols and endpoints, it is by the flexible description and filtering of those endpoints as data catalogue offers with extensible properties that any application can infer the correct target asset to interact with. + +On the other hand, being free/sovereign to define these policies and properties at will gives the partipants a tremendous burden not to (unintendedly) breaking the deep data chains (in the knowledge agent case: deep nested executions) for the most valuable use cases. That is because these "hickups" will only occur data-driven at runtime by empty catalogue offers or failed transfers in unforeseeable places. + +## Catena-X Asset Property Standards + +To mitigate this problem, Catena-X requires two specific mandatory asset/offer properties: + +* "cx-common:protocol" should refer to a known transfer protocol ("cx-common:" is an abbreviation for ) +* "dct:type" should refer to a concept from the Catena-X Asset Taxonomy ("dct:" is an abbreviation for ; "cx-taxo:" is an abbreviation for ). +* "cx-common:version" should carry a version string + +For our purpose, the Agents KIT distinguishes two protocols: + +* "cx-common:Protocol?w3c:http:SPARQL" which describes querying with SPARQL over HTTP (POST or GET) +* "cx-common:Protocol?w3c:http:SKILL" which describes invoking and binding SKILLs over HTTP (POST or GET) + +The Agents KIT introduces two asset concepts accordingly: + +* "cx-taxo:GraphAsset" for Graph-based Assets (pointing to binding agents) +* "cx-taxo:SkillAsset" for Skill Assets (containing parameterizable SPARQL queries) + +Finally, we suggest to use semantic versioning in the version property where the versions should be aligned with the use case KIT versions. + +* "[0-9]+.[0-9]+.[0-9]+(-SNAPSHOT)?" + +A Skill which is depending on a particular (minimal, maximal, exact) version of the Catena-X ontology (and its use-case relevant domain ontologies) to be realised could use the builtin SPARQL functions to filter the appropriate assets from the federated data catalogue. In the following example, we list all the found assets (together with their connectors) ordered by the highest version. + +```sparql +PREFIX sh: +PREFIX schema: +PREFIX rdf: +PREFIX rdfs: +PREFIX cx-common: +PREFIX cx-taxo: +PREFIX dct: + +# This query filters the federated data catalogue for 'production' behavioural graphs +# in versions between 1.11 (inclusive) and 2 (exclusive) + +select ?connector ?asset ?version where { + ?connector cx-common:offers ?asset. + ?asset dct:type cx-taxo:GraphAsset; + rdfs:isDefinedBy ; + cx-common:version ?version. + + FILTER (!strends(?version, 'SNAPSHOT')). + FILTER (?version >= '1.11'). + FILTER (?version < '2.'). +} ORDER BY DESC(?version) +``` + +A result from would look like this + +```json +{ + "head": { + "vars": [ + "connector", + "asset", + "version" + ] + }, + "results": { + "bindings": [ + { + "connector": { + "type": "uri", + "value": "edcs://knowledge.dev.demo.catena-x.net/tiera-edc-control/BPNL00000003CPIY" + }, + "asset": { + "type": "uri", + "value": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL" + }, + "version": { + "type": "literal", + "value": "1.12.19" + } + }, + { + "connector": { + "type": "uri", + "value": "edcs://knowledge.dev.demo.catena-x.net/tiera-edc-control/BPNL00000003CPIY" + }, + "asset": { + "type": "uri", + "value": "cx-taxo:GraphAsset?supplier=HealthIndicatorGearbox" + }, + "version": { + "type": "literal", + "value": "1.11.16" + } + } + ] + } +} +``` + +## Catena-X Policy Profiles + +Furthermore, Catena-X introduces so-called policy profiles which ensure that only pre-negotiatable and predictable constraints are used in the permissions, duties and obligations. + +Two examples for such use-case specific policies following the Catena-X profile and being based on separated signed (and technicall attested) framework agreements are the +Behaviour Twin Framework Agreement (in verson 1) and the Traceability Agreement (in version 3). + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "GraphAsset?me=Policy&useCase=BehaviourTwin", + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "behaviourtwin:1.0" + } + } + ] + } +} +``` + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "GraphAsset?me=Policy&useCase=Trace", + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "traceability:3.0" + } + } + ] + } +} +``` + +For the purpose of this investigation, let us now assume that we have to publish a single backend (=database, datalake schema or API endpoint) into multiple use cases. +In the following the different levels of tailoring access (by authentication, by configuration, by publishing/policying) are discussed that can be used to govern this scenario. + +![Data Sovereignity Through Offering and Policy Validation](/img/knowledge-agents/graph_asset.png) + +## Data Sovereignity Through Backend Authentication + +On this level, technical roles can be introduced in the backend systems (technical users) for the different use cases. Each technical user would only be allowed to +manipulate (read, update, delete) the relevant part of the API or data schema. + +Then different RDF endpoints are created which may share the same binding but use a different technical user to access the single backend. Each RDF endpoint would then be mapped into a different asset (with a similar self-description, but a slightly different shape). The assets would be offerred via different contracts and different policies. + +## Data Sovereignity Through Bindings + +On this level, different RDF endpoints are introduced which use the same technical user to access the single backend, but they make use of different bindings to map only a part of the SPARQL protocol to a part of the backend protocols. Each RDF endpoint would then be mapped into a different asset (with a similar self-description, but a slightly different shape). The assets would be offerred via different contracts and different policies. + +## Data Sovereignity Through Asset Descriptions + +On this level, a single RDF endpoint is introduced which is mapped into a different asset (with a similar self-description, but a slightly different shape). The assets would be offerred via different contracts and different policies. For this purpose, a "shape-filter" (not yet implemented) could become active in the Agent Plane/Matchmaking Agent which rewrites or checks the +incoming SPARQL context before delegating it to the binding agent. + +## Data Sovereignity Through Contracts + +On this level, a single asset description is used which is embedded into different contracts with different policies. + +## Data Sovereignity Through Combined Policies + +On this level,a single contract is used with a combined policy + +```json +{ + "@context": [ + "http://www.w3.org/ns/odrl.jsonld", + { + "edc": "https://w3id.org/edc/v0.0.1/ns/" + }, + { + "cx-policy": "https://w3id.org/catenax/policy/" + } + ], + "@type": "PolicyDefinitionRequestDto", + "@id": "GraphAsset?me=Policy&useCase=Trace&useCase=BehaviourTwin", + "edc:policy": { + "@type": "Set", + "profile": "cx-policy:profile2405", + "permission": [ + { + "action": "use", + "constraint": { + "@type": "LogicalConstraint", + "or" : [{ + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "behaviourtwin:1.0" + }, + { + "leftOperand": "cx-policy:FrameworkAgreement", + "operator": "eq", + "rightOperand": "traceability:3.0" + }] + } + } + ] + } +} +``` + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/provider.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/provider.md new file mode 100644 index 00000000000..426e37fd9f9 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/provider.md @@ -0,0 +1,1186 @@ +--- +sidebar_position: 1 +title: Provisioning +--- + + +For Providing Data and/or Functions in Semantic-Web Driven Dataspace Applications following the Catena-X Knowledge Agents Standard, this KIT recommends deploying a [Tractus-X Binding Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/README.md) + +More specifically, this KIT recommends to deploy + +* the [Tractus-X Provisioning Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/provisioning/README.md) for relational or virtualized data sources. +* the [Tractus-X Remoting Agent](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/remoting/README.md) for REST-based API functions. + +For more information see + +* Our [Adoption](../adoption-view/intro) guidelines +* The [Implementation](../development-view/architecture) documentation +* The [Deployment](deployment) overview +* The [Conformity](testbed) testbed +* A [Data Sovereignity & Graph Policy](policy) discussion + +## Quick Setup Guide for Data Provisioning + +### 1. Add Helm Dependency to the Binding (Provisioning) Agent + +Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses a Dremio datalake with a telematics schema, see [here](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/provisioning/README.md) for more options and full details). + +```yaml + - name: provisioning-agent + repository: https://eclipse-tractusx.github.io/charts/dev + version: 1.12.19 + alias: my-provider-agent +``` + +### 2. Configure the Provisioning Agent with Mappings + +Then configure the provisioning agent in the values.yaml - especially you introduce so-called mappings which are correspondences between identifiable and descriptive 'entities' or 'rows' in the database and +subgraphs (or 'node surroundings') in the graph. Using these mappings, the provisioning agent will be able to translate any SPARQL query (or more specific: a SPARQL profile called KA-BIND) into an efficient SQL query. + +Each mapping will then be presented by its own endpoint (= graph). Each graph usually corresponds to a use case role, such as the OEM providing telematics data for vehicle components in a Behaviour Twin Prognosis. The use case role will determine the ontology concepts which the use case participant may need to provide/map or consume in its skills. In the following example, we map an existing datalake schema with telematics data to the [Reliablity Ontology](https://w3id.org/catenax/ontology/reliability), the [Vehicle Ontology](https://w3id.org/catenax/ontology/vehicle), the [Common (Dataspace) Ontology](https://w3id.org/catenax/ontology/common) and the [Core (Meta) Ontology](https://w3id.org/catenax/ontology/core) - all being part of the [Complete (Merged) Ontology](https://w3id.org/catenax/ontology). + +The below mapping resource is written in the [OBDA Mapping Definition Language](https://ontop-vkg.org/tutorial/mapping/). Note that the network interface is not supposed to be public (hence authentication is not used there), but should only be visible to the [Agent Plane](agent_edc). + +```yaml +my-provider-agent: + nameOverride: my-provider-agent + fullnameOverride: my-provider-agent + bindings: + # mutes the default example endpoint + dtc: null + # adds a telematics graph based on the standard ontology + telematics: + port: 8080 + path: /telematics/(.*) + settings: + jdbc.url='jdbc:dremio:direct=data-backend:31010 + jdbc.driver=com.dremio.jdbc.Driver + jdbc.user= + jdbc.password= + ontop.cardinalityMode=LOOSE + ontology: cx-ontology.xml + mapping: |- + [PrefixDeclaration] + cx-common: https://w3id.org/catenax/ontology/common# + cx-core: https://w3id.org/catenax/ontology/core# + cx-vehicle: https://w3id.org/catenax/ontology/vehicle# + cx-reliability: https://w3id.org/catenax/ontology/reliability# + cx-taxo: https://w3id.org/catenax/taxonomy# + uuid: urn:uuid: + bpnl: bpn:legal: + owl: http://www.w3.org/2002/07/owl# + rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# + xml: http://www.w3.org/XML/1998/namespace + xsd: http://www.w3.org/2001/XMLSchema# + json: https://json-schema.org/draft/2020-12/schema# + obda: https://w3id.org/obda/vocabulary# + rdfs: http://www.w3.org/2000/01/rdf-schema# + + [MappingDeclaration] @collection [[ + mappingId vehicles + target uuid:{catenaXId} rdf:type cx-vehicle:Vehicle ; cx-vehicle:vehicleIdentificationNumber {localIdentifiers_van}^^xsd:string; cx-vehicle:manufacturer bpnl:{localIdentifiers_manufacturerId}; cx-vehicle:productionDate {manufacturingInformation_date}^^xsd:date. + source SELECT "catenaXId", "localIdentifiers_van", "localIdentifiers_manufacturerId", "manufacturingInformation_date" FROM "HI_TEST_OEM"."CX_RUL_SerialPartTypization_Vehicle" vehicles + + mappingId partsvehicle + target uuid:{childCatenaXId} cx-vehicle:isPartOf uuid:{catenaXId} . + source SELECT "catenaXId", "childCatenaXId" FROM "HI_TEST_OEM"."CX_RUL_AssemblyPartRelationship" vehicleparts + + mappingId vehicleparts + target uuid:{catenaXId} cx-vehicle:hasPart uuid:{childCatenaXId}. + source SELECT "catenaXId", "childCatenaXId" FROM "HI_TEST_OEM"."CX_RUL_AssemblyPartRelationship" vehicleparts + + mappingId parts + target uuid:{catenaXId} rdf:type cx-vehicle:Part ; cx-vehicle:id {localIdentifiers_partInstanceId}^^xsd:string; cx-vehicle:name {partTypeInformation_nameAtManufacturer}^^xsd:string; cx-vehicle:number {partTypeInformation_manufacturerPartId}^^xsd:string; cx-vehicle:supplier bpnl:{localIdentifiers_manufacturerId}; cx-vehicle:productionDate {manufacturingInformation_date}^^xsd:date . + source SELECT "catenaXId", "localIdentifiers_partInstanceId", "partTypeInformation_nameAtManufacturer", "partTypeInformation_manufacturerPartId", "localIdentifiers_manufacturerId", "manufacturingInformation_date" FROM "HI_TEST_OEM"."CX_RUL_SerialPartTypization_Component" parts + + mappingId partAnalysis + target uuid:{catenaXId}/{targetComponentId} cx-reliability:analysedObject uuid:{targetComponentId}. + source SELECT "catenaXId", "targetComponentId" FROM "HI_TEST_OEM"."CX_RUL_Analysis" analysis + + mappingId analysisInformation + target uuid:{catenaXId}/{targetComponentId} rdf:type cx-reliability:Analysis; cx-reliability:operatingHoursOfVehicle {metadata_status_operatingHours_avg}^^xsd:float; cx-core:startDateTime {metadata_status_date_min}^^xsd:dateTime; cx-core:endDateTime {metadata_status_date_max}^^xsd:dateTime; cx-reliability:mileageOfVehicle {metadata_status_mileage_avg}^^xsd:int. + source SELECT "catenaXId", "targetComponentId", "metadata_status_operatingHours_avg", "metadata_status_date_min", "metadata_status_date_max", "metadata_status_mileage_avg" FROM "HI_TEST_OEM"."CX_RUL_Analysis" loadspectrum + + mappingId analysisResult + target uuid:{catenaXId}/{targetComponentId} cx-reliability:result uuid:{catenaXId}/{targetComponentId}/{metadata_componentDescription} . + source SELECT "catenaXId", "targetComponentId", "metadata_componentDescription" FROM "HI_TEST_OEM"."CX_RUL_LoadCollective" loadspectrum + + mappingId loadspectrum + target uuid:{catenaXId}/{targetComponentId}/{metadata_componentDescription} rdf:type cx-reliability:LoadSpectrum; cx-core:id cx-taxo:{metadata_componentDescription}; cx-core:name {metadata_projectDescription}^^xsd:string; cx-reliability:description {metadata_routeDescription}^^xsd:string; cx-reliability:countingValue {header_countingValue}^^xsd:string; cx-reliability:countingUnit {header_countingUnit}^^xsd:string; cx-reliability:countingMethod {header_countingMethod}^^xsd:string; cx-reliability:channels {header_channels}^^json:Object; cx-reliability:classes {body_classes}^^json:Object; cx-reliability:values {body_counts_countsList}^^json:Object . + source SELECT "catenaXId", "targetComponentId", "metadata_projectDescription", "metadata_componentDescription", "metadata_routeDescription", "metadata_status_date", "header_countingValue", "header_countingUnit", "header_countingMethod", "header_channels", "body_counts_countsList", "body_classes" FROM "HI_TEST_OEM"."CX_RUL_LoadCollective" loadspectrum + ]] + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "my-provider-agent.domain" + annotations: + nginx.ingress.kubernetes.io/rewrite-target: /$1 + nginx.ingress.kubernetes.io/use-regex: "true" + # -- Agent endpoints exposed by this ingress resource + endpoints: + - telematics + tls: + enabled: true + secretName: my-provider-tls +``` + +### 3. Testdrive the Provisioning Agent + +After the provisioning agent has been setup, you may already invoke SPARQL queries against it in the KA-BIND profile: + +```console +curl --location 'https://my-provider-agent.domain/telematics/sparql' \ +--header 'Content-Type: application/sparql-query' \ +--header 'Accept: application/json' \ +--data 'PREFIX cx-common: +PREFIX cx-core: +PREFIX cx-vehicle: +PREFIX cx-reliability: +PREFIX rdf: +PREFIX rdfs: +PREFIX xsd: +PREFIX json: + +SELECT ?vehicle ?van ?aggregate ?assembly ?supplier ?teleAnalysis ?operatingTime ?mileage ?recordDate ?ls_type ?ls_name ?ls_value ?ls_unit ?ls_method ?ls_channels ?ls_classes ?ls_values WHERE { + + VALUES (?van ?aggregate) { + ("FNLQNRVCOFLHAQ"^^xsd:string "Differential Gear"^^xsd:string) + } + + VALUES (?ls_type) { + () + } + + ?vehicle rdf:type cx-vehicle:Vehicle; + cx-vehicle:vehicleIdentificationNumber ?van. + + ?assembly rdf:type cx-vehicle:Part; + cx-vehicle:name ?aggregate; + cx-vehicle:isPartOf ?vehicle; + cx-vehicle:supplier ?supplier. + + ?teleAnalysis rdf:type cx-reliability:Analysis; + cx-reliability:analysedObject ?assembly; + cx-reliability:operatingHoursOfVehicle ?operatingTime; + cx-reliability:mileageOfVehicle ?mileage; + cx-core:startDateTime ?recordDate; + cx-reliability:result [ + cx-core:id ?ls_type; + cx-core:name ?ls_name; + cx-reliability:countingValue ?ls_value; + cx-reliability:countingUnit ?ls_unit; + cx-reliability:countingMethod ?ls_method; + cx-reliability:channels ?ls_channels; + cx-reliability:classes ?ls_classes; + cx-reliability:values ?ls_values + ]. +} +' +``` + +and you should receive an answer, such as + +```json +{ + "head": { + "vars": [ + "vehicle", + "van", + "aggregate", + "assembly", + "supplier", + "teleAnalysis", + "operatingTime", + "mileage", + "recordDate", + "ls_type", + "ls_name", + "ls_value", + "ls_unit", + "ls_method", + "ls_channels", + "ls_classes", + "ls_values" + ] + }, + "results": { + "bindings": [ + { + "vehicle": { + "type": "uri", + "value": "urn:uuid:79d19614-b699-4716-b232-ef250e1c1772" + }, + "van": { + "type": "literal", + "value": "FNLQNRVCOFLHAQ" + }, + "aggregate": { + "type": "literal", + "value": "Differential Gear" + }, + "assembly": { + "type": "uri", + "value": "urn:uuid:4773625a-5e56-4879-abed-475be29bd664" + }, + "supplier": { + "type": "uri", + "value": "bpn:legal:BPNL00000003B2OM" + }, + "teleAnalysis": { + "type": "uri", + "value": "urn:uuid:79d19614-b699-4716-b232-ef250e1c1772/4773625a-5e56-4879-abed-475be29bd664" + }, + "operatingTime": { + "datatype": "http://www.w3.org/2001/XMLSchema#float", + "type": "literal", + "value": "2230.1333333333337" + }, + "mileage": { + "datatype": "http://www.w3.org/2001/XMLSchema#int", + "type": "literal", + "value": "51440" + }, + "recordDate": { + "datatype": "http://www.w3.org/2001/XMLSchema#dateTime", + "type": "literal", + "value": "2022-03-15T12:00:00.000Z" + }, + "ls_type": { + "type": "uri", + "value": "https://w3id.org/catenax/taxonomy#GearSet" + }, + "ls_name": { + "type": "literal", + "value": "projectnumber Stadt" + }, + "ls_value": { + "type": "literal", + "value": "Counts" + }, + "ls_unit": { + "type": "literal", + "value": "unit:ONE" + }, + "ls_method": { + "type": "literal", + "value": "LRD" + }, + "ls_channels": { + "datatype": "https://json-schema.org/draft/2020-12/schema#Object", + "type": "literal", + "value": "[ {\\x0A \"unit\" : \"unit:rpm\",\\x0A \"numberOfBins\" : 128,\\x0A \"channelName\" : \"N_TU\",\\x0A \"upperLimit\" : 12700.0,\\x0A \"lowerLimit\" : -100.0\\x0A}, {\\x0A \"unit\" : \"unit:Nm\",\\x0A \"numberOfBins\" : 128,\\x0A \"channelName\" : \"T_TU\",\\x0A \"upperLimit\" : 1290.0,\\x0A \"lowerLimit\" : -1270.0\\x0A}, {\\x0A \"unit\" : \"unit:ONE\",\\x0A \"numberOfBins\" : 10,\\x0A \"channelName\" : \"Z_GANG\",\\x0A \"upperLimit\" : 9.5,\\x0A \"lowerLimit\" : -0.5\\x0A} ]" + }, + "ls_classes": { + "datatype": "https://json-schema.org/draft/2020-12/schema#Object", + "type": "literal", + "value": "[ {\\x0A \"className\" : \"N_TU-class\",\\x0A \"classList\" : [ 1, 1, 1, 2, 3 ]\\x0A}, {\\x0A \"className\" : \"Z_GANG-class\",\\x0A \"classList\" : [ 1, 3, 2, 3, 3 ]\\x0A} ]" + }, + "ls_values": { + "datatype": "https://json-schema.org/draft/2020-12/schema#Object", + "type": "literal", + "value": "[ 0.6996546387672424, 2.277406692504883, 3.5231547355651855, 13.261415481567383, 28.902271270751953 ]" + } + } + ] + } +} +``` + +## Quick Setup Guide for Function Provisioning (Remoting) + +### 1. Add a Helm Dependency to the Binding (Remoting) Agent + +Add a helm dependency to your umbrella/infrastructure Chart.yaml (this example uses a [Behaviour Twin KIT](../../behaviour-twin-kit/overview) Remaining Useful Life RUL and Health Indicator HIbackends, see [here](https://github.com/eclipse-tractusx/knowledge-agents/blob/main/remoting/README.md) for more options and full details). + +```yaml + - name: remoting-agent + repository: https://eclipse-tractusx.github.io/charts/dev + version: 1.12.19 + alias: my-remoting-agent +``` + +### 2. Configure the Remoting Agent with a Function Binding + +Then configure the remoting agent in the values.yaml - especially you introduce so-called bindings which are correspondences between REST-based API calls (carrying either JSON or XML schemas) and dedciated invocation nodes that are related with input and output predicates in a graph. Using these bindings, the remoting agent will be able to translate any SPARQL query (or more specific: a SPARQL profile called KA-BIND-FUNC) into batches of API calls. + +Each binding will then be presented by its own repository (= graph). Each graph usually corresponds to a use case role, such as the SUPPLIER providing either RUL or HI prognosis function in a Behaviour Twin Prognosis. The use case role will determine the ontology concepts which the use case participant may need to provide/map or consume in its skills. In the following example, we map existing API backends to the [Behaviour Ontology](https://w3id.org/catenax/ontology/behaviour), the [Reliability Ontology](https://w3id.org/catenax/ontology/reliability), the [Vehicle Ontology](https://w3id.org/catenax/ontology/vehicle), the [Function Ontology](https://w3id.org/catenax/ontology/function), the [Common (Dataspace) Ontology](https://w3id.org/catenax/ontology/common) and the [Core (Meta) Ontology](https://w3id.org/catenax/ontology/core) - all being part of the [Complete (Merged) Ontology](https://w3id.org/catenax/ontology). + +The below binding resources are written in a [Terse Triple Language - TTL](https://www.w3.org/TR/turtle/) syntax suitable for [RDF4J](https://rdf4j.org/documentation/tools/repository-configuration/) repositories. Note that the network interface is not supposed to be public (hence authentication is not used there), but should only be visible to the [Agent Plane](agent_edc). + +```yaml +my-remoting-agent: + nameOverride: my-remoting-agent + fullnameOverride: my-remoting-agent + ingresses: + - enabled: true + # -- The hostname to be used to precisely map incoming traffic onto the underlying network service + hostname: "my-remoting-agent.domain" + # -- Agent endpoints exposed by this ingress resource + endpoints: + - default + tls: + enabled: true + secretName: my-remoting-tls + repositories: + rul: |- + # + # Rdf4j configuration for a rul-specific remoting + # + @prefix rdf: . + @prefix rdfs: . + @prefix rep: . + @prefix sr: . + @prefix sail: . + @prefix sp: . + @prefix xsd: . + @prefix json: . + @prefix dcterms: . + @prefix cx-fx: . + @prefix cx-common: . + @prefix cx-core: . + @prefix cx-vehicle: . + @prefix cx-reliability: . + @prefix cx-behaviour: . + + [] rdf:type rep:Repository ; + rep:repositoryID "rul" ; + rdfs:label "Remainig Useful Life Functions Repository" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:supportsInvocation cx-behaviour:RemainingUsefulLife; + cx-fx:callbackAddress ; + ] + ]. + + cx-behaviour:RemainingUsefulLife rdf:type cx-fx:Function; + dcterms:description "Remaining Useful Life is an asynchronous batch invocation."@en ; + dcterms:title "Remaining Useful Life" ; + cx-fx:targetUri "http://service-backend:5005/api/rul2"; + cx-fx:invocationMethod "POST-JSON"; + # cx-common:authenticationKey "Authorization"; + # cx-common:authenticationCode "Basic TOKEN"; + cx-fx:invocationMethod "POST-JSON"; + cx-fx:invocationIdProperty "header.notificationID,content.requestRefId"; + cx-fx:callbackProperty "header.respondAssetId"; + cx-fx:input cx-behaviour:notification; + cx-fx:input cx-behaviour:sender; + cx-fx:input cx-behaviour:senderConnector; + cx-fx:input cx-behaviour:recipient; + cx-fx:input cx-behaviour:recipientConnector; + cx-fx:input cx-behaviour:recipient; + cx-fx:input cx-behaviour:recipientConnector; + cx-fx:input cx-behaviour:severity; + cx-fx:input cx-behaviour:status; + cx-fx:input cx-behaviour:targetDate; + cx-fx:input cx-behaviour:timeStamp; + cx-fx:input cx-behaviour:classification; + cx-fx:input cx-behaviour:component; + cx-fx:input cx-behaviour:observationType; + cx-fx:input cx-behaviour:metadata; + cx-fx:input cx-behaviour:statusDate; + cx-fx:input cx-behaviour:statusOperatingHours; + cx-fx:input cx-behaviour:statusMileage; + cx-fx:input cx-behaviour:countingMethod; + cx-fx:input cx-behaviour:countingValue; + cx-fx:input cx-behaviour:countingUnit; + cx-fx:input cx-behaviour:headerChannels; + cx-fx:input cx-behaviour:bodyClasses; + cx-fx:input cx-behaviour:bodyCountsList; + cx-fx:result cx-behaviour:RemainingUsefulLifeResult. + + cx-behaviour:notification rdf:type cx-fx:Argument; + dcterms:description "A default notification output template."@en ; + dcterms:title "Notification Template"; + cx-fx:argumentName "."; + cx-fx:dataType json:Object; + cx-fx:priority "-1"^^xsd:integer; + cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": []}}"^^json:Object. + + cx-behaviour:sender rdf:type cx-fx:Argument; + dcterms:description "Sender of the notification as a BPN."@en ; + dcterms:title "Notification Sender"; + cx-fx:argumentName "header.senderBPN"; + cx-fx:default "anonymous". + + cx-behaviour:senderConnector rdf:type cx-fx:Argument; + dcterms:description "Sender Address of the notification as a URL."@en ; + dcterms:title "Notification Sender Address"; + cx-fx:argumentName "header.senderAddress"; + cx-fx:default "unknown". + + cx-behaviour:recipient rdf:type cx-fx:Argument; + dcterms:description "Recipient of the notification as a BPN."@en ; + dcterms:title "Notification Recipient"; + cx-fx:argumentName "header.recipientBPN"; + cx-fx:default "anonymous". + + cx-behaviour:recipientConnector rdf:type cx-fx:Argument; + dcterms:description "Recipient Address of the notification as a URL."@en ; + dcterms:title "Notification Recipient Address"; + cx-fx:argumentName "header.recipientAddress"; + cx-fx:default "unknown". + + cx-behaviour:severity rdf:type cx-fx:Argument; + dcterms:description "Severity of the notification."@en ; + dcterms:title "Notification Severity"; + cx-fx:argumentName "header.severity"; + cx-fx:dataType xsd:string; + cx-fx:default "MINOR". + + cx-behaviour:status rdf:type cx-fx:Argument; + dcterms:description "Status of the notification."@en ; + dcterms:title "Notification Status"; + cx-fx:argumentName "header.status"; + cx-fx:dataType xsd:string; + cx-fx:default "SENT". + + cx-behaviour:targetDate rdf:type cx-fx:Argument; + dcterms:description "Target Date of the notification."@en ; + dcterms:title "Notification Target Date"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "header.targetDate". + + cx-behaviour:timeStamp rdf:type cx-fx:Argument; + dcterms:description "Timestamp of the notification."@en ; + dcterms:title "Notification Timestamp"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "header.timeStamp". + + cx-behaviour:classification rdf:type cx-fx:Argument; + dcterms:description "Classification of the notification."@en ; + dcterms:title "Notification Classification"; + cx-fx:argumentName "header.classification"; + cx-fx:dataType xsd:string; + cx-fx:default "RemainingUsefulLifePredictor". + + cx-behaviour:component rdf:type cx-fx:Argument; + dcterms:description "Component of the Predicition."@en ; + dcterms:title "Predicted Component"; + cx-fx:formsBatchGroup "true"^^xsd:boolean; + cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId". + + cx-behaviour:observationType rdf:type cx-fx:Argument; + dcterms:description "The type of observation made."@en ; + dcterms:title "Observation Type"; + cx-fx:strip ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription"; + cx-fx:dataType xsd:string. + + cx-behaviour:metadata rdf:type cx-fx:Argument; + dcterms:description "Metadata of the Loadspectrum."@en ; + dcterms:title "Loadspectrum Metadata"; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}"; + cx-fx:dataType json:Object; + cx-fx:priority "0"^^xsd:integer; + cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object. + + cx-behaviour:statusDate rdf:type cx-fx:Argument; + dcterms:description "Time of Recording."@en ; + dcterms:title "Loadspectrum Recording Time"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date". + + cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument; + dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Operating Hours"; + cx-fx:dataType xsd:float; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours". + + cx-behaviour:statusMileage rdf:type cx-fx:Argument; + dcterms:description "Mileage of Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Mileage"; + cx-fx:dataType xsd:int; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage". + + cx-behaviour:countingUnit rdf:type cx-fx:Argument; + dcterms:description "Counting Unit of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Unit"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit". + + cx-behaviour:countingValue rdf:type cx-fx:Argument; + dcterms:description "Counting Value Name of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Value"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName". + + cx-behaviour:countingMethod rdf:type cx-fx:Argument; + dcterms:description "Counting Method of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Method"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod". + + cx-behaviour:headerChannels rdf:type cx-fx:Argument; + dcterms:description "Channels of Load Spectrum."@en ; + dcterms:title "Loadspectrum Channels"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels". + + cx-behaviour:bodyClasses rdf:type cx-fx:Argument; + dcterms:description "Classes of Load Spectrum."@en ; + dcterms:title "Loadspectrum Classes"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes". + + cx-behaviour:bodyCountsList rdf:type cx-fx:Argument; + dcterms:description "Counts List of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counts List"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList". + + cx-behaviour:RemainingUsefulLifeResult rdf:type cx-fx:Result; + dcterms:description "The asynchronous notification response."@en ; + dcterms:title "Asynchronous notification response." ; + cx-fx:callbackProperty "header.referencedNotificationID"; + cx-fx:outputProperty "content.endurancePredictorOutputs"; + cx-fx:output cx-behaviour:remainingOperatingHours; + cx-fx:output cx-behaviour:remainingRunningDistance. + + cx-behaviour:remainingOperatingHours rdf:type cx-fx:ReturnValue; + dcterms:description "Predicted Operating Hours of Remaining Useful Life Response"@en ; + dcterms:title "Remaining Useful Life Operating Hours" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingOperatingHours"; + cx-fx:dataType xsd:float. + + cx-behaviour:remainingRunningDistance rdf:type cx-fx:ReturnValue; + dcterms:description "Predicted Distance of Remaining Useful Life Response"@en ; + dcterms:title "Remaining Useful Life Distance" ; + cx-fx:valuePath "0.remainingUsefulLife.remainingRunningDistance"; + cx-fx:dataType xsd:int. + health: |- + # + # Rdf4j configuration for a hi-specific remoting + # + @prefix rdf: . + @prefix rdfs: . + @prefix rep: . + @prefix sr: . + @prefix sail: . + @prefix sp: . + @prefix xsd: . + @prefix json: . + @prefix dcterms: . + @prefix cx-fx: . + @prefix cx-common: . + @prefix cx-core: . + @prefix cx-vehicle: . + @prefix cx-reliability: . + @prefix cx-behaviour: . + + [] rdf:type rep:Repository ; + rep:repositoryID "health" ; + rdfs:label "Health Indicator Functions Repository" ; + rep:repositoryImpl [ + rep:repositoryType "openrdf:SailRepository" ; + sr:sailImpl [ + sail:sailType "org.eclipse.tractusx.agents:Remoting" ; + cx-fx:supportsInvocation cx-behaviour:HealthIndication; + cx-fx:callbackAddress ; + ] + ]. + + cx-behaviour:HealthIndication rdf:type cx-fx:Function; + dcterms:description "Health Indicator is an asynchronous batch invocation."@en ; + dcterms:title "Health Indicator" ; + cx-fx:targetUri "http://service-backend:5005/api/hi2"; + cx-fx:invocationMethod "POST-JSON"; + # cx-common:authenticationKey "Authorization"; + # cx-common:authenticationCode "Basic TOKEN"; + cx-fx:invocationMethod "POST-JSON"; + cx-fx:invocationIdProperty "header.notificationID,content.requestRefId"; + cx-fx:callbackProperty "header.respondAssetId"; + cx-fx:input cx-behaviour:notification; + cx-fx:input cx-behaviour:sender; + cx-fx:input cx-behaviour:senderConnector; + cx-fx:input cx-behaviour:recipient; + cx-fx:input cx-behaviour:recipientConnector; + cx-fx:input cx-behaviour:recipient; + cx-fx:input cx-behaviour:recipientConnector; + cx-fx:input cx-behaviour:severity; + cx-fx:input cx-behaviour:status; + cx-fx:input cx-behaviour:targetDate; + cx-fx:input cx-behaviour:timeStamp; + cx-fx:input cx-behaviour:classification; + cx-fx:input cx-behaviour:component; + cx-fx:input cx-behaviour:observationType; + cx-fx:input cx-behaviour:metadata; + cx-fx:input cx-behaviour:statusDate; + cx-fx:input cx-behaviour:statusOperatingHours; + cx-fx:input cx-behaviour:statusMileage; + cx-fx:input cx-behaviour:countingMethod; + cx-fx:input cx-behaviour:countingValue; + cx-fx:input cx-behaviour:countingUnit; + cx-fx:input cx-behaviour:headerChannels; + cx-fx:input cx-behaviour:bodyClasses; + cx-fx:input cx-behaviour:bodyCountsList; + cx-fx:result cx-behaviour:HealthIndicationResult. + + cx-behaviour:notification rdf:type cx-fx:Argument; + dcterms:description "A default notification output template."@en ; + dcterms:title "Notification Template"; + cx-fx:argumentName "."; + cx-fx:dataType json:Object; + cx-fx:priority "-1"^^xsd:integer; + cx-fx:default "{ \"content\": { \"endurancePredictorInputs\": []}}"^^json:Object. + + cx-behaviour:sender rdf:type cx-fx:Argument; + dcterms:description "Sender of the notification as a BPN."@en ; + dcterms:title "Notification Sender"; + cx-fx:argumentName "header.senderBPN"; + cx-fx:default "anonymous". + + cx-behaviour:senderConnector rdf:type cx-fx:Argument; + dcterms:description "Sender Address of the notification as a URL."@en ; + dcterms:title "Notification Sender Address"; + cx-fx:argumentName "header.senderAddress"; + cx-fx:default "unknown". + + cx-behaviour:recipient rdf:type cx-fx:Argument; + dcterms:description "Recipient of the notification as a BPN."@en ; + dcterms:title "Notification Recipient"; + cx-fx:argumentName "header.recipientBPN"; + cx-fx:default "anonymous". + + cx-behaviour:recipientConnector rdf:type cx-fx:Argument; + dcterms:description "Recipient Address of the notification as a URL."@en ; + dcterms:title "Notification Recipient Address"; + cx-fx:argumentName "header.recipientAddress"; + cx-fx:default "unknown". + + cx-behaviour:severity rdf:type cx-fx:Argument; + dcterms:description "Severity of the notification."@en ; + dcterms:title "Notification Severity"; + cx-fx:argumentName "header.severity"; + cx-fx:dataType xsd:string; + cx-fx:default "MINOR". + + cx-behaviour:status rdf:type cx-fx:Argument; + dcterms:description "Status of the notification."@en ; + dcterms:title "Notification Status"; + cx-fx:argumentName "header.status"; + cx-fx:dataType xsd:string; + cx-fx:default "SENT". + + cx-behaviour:targetDate rdf:type cx-fx:Argument; + dcterms:description "Target Date of the notification."@en ; + dcterms:title "Notification Target Date"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "header.targetDate". + + cx-behaviour:timeStamp rdf:type cx-fx:Argument; + dcterms:description "Timestamp of the notification."@en ; + dcterms:title "Notification Timestamp"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "header.timeStamp". + + cx-behaviour:classification rdf:type cx-fx:Argument; + dcterms:description "Classification of the notification."@en ; + dcterms:title "Notification Classification"; + cx-fx:argumentName "header.classification"; + cx-fx:dataType xsd:string; + cx-fx:default "RemainingUsefulLifePredictor". + + cx-behaviour:component rdf:type cx-fx:Argument; + dcterms:description "Component of the Predicition."@en ; + dcterms:title "Predicted Component"; + cx-fx:formsBatchGroup "true"^^xsd:boolean; + cx-fx:argumentName "content.endurancePredictorInputs.0.componentId,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.targetComponentId". + + cx-behaviour:observationType rdf:type cx-fx:Argument; + dcterms:description "The type of observation made."@en ; + dcterms:title "Observation Type"; + cx-fx:strip ; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.componentDescription"; + cx-fx:dataType xsd:string. + + cx-behaviour:metadata rdf:type cx-fx:Argument; + dcterms:description "Metadata of the Loadspectrum."@en ; + dcterms:title "Loadspectrum Metadata"; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}"; + cx-fx:dataType json:Object; + cx-fx:priority "0"^^xsd:integer; + cx-fx:default "{ \"metadata\":{ \"projectDescription\": \"pnr_76543\", \"routeDescription\": \"logged\" }, \"bammId\": \"urn:bamm:io.openmanufacturing.digitaltwin:1.0.0#ClassifiedLoadSpectrum\" }"^^json:Object. + + cx-behaviour:statusDate rdf:type cx-fx:Argument; + dcterms:description "Time of Recording."@en ; + dcterms:title "Loadspectrum Recording Time"; + cx-fx:dataType xsd:dateTime; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.date". + + cx-behaviour:statusOperatingHours rdf:type cx-fx:Argument; + dcterms:description "Operating Hours of Target Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Operating Hours"; + cx-fx:dataType xsd:float; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.operatingHours". + + cx-behaviour:statusMileage rdf:type cx-fx:Argument; + dcterms:description "Mileage of Component at Time of Recording."@en ; + dcterms:title "Loadspectrum Mileage"; + cx-fx:dataType xsd:int; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.metadata.status.mileage". + + cx-behaviour:countingUnit rdf:type cx-fx:Argument; + dcterms:description "Counting Unit of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Unit"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingUnit". + + cx-behaviour:countingValue rdf:type cx-fx:Argument; + dcterms:description "Counting Value Name of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Value"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingValue,content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsName". + + cx-behaviour:countingMethod rdf:type cx-fx:Argument; + dcterms:description "Counting Method of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counting Method"; + cx-fx:dataType xsd:string; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.countingMethod". + + cx-behaviour:headerChannels rdf:type cx-fx:Argument; + dcterms:description "Channels of Load Spectrum."@en ; + dcterms:title "Loadspectrum Channels"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.header.channels". + + cx-behaviour:bodyClasses rdf:type cx-fx:Argument; + dcterms:description "Classes of Load Spectrum."@en ; + dcterms:title "Loadspectrum Classes"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.classes". + + cx-behaviour:bodyCountsList rdf:type cx-fx:Argument; + dcterms:description "Counts List of Load Spectrum."@en ; + dcterms:title "Loadspectrum Counts List"; + cx-fx:dataType json:Object; + cx-fx:argumentName "content.endurancePredictorInputs.0.classifiedLoadSpectrum{https://w3id.org/catenax/ontology/behaviour#observationType}.body.counts.countsList". + + cx-behaviour:HealthIndicationResult rdf:type cx-fx:Result; + dcterms:description "The asynchronous notification response."@en ; + dcterms:title "Asynchronous notification response." ; + cx-fx:callbackProperty "header.referencedNotificationID"; + cx-fx:outputProperty "content.endurancePredictorOutputs"; + cx-fx:output cx-behaviour:healthIndicatorValues. + + cx-behaviour:healthIndicatorValues rdf:type cx-fx:ReturnValue; + dcterms:description "Predicted Health Indicator Response"@en ; + dcterms:title "Health Indicator Values" ; + cx-fx:valuePath "0.healthIndicator.healthIndicatorValues"; + cx-fx:dataType json:Object. +``` + +### 3. Test Drive the Remoting Agent + +After the remoting agent has been setup, you may already invoke SPARQL queries against the RUL repository in the KA-BIND-FUNC profile: + +```console +curl --location 'https://my-remoting-agent.domain/rdf4j-server/repositories/rul' \ +--header 'Content-Type: application/sparql-query' \ +--header 'Accept: application/json' \ +--data 'PREFIX xsd: +PREFIX json: +PREFIX cx-life: +PREFIX uuid: + +SELECT ?invocation ?component ?timeHours ?distanceKm +WHERE { + VALUES (?component ?ls_type) { ( uuid:1 "GearOil"^^xsd:string) ( uuid:1 "GearSet"^^xsd:string)} + + ?invocation a cx-life:RemainingUsefulLife; + cx-life:sender ; + cx-life:senderConnector ; + cx-life:recipient ; + cx-life:recipientConnector ; + cx-life:targetDate "2022-11-24T22:07:02.611048800Z"^^xsd:dateTime; + cx-life:timeStamp "2022-11-24T11:24:36.744320Z"^^xsd:dateTime; + cx-life:component ?component; + cx-life:observationType ?ls_type; + cx-life:statusDate "2023-02-19T10:42:36.744320Z"^^xsd:dateTime; + cx-life:statusOperatingHours "32137.9"^^xsd:float; + cx-life:statusMileage "865432"^^xsd:int; + cx-life:countingValue "Time"^^xsd:string; + cx-life:countingUnit ; + cx-life:countingMethod "TimeAtLevel"^^xsd:string; + cx-life:headerChannels "[ { \"channelName\": \"TC_SU\", \"unit\": \"unit:degreeCelsius\", \"lowerLimit\": 0, \"upperLimit\": 640, \"numberOfBins\": 128 } ]"^^json:Object; + cx-life:bodyClasses "[ { \"className\": \"TC_SU-class\", \"classList\": [ 14, 15, 16, 17, 18, 19, 20, 21, 22 ] }]"^^json:Object; + cx-life:bodyCountsList "[34968.93,739782.51,4013185.15,46755055.56,25268958.35,8649735.95,9383635.35,19189260.77,1353867.54]"^^json:Object; + cx-life:remainingOperatingHours ?timeHours; + cx-life:remainingRunningDistance ?distanceKm + . +}' +``` + +and you should receive a prognosis answer, such as + +```json +{ + "head": { + "vars": [ + "invocation", + "component", + "timeHours", + "distanceKm" + ] + }, + "results": { + "bindings": [ + { + "invocation": { + "type": "uri", + "value": "https://w3id.org/catenax/ontology/behaviour#?invocation=0" + }, + "component": { + "type": "uri", + "value": "urn:uuid:1" + }, + "distanceKm": { + "datatype": "http://www.w3.org/2001/XMLSchema#int", + "type": "literal", + "value": "252291" + }, + "timeHours": { + "datatype": "http://www.w3.org/2001/XMLSchema#float", + "type": "literal", + "value": "4516.4" + } + } + ] + } +} +``` + +Invocation against the HEALTH repository works like this: + +```console +curl --location 'https://my-remoting-agent.domain/rdf4j-server/repositories/health' \ +--header 'Content-Type: application/sparql-query' \ +--header 'Accept: application/json' \ +--data 'PREFIX xsd: +PREFIX json: +PREFIX cx-life: +PREFIX uuid: + +SELECT ?invocation ?component ?result +WHERE { + VALUES (?component ?ls_type) { ( uuid:1 "Clutch"^^xsd:string) } + + ?invocation a cx-life:HealthIndication; + cx-life:sender ; + cx-life:senderConnector ; + cx-life:recipient ; + cx-life:recipientConnector ; + cx-life:targetDate "2022-11-24T22:07:02.611048800Z"^^xsd:dateTime; + cx-life:timeStamp "2022-11-24T11:24:36.744320Z"^^xsd:dateTime; + cx-life:component ?component; + cx-life:observationType ?ls_type; + cx-life:statusDate "2023-02-19T10:42:36.744320Z"^^xsd:dateTime; + cx-life:statusOperatingHours "32137.9"^^xsd:float; + cx-life:statusMileage "865432"^^xsd:int; + cx-life:countingValue "Time"^^xsd:string; + cx-life:countingUnit ; + cx-life:countingMethod "TimeAtLevel"^^xsd:string; + cx-life:headerChannels "[ { \"channelName\": \"TC_SU\", \"unit\": \"unit:degreeCelsius\", \"lowerLimit\": 0, \"upperLimit\": 640, \"numberOfBins\": 128 } ]"^^json:Object; + cx-life:bodyClasses "[ { \"className\": \"TC_SU-class\", \"classList\": [ 14, 15, 16, 17, 18, 19, 20, 21, 22 ] }]"^^json:Object; + cx-life:bodyCountsList "[34968.93,739782.51,4013185.15,46755055.56,25268958.35,8649735.95,9383635.35,19189260.77,1353867.54]"^^json:Object; + cx-life:healthIndicatorValues ?result. +}' +``` + +and you should receive a different prognosis answer, such as + +```json +{ + "head": { + "vars": [ + "invocation", + "component", + "result" + ] + }, + "results": { + "bindings": [ + { + "result": { + "datatype": "https://json-schema.org/draft/2020-12/schema#Object", + "type": "literal", + "value": "[0.878515804632653,0.29795938515521947]" + }, + "invocation": { + "type": "uri", + "value": "https://w3id.org/catenax/ontology/behaviour#?invocation=2" + }, + "component": { + "type": "uri", + "value": "urn:uuid:1" + } + } + ] + } +} +``` + +## Quick Setup Guide for Registering A Graph in the EDC + +The next steps require that you have already deployed the [Agent-Enabled EDC](agent_edc). +We demonstrate the steps by interacting with the EDC Control Plane Management API + +### 1. Register A Graph Policy + +The following example installs a policy which is just checking the business partner numbers and dataspace memberships +of the participants. For more realistic policies aligned with the data sovereignity rules/profiles, see [this discussion](policy). + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v2/policydefinitions' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Policy?me=Graph", + "policy": { + "@context": "http://www.w3.org/ns/odrl.jsonld", + "@type": "Set", + "uid": "https://w3id.org/catenax/ontology/common#Policy?me=Graph", + "permission": [ + { + "target": "https://w3id.org/catenax/ontology/common#GraphAsset?me=", + "action": "USE", + "constraint": { + "@type": "LogicalConstraint", + "or" : [ + { + "@type" : "Constraint", + "leftOperand" : "BusinessPartnerNumber", + "operator" :"eq", + "rightOperand" : "BPNL00000PARTNER" + }, + { + "@type" : "Constraint", + "leftOperand" : "BusinessPartnerNumber", + "operator" :"eq", + "rightOperand" : "BPNL000000001234" + } + ] + } + }] + } +} +' +``` + +### 2. Register A Graph Contract + +The following contract definition exposes upcoming (skill) assets under the previously installed (skill) policy. +It does that for both catalogue/offer requests (access policy) and actual agent-based transfers (contract policy). Usually, +this makes sense as the party being able to receive and offer should also be able to negotiate a transfer to (here: execute) it. +Note that the definition foresees a "custom" asset property "cx-common:publishedUnderContract" with which all agent assets can be explictely "assigned" +to a contract. + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v2/contractdefinitions' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?me=Graph", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?me=Graph", + "contractPolicyId": "Policy?me=Graph", + "assetsSelector" : { + "@type" : "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?me=Graph" + } +} +' +``` + +### 3. Register Graph Assets including Shape Descriptions + +#### Federated (Data) Graph Asset + +In the next step, we install a graph asset in the EDC which maybe invoked from any business partner that is eligid in the presented contract. + +The asset can also be "federated". That means that its meta-data can be regularly synchronized by the business partner and used in [Skills and Skill Assets](agent_edc) which search for corresponding assets +(see the "cx-common:isFederated" public property). That also means that a skill can traverse the asset to move on its computation further to a set of other allowed connectors/assets (see the "cx-common:allowServicePattern" dataaddress property). + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v3/assets' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "GraphAsset?me=BehaviourTwinReliability", + "properties": { + "cx-common:name": "Reliability Data Service", + "cx-common:description": "Test Telematics Data as provided by an OEM.", + "cx-common:description@de": "Test Telematik Daten eines OEM.", + "cx-common:version": "CX_RuL_Testdata_v1.0.0", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?me=Graph", + "dct:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n:LoadSpectrumShape a sh:NodeShape ;\n sh:targetClass cx-reliability:LoadSpectrum;\n sh:property :observationOfShape, \n :countingValueShape, \n :countingUnitShape, \n :countingMethodShape, \n :channelsShape, \n :classesShape, \n :valuesShape.\n\n:observationOfShape a sh:PropertyShape;\n sh:path cx-reliability:observationOf;\n sh:in (cx-taxo:GearOil cx-taxo:GearSet cx-taxo:Clutch).\n\n:countingValueShape a sh:PropertyShape;\n sh:path cx-reliability:countingValue.\n\n:countingUnitShape a sh:PropertyShape;\n sh:path cx-reliability:countingUnit.\n\n:countingMethodShape a sh:PropertyShape;\n sh:path cx-reliability:countingMethod.\n\n:countingMethodShape a sh:PropertyShape;\n sh:path cx-reliability:countingMethod.\n\n:channelsShape a sh:PropertyShape;\n sh:path cx-reliability:channels.\n\n:classesShape a sh:PropertyShape;\n sh:path cx-reliability:classes.\n\n:valuesShape a sh:PropertyShape;\n sh:path cx-reliability:values.", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": { + }, + "dataAddress": { + "id": "GraphAsset?me=BehaviourTwinReliability", + "@type": "DataAddress", + "baseUrl": "https://my-provider.agent.domain/telematics/sparql", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "edcs?://.*" + } +}' +``` + +Note that there are two mechanisms inside the Graph Asset Description with which a skill (which basically is a graph matching language) can "search" for the right asset without using hardcoded asset ids (see also [our modelling guide](../development-view/modelling)). + +The "rdfs:isDefinedBy" property resolves into a full-fledged predicate inside the federated catalogue. By constraining the ontologies that an asset should implement, we can ensure that definitions (classes, properties, relations) that the skill requires are all available and the skill will run in principle. + +The "sh:shapesGraph" property resolves into a full-fledged sub-graph under the asset node in the federated catalogue. By constraining the domains of classes, properties and relations that the asset should provide, the skill can even find out whether the provided data is complete (maybe it just represents a single partition) or whether it fits with the types of other assets that the skill must combine. + +To demonstrate this alignment, we have already listed the shapes of three interacting assets, a data graph and two function graphsin the [our modelling guide](../development-view/modelling). We have also sketched the SPARQL by which a skill can do such an asset alignment. + +For completeness purposes, we give the two (function) graph registrations in the following + +#### Federated (Function) Graph Assets + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v3/assets' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dc": "https://purl.org/dc/terms/" + }, + "@id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "properties": { + "cx-common:name": "Lifetime Prognosis Service for Gearboxes", + "cx-common:description": "A sample graph asset/offering referring to a specific prognosis resource.", + "cx-common:description@de": "Ein Beispielasset für eine Prognosefunktion.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?supplier=Graph", + "dc:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n# Prognosis Function\n:PrognosisFunctionShape rdf:type sh:NodeShape ;\n sh:targetClass cx-behaviour:PrognosisFunction;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingMethod;\n sh:path cx-behaviour:countingMethod;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingValue;\n sh:path cx-behaviour:countingValue;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingUnit;\n sh:path cx-behaviour:countingUnit;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:channels;\n sh:path cx-behaviour:headerChannels;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:classes;\n sh:path cx-behaviour:bodyClasses;\n ].\n\n:RemainingUsefulLifeShape rdf:type sh:NodeShape ;\n cx-sh:extensionOf :PrognosisFunctionShape;\n sh:targetClass cx-behaviour:RemainingUsefulLife ;\n sh:property[\n cx-sh:hasAsArgument cx-reliability:observationOf;\n sh:path cx-behaviour:observationType;\n sh:in ( cx-taxo:GearSet cx-taxo:GearOil );\n ];\n sh:property :RemainingUsefulLifeResultShape.\n\n:RemainingUsefulLifeResult rdf:type sh:PropertyShape;\n cx-sh:outputOf :RemainingUsefulLifeShape;\n sh:path cx-behaviour:RemainingUsefulLifeResult .\n", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "dataAddress": { + "id": "cx-taxo:GraphAsset?supplier=BehaviourTwinRUL", + "@type": "DataAddress", + "baseUrl": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "https://my-remoting-agent.domain/rdf4j-server/repositories/rul" + } + } +' +``` + +```console +curl --location --globoff 'https://my-connector-control.domain/management/v3/assets' \ +--header 'X-Api-Key: {{customerApiKey}}' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dc": "https://purl.org/dc/terms/" + }, + "@id": "cx-taxo:GraphAsset?supplier=HealthIndicatorGearbox", + "properties": { + "cx-common:name": "Health Prognosis Service for Gearboxes", + "cx-common:description": "A second sample graph asset/offering referring to a specific prognosis resource.", + "cx-common:description@de": "Ein weiteres Beispielasset für eine Prognosefunktion.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?supplier=Graph", + "dc:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": ",,,,", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix rdf: .\n@prefix rdfs: .\n@prefix schema: .\n@prefix sh: .\n@prefix xsd: .\n@prefix edc: .\n@prefix cx-common: .\n@prefix cx-core: .\n@prefix cx-vehicle: .\n@prefix cx-fx: .\n@prefix cx-behaviour: .\n@prefix cx-reliability: .\n@prefix cx-sh: .\n@prefix cx-taxo: .\n@prefix : .\n\n# Prognosis Function\n:PrognosisFunctionShape rdf:type sh:NodeShape ;\n sh:targetClass cx-behaviour:PrognosisFunction;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingMethod;\n sh:path cx-behaviour:countingMethod;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingValue;\n sh:path cx-behaviour:countingValue;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:countingUnit;\n sh:path cx-behaviour:countingUnit;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:channels;\n sh:path cx-behaviour:headerChannels;\n ];\n sh:property [\n cx-sh:hasAsArgument cx-reliability:classes;\n sh:path cx-behaviour:bodyClasses;\n ].\n \n:HealthIndicationShape a sh:NodeShape ;\n cx-sh:extensionOf :PrognosisFunctionShape;\n sh:targetClass cx-behaviour:HealthIndication;\n sh:property [\n cx-sh:hasAsArgument cx-reliability:observationOf;\n sh:path cx-behaviour:observationType;\n sh:in ( cx-taxo:Clutch );\n ];\n sh:property :HealthIndicationResultShape.\n \n:HealthIndicationResultShape a sh:PropertyShape;\n cx-sh:outputOf :HealthIndicationShape;\n sh:path cx-behaviour:HealthIndicationResult .", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "dataAddress": { + "id": "cx-taxo:GraphAsset?supplier=HealthIndicatorGearbox", + "@type": "DataAddress", + "baseUrl": "https://my-remoting-agent.domain/rdf4j-server/repositories/health", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true", + "authKey": "Authorization", + "authCode": "••••••", + "cx-common:allowServicePattern": "https://my-remoting-agent.domain/rdf4j-server/repositories/health" + } +}' +``` + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/testbed.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/testbed.md new file mode 100644 index 00000000000..e42b179cd09 --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/operation-view/testbed.md @@ -0,0 +1,506 @@ +--- +sidebar_position: 1 +title: Testbed +--- + + +This document describes a testbed for checking conformance of the (Knowledge) Agents KIT (=Keep It Together). + +For more information see + +* Our [Adoption](../adoption-view/intro) guideline +* The [Architecture](../development-view/architecture) documentation +* The [EDC Deployment](agent_edc) description +* The [(Data/Function) Provider Deployment](provider) description +* The [AAS Bridge Deployment](bridge) description +* The [Conformity](testbed) testbed +* A [Data Sovereignity & Graph Policy](policy) discussion + +## Test Scripts + +The CAB (Conformity Assessment Body) may use a set of predefined API interactions to run against its own dataspace tenant or let the assessed party run these scripts depending on the assessment method. The scripts are hierarchically organized and can be found under this [Postman Collection](ka_conformity_scripts.postman_collection.json) or online under . For the URLs and identities of the CAB or the CAP (Conformity Assessment Party), the appropriate environment variables have to be set. + +![KA Confirmity Assessment Scrtips](@site/static/img/knowledge-agents/ka_conformity_scripts.png) + +The scripts are organised as follows: + +* 01_TESTASSETS - asset descriptions, policies and contract definitions to be deployed both at the CAB as well as the CAP EDC (Control Plane), see below +* 02_ALL - scripts which need to be run at all CAPs + * 0201_EDC_CONTROL_PLANE - scripts to be run against control plane (transfer check) + * 0202_EDC_DATA_PLANE - scripts to be run against the data plane (callback and proxying) + * 0203_MATCHMAKING_AGENT - scripts to be run against the matchmaking agent + * 0204_FEDERATED_DATA_CATALOGUE - scripts checking the state of the federated data catalogue +* 03_PROVIDER - scripts which need to run at Provider CAPs + * 0301_PROVIDER_DATA - scripts to be run at Data Provider CAPs + * 030101_PROVIDER_DATA_SPARQL - scripts to be run against Data Provider Agents + * 0302_PROVIDER_FUNCTION - scripts to be run at Function Provider CAPs + * 030201_PROVIDER_FUNCTION_SPARQL - scripts to be run against Function Provider Agents +* 04_CONSUMER - scripts to be run against Consumer CAPs + * 0401_CONSUMER_APPLICATION - scripts to be run against a KA-enabled Application + * 040101_CONSUMER_APPLICATION_SPARQL - scripts to be run against a SPARQL-speaking Application +* 05_CORE - scripts to be run against a Core Service CAP + * 0501_CORE_ONTOLOGY - scripts to be run against the Ontology Hosting Capability of the Core Service CAP + * 050101_CORE_ONTOLOGY_MANAGEMENT - scripts to be run against the Ontology Hosting Capability for management + * 050102_CORE_ONTOLOGY_EDITOR - scripts to be run against the Ontology Hosting Capability for editing + +## Test Policies and Contract Definitions + +The CAB may use the following Policy Definitions and Contract Definitions in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. + +### Open Policy + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Policy?cab=Asset&mode=open", + "policy": { + "@context": "http://www.w3.org/ns/odrl.jsonld", + "@type": "Set", + "uid": "https://w3id.org/catenax/ontology/common#Policy?oem=Graph", + "permission": [ + { + "target": "https://w3id.org/catenax/ontology/common#GraphAsset?oem=", + "action": "USE", + "constraint": [] + } + ] + } +} +``` + +### Closed Policy + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Policy?cab=Asset&mode=closed", + "policy": { + "@context": "http://www.w3.org/ns/odrl.jsonld", + "@type": "Set", + "uid": "https://w3id.org/catenax/ontology/common#Policy?oem=Graph", + "permission": [ + { + "target": "https://w3id.org/catenax/ontology/common#GraphAsset?oem=", + "action": "USE", + "constraint": { + "@type": "Constraint", + "leftOperand": "BusinessPartnerNumber", + "operator": "eq", + "rightOperand": "{{cabBPNL}}" + } + } + ] + } +} +``` + +### Open Contract Definition + +```json +{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?cab=Asset&mode=open", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?cab=Asset&mode=open", + "contractPolicyId": "Policy?cab=Asset&mode=open", + "assetsSelector" : { + "@type" : "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?cab=Asset&mode=open" + } +} +``` + +### Closed Contract Definition + +```json +{ + "@context": { + "cx-common": "https://w3id.org/catenax/ontology/common#" + }, + "@id": "Contract?cab=Asset&mode=closed", + "@type": "ContractDefinition", + "accessPolicyId": "Policy?cab=Asset&mode=closed", + "contractPolicyId": "Policy?cab=Asset&mode=closed", + "assetsSelector" : { + "@type" : "CriterionDto", + "operandLeft": "https://w3id.org/catenax/ontology/common#publishedUnderContract", + "operator": "=", + "operandRight": "Contract?cab=Asset&mode=closed" + } +} +``` + +## Test Graph Assets + +The CAB may use the following Graph Asset Descriptions (referring to the contract definitions in the last section) in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. + +### Open Graph Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "GraphAsset?cab=Conforming&mode=open", + "properties": { + "cx-common:name": "Open Conforming Asset.", + "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", + "dct:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix : .\n", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": {}, + "dataAddress": { + "id": "GraphAsset?cab=Conforming&mode=open", + "@type": "DataAddress", + "baseUrl": "{{cabConformingAgent}}/bind", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Closed Graph Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "GraphAsset?cab=Conforming&mode=closed", + "properties": { + "cx-common:name": "Closed Conforming Asset.", + "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", + "dct:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix : .\n", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": {}, + "dataAddress": { + "id": "GraphAsset?cab=Conforming&mode=closed", + "@type": "DataAddress", + "baseUrl": "{{cabConformingAgent}}/bind", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Unfederated Graph Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "GraphAsset?cab=Conforming&mode=unfederated", + "properties": { + "cx-common:name": "Unfederated Conforming Asset.", + "cx-common:description": "A graph asset/offering hosting a conforming agent for testing and conformity checking.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Graph&mode=open", + "dct:type": "cx-taxo:GraphAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SPARQL", + "sh:shapesGraph": "@prefix : .\n", + "cx-common:isFederated": "false^^xsd:boolean" + }, + "privateProperties": {}, + "dataAddress": { + "id": "GraphAsset?cab=Conforming&mode=unfederated", + "@type": "DataAddress", + "baseUrl": "{{cabConformingAgent}}/bind", + "type": "cx-common:Protocol?w3c:http:SPARQL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +## Test Skill Assets + +The CAB may use the following Skill Asset Descriptions (referring to the contract definitions in the last section) in its assessment method. The CAB may deploy these objects in its own dataspace tenant or let the assessed party deploy these objects depending on the assessment method. + +### Open Skill Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "SkillAsset?cab=Conforming&mode=open", + "properties": { + "cx-common:name": "Open Skill", + "cx-common:description": "A conformity assessment skill.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", + "dct:type": "cx-taxo:SkillAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", + "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": { + "cx-common:query": "# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" + }, + "dataAddress": { + "id": "SkillAsset?cab=Conforming&mode=open", + "@type": "DataAddress", + "type": "cx-common:Protocol?w3c:http:SKILL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Closed Skill Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "SkillAsset?cab=Conforming&mode=closed", + "properties": { + "cx-common:name": "Closed Skill", + "cx-common:description": "A conformity assessment skill.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=closed", + "dct:type": "cx-taxo:SkillAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", + "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", + "cx-common:isFederated": "false^^xsd:boolean" + }, + "privateProperties": { + "cx-common:query": "# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" + }, + "dataAddress": { + "id": "SkillAsset?cab=Conforming&mode=closed", + "@type": "DataAddress", + "type": "cx-common:Protocol?w3c:http:SKILL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Provider Skill Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "SkillAsset?cab=Conforming&mode=provider", + "properties": { + "cx-common:name": "Provider-Forced Skill", + "cx-common:description": "A conformity assessment skill.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", + "dct:type": "cx-taxo:SkillAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", + "cx-common:distributionMode": "cx-common:SkillDistribution?run=provider", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": { + "cx-common:query": "# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" + }, + "dataAddress": { + "id": "SkillAsset?cab=Conforming&mode=provider", + "@type": "DataAddress", + "type": "cx-common:Protocol?w3c:http:SKILL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Consumer Skill Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "SkillAsset?cab=Conforming&mode=consumer", + "properties": { + "cx-common:name": "Consumer-Forced Skill", + "cx-common:description": "A conformity assessment skill.", + "cx-common:version": "1.12.19", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", + "dct:type": "cx-taxo:SkillAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", + "cx-common:distributionMode": "cx-common:SkillDistribution?run=consumer", + "cx-common:isFederated": "true^^xsd:boolean" + }, + "privateProperties": { + "cx-common:query": "# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" + }, + "dataAddress": { + "id": "SkillAsset?cab=Conforming&mode=consumer", + "@type": "DataAddress", + "type": "cx-common:Protocol?w3c:http:SKILL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +### Unfederated Skill Asset + +```json +{ + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "cx-common": "https://w3id.org/catenax/ontology/common#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "sh": "http://www.w3.org/ns/shacl#", + "cs-taxo": "https://w3id.org/catenax/taxonomy#", + "dct": "https://purl.org/dc/terms/" + }, + "@id": "SkillAsset?cab=Conforming&mode=unfederated", + "properties": { + "cx-common:name": "Unfederated Skill", + "cx-common:description": "A conformity assessment skill.", + "cx-common:version": "1.9.4-SNAPSHOT", + "cx-common:contenttype": "application/json, application/xml", + "cx-common:publishedUnderContract": "Contract?cab=Asset&mode=open", + "dct:type": "cx-taxo:SkillAsset", + "rdfs:isDefinedBy": "", + "cx-common:implementsProtocol": "cx-common:Protocol?w3c:http:SKILL", + "cx-common:distributionMode": "cx-common:SkillDistribution?run=all", + "cx-common:isFederated": "false^^xsd:boolean" + }, + "privateProperties": { + "cx-common:query": "# Sample Skill accessing a graph\n\nSELECT ?subject ?predicate ?object WHERE { \n SERVICE {\n GRAPH { \n ?subject ?predicate ?object. \n }\n } \n}" + }, + "dataAddress": { + "id": "SkillAsset?cab=Conforming&mode=unfederated", + "@type": "DataAddress", + "type": "cx-common:Protocol?w3c:http:SKILL", + "proxyPath": "false", + "proxyMethod": "true", + "proxyQueryParams": "true", + "proxyBody": "true" + } +} +``` + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/page_changelog.md b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/page_changelog.md new file mode 100644 index 00000000000..af23894514e --- /dev/null +++ b/docs-kits_versioned_docs/version-24.08/kits/knowledge-agents/page_changelog.md @@ -0,0 +1,134 @@ +--- +id: Knowledge Agent Changelog +title: Changelog +description: 'Knowledge Agent' +sidebar_position: 1 +--- + + +![Agents Kit Banner](/img/knowledge-agents/AgentsKit-Icon.png) + +All notable changes to the (Knowledge) Agents KIT will be documented in this file. + +## [1.1.0] - 2024-05-13 + +### Added + +- Modelling Development + +### Changed + +- References to 24.05 (1.12.19) +- Advanced Skills +- Data Sovereignity Discussion + +## [1.0.1] - 2024-02-21 + +### Added + +### Changed + +- Linting of Markdown +- References to 24.03 (1.11.16) + +## [1.0.0] - 2023-11-24 + +### Added + +- Stable Deployment Example +- Notice + +### Changed + +- Simplified Adoption View +- Updated Standard References, Release Dates + +## [0.0.1] - 2023-09-29 + +### Added + +- AAS Bridge References +- Deployment Examples +- References to the RUL Kit + +### Changed + +- Pointers moved from Catena-X to Tractus-X +- Adapted to Tractus-X EDC 0.5.x and the changed EDR callback +- Adapted all Catena-X namespaces to +- Upgraded to the latest possible version of dependent libraries +- Eclipse Tractus-X standards and migration + +### Removed + +- Sample Dataspace +- Build & Compile +- Standard Drafts +- Previous EDC Control Plane Extensions regarding SPARQL/HTTP transfer + +## [PRE 0.1] - 2023-09-04 + +### Added + +- Conformity Assessment Testbed +- Matchmaking Agent: Possibility to invoke Skills as Services according to KA-MATCH +- Matchmaking Agent: Possibility to steer Delegation through Asset Properties +- Matchmaking Agent: Possibility to allow/deny service requests based on URL pattern +- Transfer: Possibility to annotate assets with service request allow/deny patterns +- Transfer: Implement Skill Protocol of KA-TRANSFER +- Federated Data Catalogue: Embedding Shapes Properties as Named Graphs +- Skill Store: Implementation using EDC Control Plane/Asset Catalogue +- Support for SPARQL KA-transfer profile including the cx_warnings header +- Necessary documentation markdown for Eclipse Standard +- Helm Sub-Charts for Umbrella Embedding +- Postman Collection with Integration Tests +- SparQL Anything, PostgreSQL support +- Eclipse Dataspace Connector Extensions (Control Plane & Data Plane) +- Registration of Additional Callback Handlers +- Move patched code into extensions +- Ontology Python Tools +- UX Skill Framework +- UX Skill Modules for Custom Search +- Added Backend Virtualization & Mock +- Postman Collection with RUL & HI Logic +- Include depending artifacts via Maven/Docker +- Remoting Agent Batch Mode +- Ontology Submodule including Diagnosis Domain +- Splitted Tractus-X Branch into Dataspace and UX submodules +- Moved Deployments to Infrastructure Submodule +- Added 2 Agent Implementations (Ontop, RDF4J) +- Postman Collection with RUL Logic +- Software BOM +- Submodules to Apache Jena and Tractus-X +- Source Code and Data Samples for Three tenants +- Postman Collection with Spike Logic +- Helm Chart and Docker Compose Deployment +- Adapted to Tractus-X EDC 0.4 and the v2 Management and Catalogue APIs + +### Changed + +### Removed + +(C) 2021,2024 Contributors to the Eclipse Foundation. SPDX-License-Identifier: CC-BY-4.0 diff --git a/docs-kits_versioned_sidebars/version-24.03-sidebars.json b/docs-kits_versioned_sidebars/version-24.03-sidebars.json index 57de8b89a26..a0760d8c56a 100644 --- a/docs-kits_versioned_sidebars/version-24.03-sidebars.json +++ b/docs-kits_versioned_sidebars/version-24.03-sidebars.json @@ -899,7 +899,7 @@ "items": [ { "type": "autogenerated", - "dirName": "kits/DCM-Kit" + "dirName": "kits/Demand and Capacity Management Kit" } ] }, diff --git a/docs-kits_versioned_sidebars/version-24.05-sidebars.json b/docs-kits_versioned_sidebars/version-24.05-sidebars.json index 95d43606fe9..16d2d1aa6d1 100644 --- a/docs-kits_versioned_sidebars/version-24.05-sidebars.json +++ b/docs-kits_versioned_sidebars/version-24.05-sidebars.json @@ -806,7 +806,7 @@ }, { "type": "category", - "label": "DCM KIT", + "label": "Demand and Capacity Management Kit", "link": { "type": "generated-index" }, @@ -814,7 +814,7 @@ "items": [ { "type": "autogenerated", - "dirName": "kits/DCM-Kit" + "dirName": "kits/Demand and Capacity Management Kit" } ] }, @@ -1051,18 +1051,6 @@ "dirName": "kits/Traceability Kit" } ] - }, - { - "type": "category", - "label": "Upcoming KITs", - "link": { - "type": "doc", - "id": "kits/Resiliency/resiliency" - }, - "items": [ - "kits/Resiliency/maas", - "kits/Resiliency/PURIS" - ] } ] } diff --git a/docs-kits_versioned_sidebars/version-24.08-sidebars.json b/docs-kits_versioned_sidebars/version-24.08-sidebars.json new file mode 100644 index 00000000000..1beb71d445a --- /dev/null +++ b/docs-kits_versioned_sidebars/version-24.08-sidebars.json @@ -0,0 +1,1216 @@ +{ + "kits": [ + { + "type": "category", + "label": "Agents Kit", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/knowledge-agents/Knowledge Agent Changelog", + "kits/knowledge-agents/adoption-view/intro", + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/knowledge-agents/development-view/architecture" + }, + "collapsed": true, + "items": [ + "kits/knowledge-agents/development-view/Arc42", + "kits/knowledge-agents/development-view/modelling", + "kits/knowledge-agents/development-view/modules", + "kits/knowledge-agents/development-view/reference", + { + "type": "category", + "label": "API", + "link": { + "type": "doc", + "id": "kits/knowledge-agents/development-view/api" + }, + "collapsed": true, + "items": [ + "kits/knowledge-agents/development-view/api/agent/getAgent", + "kits/knowledge-agents/development-view/api/agent/postAgent", + "kits/knowledge-agents/development-view/api/agent/skill/postSkill", + "kits/knowledge-agents/development-view/api/agent/skill/getSkill", + "kits/knowledge-agents/development-view/api/graph/postGraph", + "kits/knowledge-agents/development-view/api/graph/deleteGraph" + ] + } + ] + }, + { + "type": "category", + "label": "Operation View", + "link": { + "type": "doc", + "id": "kits/knowledge-agents/operation-view/deployment" + }, + "collapsed": true, + "items": [ + "kits/knowledge-agents/operation-view/agent_edc", + "kits/knowledge-agents/operation-view/provider", + "kits/knowledge-agents/operation-view/bridge", + "kits/knowledge-agents/operation-view/policy", + "kits/knowledge-agents/operation-view/testbed" + ] + } + ] + }, + { + "type": "category", + "label": "Behaviour Twin KIT", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/overview" + }, + "collapsed": true, + "items": [ + "kits/behaviour-twin-kit/changelog", + { + "type": "category", + "label": "Adoption View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/adoption-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/adoption-view/introduction", + "kits/behaviour-twin-kit/adoption-view/architecture", + "kits/behaviour-twin-kit/adoption-view/knowledge-agent", + "kits/behaviour-twin-kit/adoption-view/versioning", + "kits/behaviour-twin-kit/adoption-view/to-be-considered", + "kits/behaviour-twin-kit/adoption-view/new-use-cases", + "kits/behaviour-twin-kit/adoption-view/terminology" + ] + }, + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/development-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/development-view/contracts-and-policies", + "kits/behaviour-twin-kit/development-view/data-bindings", + "kits/behaviour-twin-kit/development-view/service-bindings", + "kits/behaviour-twin-kit/development-view/skill", + "kits/behaviour-twin-kit/development-view/guidance-and-resources" + ] + }, + { + "type": "category", + "label": "Use Cases", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/overview" + }, + "items": [ + { + "type": "category", + "label": "Remaining useful Life", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/rul/overview" + }, + "items": [ + { + "type": "category", + "label": "Adoption View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/rul/adoption-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/use-cases/rul/adoption-view/introduction", + "kits/behaviour-twin-kit/use-cases/rul/adoption-view/architecture", + "kits/behaviour-twin-kit/use-cases/rul/adoption-view/terminology" + ] + }, + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/rul/development-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/use-cases/rul/development-view/data-bindings", + "kits/behaviour-twin-kit/use-cases/rul/development-view/service-bindings", + "kits/behaviour-twin-kit/use-cases/rul/development-view/skill" + ] + } + ] + }, + { + "type": "category", + "label": "Health Indicator", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/hi/overview" + }, + "items": [ + { + "type": "category", + "label": "Adoption View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/hi/adoption-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/use-cases/hi/adoption-view/introduction", + "kits/behaviour-twin-kit/use-cases/hi/adoption-view/architecture", + "kits/behaviour-twin-kit/use-cases/hi/adoption-view/terminology" + ] + }, + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/behaviour-twin-kit/use-cases/hi/development-view/overview" + }, + "items": [ + "kits/behaviour-twin-kit/use-cases/hi/development-view/data-bindings", + "kits/behaviour-twin-kit/use-cases/hi/development-view/service-bindings", + "kits/behaviour-twin-kit/use-cases/hi/development-view/skill" + ] + } + ] + } + ] + } + ] + }, + { + "type": "category", + "label": "Business Partner KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/Business Partner Kit/Changelog", + "kits/Business Partner Kit/Adoption View", + { + "type": "category", + "label": "Development View", + "link": { + "type": "generated-index" + }, + "items": [ + "kits/Business Partner Kit/Software Development View/Specification", + { + "type": "category", + "label": "Gate API", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/business-partner-data-management-gate" + }, + { + "type": "category", + "label": "business-partner-controller", + "link": { + "type": "generated-index", + "title": "business-partner-controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Gate Api/business-partner-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/upsert-business-partners-input", + "label": "Create or update business partner with given external ID", + "className": "api-method put" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-output", + "label": "Search business partners by an array of external IDs from the output stage", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-business-partners-input", + "label": "Search business partner by external ID. An empty external ID list returns a paginated list of all business partners.", + "className": "api-method post" + } + ] + }, + { + "type": "category", + "label": "sharing-state-controller", + "link": { + "type": "generated-index", + "title": "sharing-state-controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Gate Api/sharing-state-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/post-sharing-state-ready", + "label": "Sets the given business partners into ready to be shared state", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-sharing-states", + "label": "Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs", + "className": "api-method get" + } + ] + }, + { + "type": "category", + "label": "changelog-controller", + "link": { + "type": "generated-index", + "title": "changelog-controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Gate Api/changelog-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-output-changelog", + "label": "Returns changelog entries for changes to the business partner output stage", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-input-changelog", + "label": "Returns changelog entries for changes to the business partner input stage", + "className": "api-method post" + } + ] + }, + { + "type": "category", + "label": "partner-upload-controller", + "link": { + "type": "generated-index", + "title": "partner-upload-controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Gate Api/partner-upload-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/upload-partner-csv-file", + "label": "Create or update business partners from uploaded CSV file", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-partner-csv-template", + "label": "Get CSV template with headers in file", + "className": "api-method get" + } + ] + }, + { + "type": "category", + "label": "stats-controller", + "link": { + "type": "generated-index", + "title": "stats-controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Gate Api/stats-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/count-address-types", + "label": "countAddressTypes", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/count-partners-per-stage", + "label": "countPartnersPerStage", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/count-partners-by-sharing-state", + "label": "countPartnersBySharingState", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Gate Api/get-confidence-criteria-stats", + "label": "getConfidenceCriteriaStats", + "className": "api-method get" + } + ] + } + ] + }, + { + "type": "category", + "label": "Pool API", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/business-partner-data-management-pool" + }, + { + "type": "category", + "label": "Changelog Controller", + "link": { + "type": "generated-index", + "title": "Changelog Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/changelog-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/search-changelog-entries", + "label": "searchChangelogEntries", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-changelog-entries", + "label": "Returns changelog entries as of a specified timestamp, optionally filtered by a list of BPNL/S/A, or business partner types", + "className": "api-method post" + } + ] + }, + { + "type": "category", + "label": "Legal Entity Controller", + "link": { + "type": "generated-index", + "title": "Legal Entity Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/legal-entity-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entities", + "label": "Returns legal entities by different search parameters", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/update-business-partners", + "label": "Updates an existing legal entity", + "className": "api-method put" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/create-business-partners", + "label": "Creates a new legal entity", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/search-legal-entities", + "label": "searchLegalEntities", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/post-legal-entity-search", + "label": "Returns legal entities by different search parameters", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-legal-entity", + "label": "Returns a legal entity by identifier, like BPN, DUNS or EU VAT ID, specified by the identifier type", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-sites-1", + "label": "Returns all sites of a legal entity with a specific BPNL", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-addresses", + "label": "Returns all addresses of a legal entity with a specific BPNL", + "className": "api-method get" + } + ] + }, + { + "type": "category", + "label": "Metadata Controller", + "link": { + "type": "generated-index", + "title": "Metadata Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/metadata-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-legal-forms", + "label": "Returns all legal forms", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/create-legal-form", + "label": "Creates a new legal form", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-identifier-types", + "label": "Returns all identifier types filtered by business partner type and country.", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/create-identifier-type", + "label": "Creates a new identifier type", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-field-quality-rules", + "label": "Get all field quality rules filtered by country (specified by its ISO 3166-1 alpha-2 country code)", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-admin-areas-level-1", + "label": "Get page of country subdivisions suitable for the administrativeAreaLevel1 address property", + "className": "api-method get" + } + ] + }, + { + "type": "category", + "label": "Site Controller", + "link": { + "type": "generated-index", + "title": "Site Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/site-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-sites", + "label": "Get page of sites matching the pagination search criteria", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/update-site", + "label": "Updates an existing site", + "className": "api-method put" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/create-site", + "label": "Creates a new site", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/post-site-search", + "label": "Returns sites by an array of BPNS and/or an array of corresponding BPNL", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/post-site-search-1", + "label": "postSiteSearch_1", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-site", + "label": "Returns a site by its BPNS", + "className": "api-method get" + } + ] + }, + { + "type": "category", + "label": "Bpn Controller", + "link": { + "type": "generated-index", + "title": "Bpn Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/bpn-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/find-bpns-by-identifiers", + "label": "Returns a list of identifier mappings of an identifier to a BPNL/A/S, specified by a business partner type, identifier type and identifier values", + "className": "api-method post" + } + ] + }, + { + "type": "category", + "label": "Address Controller", + "link": { + "type": "generated-index", + "title": "Address Controller", + "slug": "/category/kits/Business Partner Kit/Software Development View/Pool Api/address-controller" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-addresses-1", + "label": "Returns addresses by different search parameters", + "className": "api-method get" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/update-addresses", + "label": "Updates an existing address", + "className": "api-method put" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/create-addresses", + "label": "Creates a new address", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/search-addresses", + "label": "searchAddresses", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/search-addresses-1", + "label": "Returns addresses by an array of BPNA and/or an array of corresponding BPNS and/or an array of corresponding BPNL.", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Pool Api/get-address", + "label": "Returns an address by its BPNA", + "className": "api-method get" + } + ] + } + ] + }, + { + "type": "category", + "label": "Cleaning Dummy API", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/business-partner-data-management-cleaning-service-dummy" + } + ] + }, + { + "type": "category", + "label": "Orchestrator API", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Orchestrator Api/business-partner-data-management-orchestrator" + }, + { + "type": "category", + "label": "Task Client", + "link": { + "type": "generated-index", + "title": "Task Client", + "slug": "/category/kits/Business Partner Kit/Software Development View/Orchestrator Api/task-client" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Orchestrator Api/create-tasks", + "label": "Create new golden record tasks for given business partner data", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Orchestrator Api/search-task-states", + "label": "Search for the state of golden record tasks by task identifiers", + "className": "api-method post" + } + ] + }, + { + "type": "category", + "label": "Task Worker", + "link": { + "type": "generated-index", + "title": "Task Worker", + "slug": "/category/kits/Business Partner Kit/Software Development View/Orchestrator Api/task-worker" + }, + "items": [ + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Orchestrator Api/resolve-step-results", + "label": "Post step results for reserved golden record tasks in the given step queue", + "className": "api-method post" + }, + { + "type": "doc", + "id": "kits/Business Partner Kit/Software Development View/Orchestrator Api/reserve-tasks-for-step", + "label": "Reserve the next golden record tasks waiting in the given step queue", + "className": "api-method post" + } + ] + } + ] + }, + "kits/Business Partner Kit/Software Development View/Use Cases" + ] + }, + "kits/Business Partner Kit/Operation View", + { + "type": "category", + "label": "Success Stories", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Business Partner Kit/Success Stories" + } + ] + }, + { + "type": "category", + "label": "Architecture View", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Business Partner Kit/Documentation BPDM" + } + ] + } + ] + }, + { + "type": "category", + "label": "Circularity KIT", + "link": { + "type": "doc", + "id": "kits/Circularity_KIT/page-adoption-view" + }, + "items": [ + "kits/Circularity_KIT/Changelog Circularity KIT", + "kits/Circularity_KIT/page-adoption-view", + "kits/Circularity_KIT/page-glossary" + ] + }, + { + "type": "category", + "label": "Connector KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/Connector Kit/page_changelog", + { + "type": "category", + "label": "Adoption View", + "link": { + "type": "doc", + "id": "kits/Connector Kit/Adoption View/connector_kit_adoption_view" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Connector Kit/Adoption View" + } + ] + }, + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/Connector Kit/Development View/connector_kit_development_view_specifications" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Connector Kit/Development View" + } + ] + }, + "kits/Connector Kit/Operation View/connector_kit_operation_view" + ] + }, + { + "type": "category", + "label": "Data Chain KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/Data Chain Kit/data chain kit changelog", + "kits/Data Chain Kit/Adoption View Data Chain Kit", + "kits/Data Chain Kit/Operation View", + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/Data Chain Kit/Software Development View/Specification" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Data Chain Kit/Software Development View/Job Api" + } + ] + }, + { + "type": "category", + "label": "Documentation", + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Data Chain Kit/Documentation" + } + ] + } + ] + }, + { + "type": "category", + "label": "Demand and Capacity Management Kit", + "link": { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/adoption-view/overview" + }, + "collapsed": true, + "items": [ + "kits/Demand and Capacity Management Kit/changelog", + { + "type": "category", + "label": "Adoption View", + "link": { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/adoption-view/overview" + }, + "items": [ + { + "type": "category", + "label": "Use Case", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Demand and Capacity Management Kit/adoption-view/use-case" + } + ] + }, + "kits/Demand and Capacity Management Kit/adoption-view/onboarding", + "kits/Demand and Capacity Management Kit/adoption-view/qna", + "kits/Demand and Capacity Management Kit/adoption-view/foss-app" + ] + }, + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/overview" + }, + "items": [ + "kits/Demand and Capacity Management Kit/development-view/model-WeekBasedMaterialDemand", + "kits/Demand and Capacity Management Kit/development-view/model-WeekBasedCapacityGroup", + "kits/Demand and Capacity Management Kit/development-view/model-IdBasedRequestForUpdate", + "kits/Demand and Capacity Management Kit/development-view/model-IdBasedComment", + "kits/Demand and Capacity Management Kit/development-view/api-WeekBasedMaterialDemand", + { + "type": "category", + "label": "API Specification", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/catena-x-dcm-week-based-material-demand" + }, + { + "type": "category", + "label": "WeekBasedMaterialDemand", + "link": { + "type": "generated-index", + "title": "WeekBasedMaterialDemand", + "slug": "/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/week-based-material-demand" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/post-week-based-material-demand", + "label": "postWeekBasedMaterialDemand", + "className": "api-method post" + } + ] + } + ] + }, + "kits/Demand and Capacity Management Kit/development-view/api-WeekBasedCapacityGroup", + { + "type": "category", + "label": "API Specification", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/catena-x-dcm-week-based-capacity-group" + }, + { + "type": "category", + "label": "WeekBasedCapacityGroup", + "link": { + "type": "generated-index", + "title": "WeekBasedCapacityGroup", + "slug": "/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/week-based-capacity-group" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/post-week-based-capacity-group", + "label": "postWeekBasedCapacityGroup", + "className": "api-method post" + } + ] + } + ] + }, + "kits/Demand and Capacity Management Kit/development-view/api-IdBasedRequestForUpdate", + { + "type": "category", + "label": "API Specification", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/catena-x-dcm-id-based-request-for-update" + }, + { + "type": "category", + "label": "IdBasedRequestForUpdate", + "link": { + "type": "generated-index", + "title": "IdBasedRequestForUpdate", + "slug": "/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/id-based-request-for-update" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/post-id-based-request-for-update", + "label": "postIdBasedRequestForUpdate", + "className": "api-method post" + } + ] + } + ] + }, + "kits/Demand and Capacity Management Kit/development-view/api-IdBasedComment", + { + "type": "category", + "label": "API Specification", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/catena-x-dcm-id-based-comment" + }, + { + "type": "category", + "label": "IdBasedComment", + "link": { + "type": "generated-index", + "title": "IdBasedComment", + "slug": "/category/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/id-based-comment" + }, + "items": [ + { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/post-id-based-comment", + "label": "postIdBasedComment", + "className": "api-method post" + } + ] + } + ] + }, + "kits/Demand and Capacity Management Kit/development-view/api-aas" + ] + }, + { + "type": "category", + "label": "Architecture View", + "link": { + "type": "doc", + "id": "kits/Demand and Capacity Management Kit/architecture-view/overview" + }, + "items": [ + "kits/Demand and Capacity Management Kit/architecture-view/dependencies" + ] + }, + "kits/Demand and Capacity Management Kit/operation-view" + ] + }, + { + "type": "category", + "label": "Data Governance Kit", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/Data Governance Kit/Data Governance Kit Changelog", + "kits/Data Governance Kit/Data Governance Kit Adoption View", + { + "type": "category", + "label": "Development View", + "link": { + "type": "doc", + "id": "kits/Data Governance Kit/Software Development View/Data Governance Kit Development View" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Data Governance Kit/resources/MDX Files" + } + ] + } + ] + }, + { + "type": "category", + "label": "Digital Twin KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Digital Twin Kit" + } + ] + }, + { + "type": "category", + "label": "Eco Pass KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Eco_Pass_KIT" + } + ] + }, + { + "type": "category", + "label": "ESS KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/ESS-Kit" + } + ] + }, + { + "type": "category", + "label": "Industry Core KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Industry Core Kit" + } + ] + }, + { + "type": "category", + "label": "Model Based Development and Data Processing (MDP) KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Behaviour Twin MDP Kit" + } + ] + }, + { + "type": "category", + "label": "Modular Production Kit", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Modular Production Kit" + } + ] + }, + { + "type": "category", + "label": "Manufacturing as a Service KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Manufacturing as a Service Kit" + } + ] + }, + { + "type": "category", + "label": "OSim Kit", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/OSim Kit" + } + ] + }, + { + "type": "category", + "label": "PURIS Kit", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/PURIS Kit" + } + ] + }, + { + "type": "category", + "label": "Supply Chain Disruption Notifications KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Supply Chain Disruption Notifications KIT" + } + ] + }, + { + "type": "category", + "label": "PCF Exchange KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "kits/PCF Exchange Kit/PCF Exchange Kit Changelog", + "kits/PCF Exchange Kit/Adoption View", + "kits/PCF Exchange Kit/Operation View", + { + "type": "category", + "label": "Development View", + "link": { + "type": "generated-index" + }, + "items": [ + "kits/PCF Exchange Kit/Software Development View/Specification", + { + "type": "category", + "label": "PCF Exchange API", + "link": { + "type": "generated-index" + }, + "items": [] + } + ] + } + ] + }, + { + "type": "category", + "label": "Quality KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Quality-Kit" + } + ] + }, + { + "type": "category", + "label": "Traceability KIT", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + { + "type": "autogenerated", + "dirName": "kits/Traceability Kit" + } + ] + } + ] +} diff --git a/docs-kits_versions.json b/docs-kits_versions.json index b4a28d204cd..1dbdc029482 100644 --- a/docs-kits_versions.json +++ b/docs-kits_versions.json @@ -1,4 +1,4 @@ [ - "24.05", - "24.03" + "24.08", + "24.05" ] diff --git a/docs/dev_faq.md b/docs/dev_faq.md index c9260c9e373..b67a723ded1 100644 --- a/docs/dev_faq.md +++ b/docs/dev_faq.md @@ -19,7 +19,7 @@ See the [Handbook](https://www.eclipse.org/projects/handbook/#resources-github) ## How can I become an official Tractus-X contributor with triage role? -See the [Getting Started Page](/docs/oss/getting-started#extended-contributor-permissions) +See the [Getting Started Page](getting-started.md#extended-contributor-permissions) ## How do I figure out the user name in Eclipse (= GitLab) and GitHub? diff --git a/docs/dev_links.md b/docs/dev_links.md index fab9c9621fb..7b3b4273066 100644 --- a/docs/dev_links.md +++ b/docs/dev_links.md @@ -20,9 +20,8 @@ sidebar_position: 98 See [examples and a detailed description](/docs/oss/issues). -- [Add a Tractus-X Project Contributor](/docs/oss/getting-started#extended-contributor-permissions) -- [Create / manage Tractus-X repositories](/docs/oss/issues#create-manage-a-repository-in-eclipse-tractusx) -- [Tractus-X infrastructure issues](https://github.com/eclipse-tractusx/sig-infra/issues) via sig-infra +- [Add a Tractus-X Project Contributor](getting-started.md#extended-contributor-permissions) +- [Create / manage Tractus-X repositories](oss/issues.md#create-manage-a-repository-in-eclipse-tractusx--otterdog-self-service) - [Eclipse Foundation Helpdesk](https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/?sort=created_date&state=opened) - [Eclipse Foundation Helpdesk for IP Checks](https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/?search=automotive.tractusx&sort=created_date&state=opened&first_page_size=20) - open issues for Tractus-X @@ -34,7 +33,7 @@ See [examples and a detailed description](/docs/oss/issues). - [Legal resource page for the Eclipse Foundation](https://www.eclipse.org/legal/) - [Dash License Tool](https://github.com/eclipse/dash-licenses) -### Eclipse Trainigs & Events +### Eclipse Trainings & Events - [Trainings Videos: Eclipse Foundation Training](https://www.eclipse.org/projects/training/) - [Committer Office Hours](https://www.eclipse.org/projects/calendar/#office-hours) diff --git a/docs/getting-started.md b/docs/getting-started.md index 7478088af2f..fd3bcf4ffe9 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -40,8 +40,7 @@ For contributing to the Eclipse Tractus-X project you need an Eclipse Foundation There is the possibility to get some [additional rights](/docs/oss/contributor-committer#official-project-contributor) on the GitHub repositories with the official Tractus-X project contributor role. -- Open an issue in sig-infra via this [issue template](https://github.com/eclipse-tractusx/sig-infra/issues/new?assignees=&labels=support&projects=&template=support-add-project-contributor.md&title=New+Tractus-X+project+contributor) -- Assign the issue to a committer from the [committer list](https://projects.eclipse.org/projects/automotive.tractusx/who) to onboard you into the Eclipse Tractus-X GitHub organization, since every committer can add project contributors +- Contact Tractus-X project leads or the committers via [Matrix Chat](https://chat.eclipse.org/#/room/#tractusx:matrix.eclipse.org) - Accept the email invitation from GitHub to join the [automotive-tractusx-contributors team at GitHub](https://github.com/orgs/eclipse-tractusx/teams) ## Communication channels diff --git a/docs/oss/issues.md b/docs/oss/issues.md index 8d5a0a11ba1..2260b6a0f2d 100644 --- a/docs/oss/issues.md +++ b/docs/oss/issues.md @@ -10,32 +10,7 @@ In the Eclipse infrastructure there are different issue trackers for different p Create all issues related to your code and development here. You are free to define your own rules, e.g. naming conventions. E.g. [issues for this webpage](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/issues) -## Tractus-X sig-infra Issue Tracker - -Link: [Tractus-X sig-infra Issue Tracker](https://github.com/eclipse-tractusx/sig-infra/issues) - -This is the place to open issues for requests about infrastructure provided by Tractus-X -from the System and the Security Team. Requests about the Catena-X Github organization also go here. - -Several issue templates are provided for standard requests and an general "Support: other topics" template. - -## Create (manage) a repository in `eclipse-tractusx` - -:::tip - - Creating a sig-infra issue is the recommended way! -::: - -There a two ways to manage repositories in the Tractus-X organization: - -- Create a [sig-infra issue](https://github.com/eclipse-tractusx/sig-infra/issues), see [description](/docs/oss/issues#tractus-x-sig-infra-issue-tracker) -- Add one of the [Eclipse Tractus-X Project Leads](https://projects.eclipse.org/projects/automotive.tractusx/who) to request a "thumbs up" for approval - -OR - -- Change the Otterdog configuration in the [.eclipsefdn repository](https://github.com/eclipse-tractusx/.eclipsefdn) and open a PR. In this case, please read the documentation below first. - -### Otterdog self-service +### Create (manage) a repository in `eclipse-tractusx` / Otterdog self-service :::info Note @@ -50,8 +25,6 @@ See the [Otterdog Dashboard](https://eclipse-tractusx.github.io/.eclipsefdn/) wi To see and learn what is possible and was already done, have a look at the existing [PRs](https://github.com/eclipse-tractusx/.eclipsefdn/pulls?q=is%3Apr). -If you are not sure how to use Otterdog, please create a [sig-infra issue](https://github.com/eclipse-tractusx/sig-infra/issues). - ## Eclipse Foundation Helpdesk Link: [Eclipse Foundation Helpdesk](https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/?search=tractus&sort=created_date&state=opened&first_page_size=100) diff --git a/docs/release/trg-0/trg-1-05.md b/docs/release/trg-0/trg-1-05.md deleted file mode 100644 index 701bd4e277a..00000000000 --- a/docs/release/trg-0/trg-1-05.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: TRG 1.05 - Architecture Documentation -sidebar_position: 1 ---- - -:::caution -Proposed release date: 30th of March 2024 -::: - -| Status | Created | Post-History | -|-----------------|-------------|-------------------------------------------------------| -| Draft | 26-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | - -## Why - -To provide information like context, integration interfaces and planned usage of the component. The architecture documentation should support architects and operation teams for their decisions and operative tasks. We follow the good practice to document the Architecture of FOSS components. [ARC42](https://arc42.org/) is our template of choice. - -## Description - -In order to pragmatically start or update your Architecture documentation, consult [ARC42](https://arc42.org/). An "Architecture" folder must be present in the `/docs/` folder of your leading repository. Within the Architecture folder the structure of the ARC42 template shall be applied. Follow the guidance to understand, WHAT and HOW to document. - -- The Architecture Documentation **has to** be stored in the folder: `/docs/` -- Architecture Documentation is available with the software at the same time -- Architecture Documentation is correct and up to date; English is a **must** -- The documentation is of appropriate maturity to be handed over to any Operations Company with global business practice intentions - -## Best Practice - -- Provide each chapter of the Arc42 documentation as single .md file named after the chapter -- Favor diagrams as mermaid block in .md files directly over image files, where possible -- Have a look to peer repositories within Tractus-X for inspiration -- Anchor a link to your Architecture Documentation within your `README.md` (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) -- The Architecture Documentation is in sync with the latest released version of the component. It is checked and updated, once an up-revision is foreseen -- The content is of appropriate maturity, so that any Operations Company with global business practice intentions is invited to use and build on it -- Provide link to documentation as early as possible and mark changes to the previous version (if applicable); expect optimization loops based on feedback diff --git a/docs/release/trg-0/trg-1-07.md b/docs/release/trg-0/trg-1-07.md deleted file mode 100644 index ebd767decd6..00000000000 --- a/docs/release/trg-0/trg-1-07.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: TRG 1.07 - End User Manual -sidebar_position: 1 ---- - -:::caution -Proposed release date: 15th of January 2024 -::: - -| Status | Created | Post-History | -|--------|--------------|-------------------------------------------------------| -| Draft | 21-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | - -## Why - -End user manual is essential for providing user assistance and ensuring a positive user experience. The user of the application is the recipient of this documentation. Typical contents are screenshots, description of functionality and steps that guide through critical processes. - -## Description - -Users of the application are the recipients of this documentation. In case as application by default doesn't address end users, an end user manual is not required. -The end user manual is essential for providing user assistance and ensuring a positive user experience. - -- The end user manual **must** be stored in markdown format ".md" in the folder: `/docs/user/` - -## Best Practice - -- The end user manual is in sync with the latest released version of the component. It is checked and updated, once an up-revision is foreseen -- The content is of appropriate maturity, so that any Operations Company with global business practice intentions is invited to use and build on it -- Anchor a link to your end user manual within your readme.md (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) diff --git a/docs/release/trg-0/trg-1-08.md b/docs/release/trg-0/trg-1-08.md deleted file mode 100644 index 5ff441a3238..00000000000 --- a/docs/release/trg-0/trg-1-08.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: TRG 1.08 - Interface documentation (APIs) -sidebar_position: 1 ---- - -:::caution -Proposed release date: 15th of January 2024 -::: - -| Status | Created | Post-History | -|--------|--------------|-------------------------------------------------------| -| Draft | 21-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | - -## Why - -Interface documentation is crucial to interact with your FOSS component: it fundamentally enables others to consume your APIs. - -## Description - -- API documentation contains all interfaces. It **must** be up-to-date for the latest released component version -- The interface documentation must be stored in the folder `/docs/api` -- Functional and non-functional commitment of the interface - -## Best Practice - -- adhere to standard OpenAPI -- consider functional and non-functional commitments of each interface -- context of a request must be clear (sequence of API calls) -- anchor a link to your Interface documentation within your `README.md` (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) diff --git a/docs/release/trg-0/trg-1-09.md b/docs/release/trg-0/trg-1-09.md deleted file mode 100644 index 27f969167d8..00000000000 --- a/docs/release/trg-0/trg-1-09.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: TRG 1.09 - UX consistency / Styleguide for UI -sidebar_position: 1 ---- - -:::caution -Proposed release date: 15th of January 2024 -::: - -| Status | Created | Post-History | -|--------|-------------|-------------------------------------------------------| -| Draft | 10-Jan-2024 | Transferred from Release Acceptance Criteria into TRG | - -## Why - -Ensuring UX consistency through a style guideline is essential for a unified and user-friendly experience across front end modules. - -## Description - -- User Interfaces **should** align with the Tractus-X Style Guidelines - -> User interface style review has been executed. -> Review feedback (if existing) got incorporated. -> All findings are assessed. -> All findings (high/very high) are fixed or cleaned up (evidence by re-review). -> Approval of the application CX Style conformity is available (given by the review owner). - -## Best Practice - -- Obtain approval from the Style Guideline Owner, prior to Gate review -- Get in contact with Style Guideline Owner and expect a review loop - -Style Components: - -- LINK to Style Guideline -- LINK to FrontEnd validations (will be added asap) - -> EXTERNAL LINKS -> CX references -> Offical style guide accessible on Catena-X website - -Please note, you can use the official public available CX shared component library (react supported) to easily develop applications that are in-line with the CX style guidelines. diff --git a/docs/release/trg-1/trg-1-05.md b/docs/release/trg-1/trg-1-05.md new file mode 100644 index 00000000000..68a877f42e9 --- /dev/null +++ b/docs/release/trg-1/trg-1-05.md @@ -0,0 +1,31 @@ +--- +title: TRG 1.05 - Architecture Documentation +sidebar_position: 1 +--- + +| Status | Created | Post-History | +|----------|-------------|-------------------------------------------------------| +| Active | 01-Aug-2024 | | +| Draft | 26-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | + +## Why + +Proper Architecture Documentation is necessary to support architects and operation teams for their decisions making processes and operative tasks. It therefore provides information like context, integration interfaces and intended usage of the component. We follow the good practice to document the Architecture of components. + +## Description + +Eclipse Tractus-X is using the [arc42](https://arc42.org/) documentation template. If you are not yet familiar with it, see [arc42.org](https://arc42.org/) for an introduction and guidance. + +In order to pragmatically start or update your Architecture documentation, consult [arc42](https://arc42.org/). Architecture documentation **must** be maintained in a directory named `/docs/architecture` in the leading product repository. Within the Architecture folder the structure of the arc42 template **shall** be applied. Follow the guidance to understand, WHAT and HOW to document. + +- The Architecture Documentation **must** be stored in the folder: `/docs/architecture` + - It is up-to-date for every release + - English is a **must** +- The `/docs/README.md` describes shortly what documentation is available + +## Best Practice + +- Provide each chapter of the arc42 documentation as single `.md` file named after the chapter +- Favor diagrams as mermaid block in `.md` files directly over image files, where possible +- Have a look to peer repositories within Tractus-X for inspiration +- Anchor a link to your architecture documentation within your `README.md` (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) diff --git a/docs/release/trg-1/trg-1-07.md b/docs/release/trg-1/trg-1-07.md new file mode 100644 index 00000000000..e3e7ab58069 --- /dev/null +++ b/docs/release/trg-1/trg-1-07.md @@ -0,0 +1,29 @@ +--- +title: TRG 1.07 - End User Manual +sidebar_position: 1 +--- + +| Status | Created | Post-History | +|--------|-------------|-------------------------------------------------------| +| Active | 22-Apr-2024 | | +| Draft | 21-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | + +## Why + +End user manual is essential for providing user assistance and ensuring a positive user experience. The user of the application is the recipient of this documentation. Typical contents are description of functionality, steps that guide through critical processes and screenshots. + +## Description + +- The end user manual **must** exist if the product has a UI component +- The end user manual **must** be stored in the folder: `/docs/user` + - It is up-to-date for every release + - English is a **must** +- The `/docs/README.md` describes shortly what documentation is available + +## Best Practice + +- Favor diagrams as mermaid block in `.md` files directly over image files, where possible +- Have a look to peer repositories within Tractus-X for inspiration +- Anchor a link to your end user manual within your `README.md` (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) +- Within the documentation consider role specifics of end users for better understanding +- If your application has an UI, make the documentation available within the document diff --git a/docs/release/trg-1/trg-1-08.md b/docs/release/trg-1/trg-1-08.md new file mode 100644 index 00000000000..b0a98134607 --- /dev/null +++ b/docs/release/trg-1/trg-1-08.md @@ -0,0 +1,27 @@ +--- +title: TRG 1.08 - Interface documentation (APIs) +sidebar_position: 1 +--- + +| Status | Created | Post-History | +|--------|-------------|-------------------------------------------------------| +| Active | 01-Aug-2024 | | +| Draft | 21-Mar-2024 | Transferred from Release Acceptance Criteria into TRG | + +## Why + +Interface documentation is crucial to interact with components. It fundamentally enables others to consume your APIs. + +## Description + +- The interface documentation **should** be either stored in the folder `/docs/api` as `openAPI.yaml` or referenced in the `.tractusx` meta file as reachable document (like GitHub release asset) through the `openApiSpecs` key + - It **must** be in the OpenAPI standard + - It **must** be at least version 2 + - It **must** contain all interfaces + - It **must** be up-to-date for the latest released component version + +## Best Practice + +- consider functional and non-functional commitments of each interface +- make sure that the context of a request is understandable, like the sequence of API calls +- anchor a link to your Interface documentation within your `README.md` (see [TRG 1.01](https://eclipse-tractusx.github.io/docs/release/trg-1/trg-1-1)) diff --git a/docs/release/trg-2/trg-2-6.md b/docs/release/trg-2/trg-2-6.md deleted file mode 100644 index 3620aa69299..00000000000 --- a/docs/release/trg-2/trg-2-6.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: TRG 2.06 - Dependabot ---- - -| Status | Created | Post-History | -|--------|--------------|-----------------| -| Active | 12-Feb-2024 | Publish TRG | -| Draft | 4-Jan-2024 | Initial release | - -## Why - -GitHub Dependabot is a powerful tool designed to help keep your project's dependencies up to date. By automating the process of checking for updates and creating pull requests when new versions are available, Dependabot ensures that your project benefits from the latest features, bug fixes, and security patches. - -Key Benefits: - -- Security: Receive timely updates for security vulnerabilities in your project's dependencies. -- Stability: Keep your project stable by staying current with the latest releases. -- Efficiency: Automate the time consuming task of manually checking for updates and creating pull requests. - -## Description - -Dependabot is an excellent fit for application dependencies/vulnerabilities. By regularly checking for updates, it allows you to seamlessly integrate the latest improvements into your application. - -For Docker images, Dependabot ensures that your [base images](https://eclipse-tractusx.github.io/docs/release/trg-4/trg-4-02) and dependencies are regularly updated, reducing the risk of using outdated or vulnerable components. - -Dependabot can also assist in keeping used GitHub Actions up to date. This is crucial for ensuring that your workflows leverage the latest GitHub Actions features and improvements. - -### Security updates - -To enable Dependabot for security updates, you can leverage GitHub's Security tab. Go to the "Security" tab in your repository and follow the prompts to enable automated security updates. -More information: - - -### Version updates - -To enable Dependabot for version updates, create a dependabot.yml file in .github directory the root of your repository. In order to reduce number of generated bump Pull Requests, recommendation is to change default interval to i.e. weekly, as well as limit open PRs. See provided example below. - -### Example - -A basic example of a dependabot.yml file, demonstrating configurations for for Maven, GitHub Action and Docker ([all options](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem)), is shown below: -Please note the interval, open pull requests limits as well as other parameters can be customized according to preferences. - -:::caution -Be careful, Dependabot PR merge can lead to out of date DEPENDENCIES file. -Make sure DEPENDENCIES file is updated by DASH tool. -::: - -```yaml -version: 2 -updates: - # Maintain dependencies for Maven - - package-ecosystem: "maven" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 - - # Maintain dependencies for GitHub Actions - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 - - # Maintain dependencies for Docker - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 -``` - -More information: - - - -:::info -Importance of Implemented Tests: - -Ensure that your project has comprehensive test coverage. Automated tests are crucial for quickly validating that updates do not introduce regressions or break existing functionality. -::: diff --git a/docs/release/trg-4/trg-4-01.md b/docs/release/trg-4/trg-4-01.md index cd878f8915b..0643709be30 100644 --- a/docs/release/trg-4/trg-4-01.md +++ b/docs/release/trg-4/trg-4-01.md @@ -2,11 +2,12 @@ title: TRG 4.01 - Image tagging --- -| Status | Created | Post-History | -|--------|-------------|-------------------------------------------| -| Active | 11-May-2023 | update example workflow to match TRG 4.05 | -| | 24-Nov-2022 | more precise process description | -| | 10-Nov-2022 | Initial release | +| Status | Created | Post-History | +|--------|-------------|----------------------------------------------------| +| Active | 20-Mar-2024 | update example workflow for TRG 4.08 | +| Active | 11-May-2023 | update example workflow to match TRG 4.05 | +| | 24-Nov-2022 | more precise process description | +| | 10-Nov-2022 | Initial release | ## Why @@ -79,8 +80,8 @@ on: - main env: - IMAGE_NAMESPACE: "tractusx" - IMAGE_NAME: "YourApplicationName" + IMAGE_NAMESPACE: "tractusx" + IMAGE_NAME: "YourApplicationName" jobs: docker: @@ -92,48 +93,54 @@ jobs: - name: Checkout uses: actions/checkout@v3 + # Needed to create multi-platform image + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + # Create SemVer or ref tags dependent of trigger event - name: Docker meta id: meta uses: docker/metadata-action@v4 with: - images: | - ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} - # Automatically prepare image tags; See action docs for more examples. - # semver patter will generate tags like these for example :1 :1.2 :1.2.3 - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}} - type=semver,pattern={{major}}.{{minor}} + images: | + ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} + # Automatically prepare image tags; See action docs for more examples. + # semver patter will generate tags like these for example :1 :1.2 :1.2.3 + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}} + type=semver,pattern={{major}}.{{minor}} - name: DockerHub login if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: - # Use existing DockerHub credentials present as secrets - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} + # Use existing DockerHub credentials present as secrets + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 with: - context: . - # Build image for verification purposes on every trigger event. Only push if event is not a PR - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - # https://github.com/peter-evans/dockerhub-description - # Important step to push image description to DockerHub + context: . + # Needed to create multi-platform image + platforms: linux/amd64, linux/arm64 + # Build image for verification purposes on every trigger event. Only push if event is not a PR + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + # https://github.com/peter-evans/dockerhub-description + # Important step to push image description to DockerHub - name: Update Docker Hub description if: github.event_name != 'pull_request' uses: peter-evans/dockerhub-description@v3 with: - # readme-filepath defaults to toplevel README.md, Only necessary if you have a dedicated file with your 'Notice for docker images' - # readme-filepath: path/to/dedicated/notice-for-docker-image.md - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} + # readme-filepath defaults to toplevel README.md, Only necessary if you have a dedicated file with your 'Notice for docker images' + # readme-filepath: path/to/dedicated/notice-for-docker-image.md + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} ``` diff --git a/docs/release/trg-4/trg-4-02.md b/docs/release/trg-4/trg-4-02.md index 1a6d8b7259e..01c31663e4c 100644 --- a/docs/release/trg-4/trg-4-02.md +++ b/docs/release/trg-4/trg-4-02.md @@ -58,7 +58,7 @@ open source license compliant. For automated TRG checks, you can skip base image checks on Dockerfiles by declaring it in the `.tractusx` metadata files. Details can be found in -the [metadata file documentation](https://github.com/eclipse-tractusx/tractusx-quality-checks/blob/main/docs/metadata_file.md) +the [metadata file documentation](https://github.com/eclipse-tractusx/sig-release/blob/main/docs/metadata_file.md) ::: ### Use minor or major Image Tag diff --git a/docs/release/trg-4/trg-4-05.md b/docs/release/trg-4/trg-4-05.md index 79fe27704a2..65423797483 100644 --- a/docs/release/trg-4/trg-4-05.md +++ b/docs/release/trg-4/trg-4-05.md @@ -4,7 +4,8 @@ title: TRG 4.05 - Container registries | Status | Created | Post-History | |--------|--------------|-------------------------------------------------------------------------| -| Draft | 04-May-2023 | Place DockerHub as mandatory container registry; remove GHCR references | +| Active | 20-Mar-2024 | Remove example workflow and refer to TRG 4.01 | +| Active | 04-May-2023 | Place DockerHub as mandatory container registry; remove GHCR references | | Active | 05-Jan-2023 | Initial release | | Draft | 14-Sept-2022 | n/a | @@ -20,85 +21,8 @@ All container images released for an Eclipse Tractus-X product **must** be prese Also be aware of the necessary remarks for container images described in [TRG 4-06](./trg-4-06.md) and alignment on common base images described in [TRG 4.02](./trg-4-02.md). -## How +## Implementation -Following example shows a simple workflow, that can be used to publish your Docker image(s) to `DockerHub`. +The example from [TRG 4.01](./trg-4-01.md) shows a simple workflow, that can be used to publish your Docker image(s) to `DockerHub`. It is using secrets, that contain credentials to authenticate at `DockerHub`. These secrets are present at GitHub organization level and can therefore be used in any repository in our org. - -```yaml -# Reference from https://github.com/eclipse-tractusx/app-dashboard/blob/main/.github/workflows/build-image.yaml -# You might want to check the source for recent updates -name: Build - Docker image (SemVer) - -on: - push: - branches: - - main - # trigger events for SemVer like tags - tags: - - 'v*.*.*' - - 'v*.*.*-*' - pull_request: - branches: - - main - -env: - IMAGE_NAMESPACE: "tractusx" - IMAGE_NAME: "app-dashboard" - -jobs: - docker: - runs-on: ubuntu-latest - permissions: - packages: write - - steps: - - name: Checkout - uses: actions/checkout@v3 - - # Create SemVer or ref tags dependent of trigger event - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: | - ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} - # Automatically prepare image tags; See action docs for more examples. - # semver patter will generate tags like these for example :1 :1.2 :1.2.3 - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}} - type=semver,pattern={{major}}.{{minor}} - - - name: DockerHub login - if: github.event_name != 'pull_request' - uses: docker/login-action@v2 - with: - # Use existing DockerHub credentials present as secrets - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v3 - with: - context: . - # Build image for verification purposes on every trigger event. Only push if event is not a PR - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - # https://github.com/peter-evans/dockerhub-description - # Important step to push image description to DockerHub - - name: Update Docker Hub description - if: github.event_name != 'pull_request' - uses: peter-evans/dockerhub-description@v3 - with: - # readme-filepath defaults to toplevel README.md, Only necessary if you have a dedicated file with your 'Notice for docker images' - # readme-filepath: path/to/dedicated/notice-for-docker-image.md - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} -``` diff --git a/docs/release/trg-4/trg-4-08.md b/docs/release/trg-4/trg-4-08.md new file mode 100644 index 00000000000..4daf8488f82 --- /dev/null +++ b/docs/release/trg-4/trg-4-08.md @@ -0,0 +1,26 @@ +--- +title: TRG 4.08 - Multi-platform images +--- + +| Status | Created | Post-History | +|--------|-------------|-------------------------------------------| +| Active | 01-Sep-2024 | Initial contribution | +| Draft | 20-Mar-2024 | Initial contribution | + +## Why + +Providing container images that support multiple CPU architectures enhances flexibility, compatibility, and efficiency across hardware devices. + +This is especially beneficial for supporting use cases like tutorials and local playgrounds. + +For instance, arm64 images are optimized for ARM-based processors, such as Apple's M1/M2/M3 chips and Amazon's Graviton processors, providing better performance and efficiency compared to emulated or non-native architectures. + +## Description + +Container images **should** be built for **amd64 and arm64** CPU architectures. + +### Implementation + +Make sure to choose a base image, out of the list in [TRG 4.02](../trg-4/trg-4-02.md#aligned-base-images) which is built for amd64 and arm64 CPU architecture, (e.g. [eclipse-temurin/tags?page=1&name=21-jre-alpine](https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=21-jre-alpine)) and enable the image build workflow: the example workflow from [TRG 4.01](../trg-4/trg-4-01.md) contains the necessary steps for building a multi-platform image. + +Depending on the [multi platform strategies](https://docs.docker.com/build/building/multi-platform/#strategies) your base image supports, you might need additional enabling, for instance enabling the Dockerfile for cross-compilation or [setting up QEMU](https://github.com/docker/setup-qemu-action). Have a look to peer repositories within Tractus-X for inspiration. diff --git a/docs/release/trg-7/trg-7-09.md b/docs/release/trg-7/trg-7-09.md new file mode 100644 index 00000000000..f83826715a0 --- /dev/null +++ b/docs/release/trg-7/trg-7-09.md @@ -0,0 +1,149 @@ +--- +title: TRG 7.09 - Deprecation of Unmaintained Repositories +--- + +| Status | Created | Post-History | +|---------|-------------|---------------------------------------| +| Active | 12-Nov-2024 | Initial draft | + +## Why + +Eclipse Tractus-X is an open source project governed by the Eclipse Foundation and its Committers. Besides the role participating in maintaining the code base, committers are responsible for its security and adherence to the [Eclipse Tractus-X Releases Guidelines](https://eclipse-tractusx.github.io/docs/release) (TRG's) as well as the guidelines set by the Eclipse Foundation. As this group of committers is responsible for the whole project and has limited resources, repositories that are not maintained for a given time period will be deprecated. + +## Description + +Deprecation of a repository means that **the repository is being archived**, i.e. set to status "Public Archive" on Github. It's still accessible from within the project, so that it could be revived. Please refer to [this list for examples of archived repositories within Eclipse Tractus-X](https://github.com/eclipse-tractusx/?q=&type=archived&language=&sort=). + +Additionally the helm charts and container images are still available and no information about the deprecation is passed to the user. + +### Criteria for Deprecation + +Committers consider the following criteria to propose deprecation of a repository: + +1. The repository does not comply with the Eclipse Tractus-X Releases Guidelines (TRG's) and/or the guidelines set by the Eclipse Foundation (i.e. Security, Intellectual Property, etc.) + +In case of repositories belonging to a [Product](https://eclipse-tractusx.github.io/community/products): + + +2. The product of the repository has not been released within the _past year's major release cycle_**\***. +3. The standards used by the product have been changed in a major version within the _past year's major release cycle_**\***. + + +**\*** The _past year's major release cycle_ is the time span between the breaking change releases YY.06 e.g., 24.05 till 24.05. + +### Deprecation Process + +To ensure the communities awareness the following process is used at least per major release planning: + +```mermaid +graph TD + A[1: Prepare list of unmaintained repositories] --> B[2-1: Draft critical issue for committer meeting] + B --> C[2-2: Inform Eclipse Tractus-X community] + C --> D[3: 2 week period: Comment on issue for criteria discussion] + D --> E[4-1: Committer meeting: Discuss list] + E --> F[4-2: Send email to mailing list] + F --> G{5: Action taken within 4 weeks?} + G -->|No| H[End of Release: Deprecate repository] + G -->|Yes| I[Plan Update of repository] + H --> J[Create issue in .eclipsefdn] +``` + +1. The committers prepare a list of unmaintained repositories. +2. The committers inform the Eclipse Tractus-X community via the [dev mailing list](https://eclipse-tractusx.github.io/docs/oss/how-to-contribute/#dev-mailinglist). This is done by an issue with checkboxes listing all these repositories (find the issue template [below](#issue-template-for-deprecation-list)). Additionally a critical issue is drafted on the [board for the committer meeting](https://github.com/orgs/eclipse-tractusx/projects/61/views/6) in at least 2 full weeks. +3. 2 weeks period: The committers comment the issue regarding which repositories are confronted with the [deprecation criteria](#criteria-for-deprecation). +4. Committer meeting: The committers discuss the list and check the boxes in the issue. As a result, a mail is sent out to the Eclipse Tractus-X mailing list. This list is split into network service products (e.g. Eclipse Tractus-X EDC), use case products (e.g. PURIS) and supporting repositories (e.g. API Hub). See a template below. +5. If no action is taken within additional **4 weeks** the project leads will proceed with the deprecation of the given repositories and communicate accordingly on the dev mailing list. +6. In case the repository got deprecated, and there is again maintenance or develop capacity, the following procedure **MUST** be followed [Repository Reactivation Process](#repository-reactivation-process) by a committer. + +### Issue Template for Deprecation List + +``` markdown +# Deprecation List + +The following repositories fulfill at least **criteria 1** so that deprecation has been proposed with this issue following [TRG 7.09](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-09). + +Dear @eclipse-tractusx/automotive-tractusx-committers please check the following list and comment which of the repositories shall be marked for deprecation. The list will be discussed as a critical topic in the committer meeting in two weeks. + +- [ ] sample repo link 1 +- [ ] sample repo link 2 +``` + +### Mail Template for Deprecation + +``` markdown +Dear Eclipse Tractus-X Community, + +Following repositories are proposed to be subject to deprecation with the upcoming release following [TRG 7.09](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-09). + +**Network Service Products (CRITICAL)**: +- link to repository 1 + +**Use Case Products**: +- link to repository 2 + + +**Supporting repository**: +- link to repository 3 + +**Call to Action**: Please discuss within your company e.g., with your Catena-X responsibles, whether you run into an issue. We highly encourage the companies to at least find resources for the **Network Service Products** to maintain an open source data space. +``` + +## Reactivation Guidelines + +Your repository got deprecated? No worries, follow the following steps to get it back on its feet: + +### Repository Reactivation Criteria + +In case a repository you are maintaining or want to maintain got deprecated after all the [Criteria for Deprecation](#criteria-for-deprecation) are fulfilled, and the [Deprecation Process](#deprecation-process) finalized, the following criteria **MUST** be fulfilled to reactivate your repository: + +1. The committer and requestor has capacity to resolve the security vulnerabilities and assure that the repository will comply and keep up to date with the TRGs. +2. Capacity to maintain the repository is available. +3. A solid reason is provided to reactivate the repository. + +### Repository Reactivation Process + +```mermaid +flowchart TD + A[1: Requestor creates an issue in the sig-infra repository following a template] --> B[2: Requestors send an email to the tractusx-dev mailing list informing of responsible committer, issue id and reason for reactivation] + B --> C[3: Requestor informs the community in the office hour] + C --> D{Reactivation Criteria Fulfilled?} + D --> |NO| E[4: Project Lead closes the issue in Github] + D --> |YES| F[4: Project Lead opens issue in .eclipsefdn] + F --> G[5:Once reactivated, the Project Lead announces it in the mailing list] + G --> H[6: The Issue in sig-infra is closed] +``` + +1. The requestor **MUST** create an issue in the [sig-infra](https://github.com/eclipse-tractusx/sig-infra) repository following the template [below](#issue-template-for-reactivation). +2. The requestor **MUST** announce the repository reactivation proposal on the [tractusx-dev](https://accounts.eclipse.org/mailing-list/tractusx-dev) mailing list mentioning the `issue id`, the `reason/motivation`. A `responsible committer` **MUST** be announced. +3. The requestor **MUST** inform the community within the Office Hour about the petition. +4. A project lead will open a issue at the [.eclipsefdn](https://github.com/eclipse-tractusx/.eclipsefdn) requesting the reactivation of the repository. +5. Once the repository is reactivated, the project lead sends a mail to the [tractusx-dev](https://accounts.eclipse.org/mailing-list/tractusx-dev) mailing list announcing the reactivation. +6. The project lead closes the issue in [sig-infra](https://github.com/eclipse-tractusx/sig-infra). + +### Issue Template for Reactivation + +```markdown +Title: Request for repository [] reactivation +Content: +## Context + +**Requester**: @a-contributor-or-committer-github-user +**Responsible Committer**: @a-committer-github-user + +**Respository to reactivate**: + +### Reason + + + +## Acknowledgments + +- [ ] I have checked and verified that the repository fulfills the [Reactivation Guidelines](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-09) + +- [ ] I have emailed the mailing list announcing the committer assigned to the repository, providing a reasonable motivation for the repository reactivation. + +- [ ] I have the consent of the committer, which will be responsible for making sure the latest [TRGs](https://eclipse-tractusx.github.io/docs/release) are followed. + +- [ ] The committer will monitor and take care that the open security issues of the reactivated repository. Following the [Security TRGs](https://eclipse-tractusx.github.io/docs/release/trg-8/trg-8-01) + +``` diff --git a/docs/release/trg-8/trg-8-03.md b/docs/release/trg-8/trg-8-03.md index d7179ef2dd1..cbba14fd480 100644 --- a/docs/release/trg-8/trg-8-03.md +++ b/docs/release/trg-8/trg-8-03.md @@ -1,26 +1,77 @@ --- -title: TRG 8.03 - GitGuardian +title: TRG 8.03 - TruffleHog --- -| Status | Created | Post-History | -|--------|-------------|-----------------| -| Active | 26-Mar-2024 | Initial release | -| Draft | 04-Mar-2024 | Draft release | +| Status | Created | Post-History | +|--------|-------------|---------------------------------------------------------------| +| Update | 27-Jun-2024 | Switching to TruffleHog due to GitGuardian licence expiration | +| Active | 26-Mar-2024 | Initial release | +| Draft | 04-Mar-2024 | Draft release | ## Why -GitGuardian excels at detecting and preventing leaks of sensitive data in your code repositories, such as API keys, passwords, and other secrets. This can help you avoid security breaches and comply with data privacy regulations. +TruffleHog is an open source tool designed to identify sensitive information, such as API keys, passwords, and other credentials, that may have been inadvertently committed to your code repository. This tool is expected to be used in parallel to the native GitHub Secret Scanning tool. ## Description -GitGuardian is integrated via its GitHub App, enabling automated secret scanning of our repositories. Each pull request undergoes a scan. If a potential secret is detected, the commit's author receives an immediate email notification. +Detecting and removing these secrets is crucial for maintaining the security of your application and infrastructure. TruffleHog performs a thorough search by checking the entire repository history, not just the latest commits. This means it can find secrets that were committed in the past and might still pose a security risk. -If a secret is suspected, the pull request will be locked. Immediate action is required regarding the potential secret due to the high risk associated with exposing secrets. +Configure your GitHub Actions to include: -:::caution +- `workflow dispatch`: Manual workflow execution. +- `schedule`: Schedule the workflow to run at least once a week with `0 0 * * 0`. +- `push` and `pull_request`: Activate the workflow on both push and pull request events targeting the branch that contains the code for the currently supported version, which may not necessarily be the main branch. This is the branch from which new releases will be made. -Address all findings. +Note: `extra_args: --filter-entropy=4 --results=verified,unknown` -::: +Including `extra_args: --filter-entropy=4 --results=verified,unknown` in the GitHub Actions workflow ensures that TruffleHog focuses on detecting high-entropy strings, which are more likely to be sensitive information such as passwords or API keys. This setup also instructs TruffleHog to report both verified secrets and potential but unverified secrets, providing a comprehensive security scan that helps identify and address all possible vulnerabilities in the code. -The email contains a _temporary **link**_, allowing the author to either **report** the detected secret or **mark it as a false positive**, streamlining the review process for software engineers. +Including `run: exit 1` in a step of a GitHub Actions workflow, as demonstrated below, commands the workflow to halt execution. This ensures that should TruffleHog uncover any secrets during its scan, the workflow promptly terminates in failure. + +GitHub Actions allows you to define workflows to automatically run TruffleHog scans on your code. You'll see the output that triggered the failure directly in the logs. + +Here’s how you can set it up: + +```yml +name: "TruffleHog" + +on: + push: + branches: ["main"] + pull_request: + # The branches below must be a subset of the branches above + branches: ["main"] + schedule: + - cron: "0 0 * * *" # Once a day + workflow_dispatch: + +permissions: + actions: read + contents: read + security-events: write + id-token: write + issues: write + +jobs: + ScanSecrets: + name: Scan secrets + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure full clone for pull request workflows + + - name: TruffleHog OSS + id: trufflehog + uses: trufflesecurity/trufflehog@main + continue-on-error: true + with: + path: ./ # Scan the entire repository + base: "${{ github.event.repository.default_branch }}" # Set base branch for comparison (pull requests) + extra_args: --filter-entropy=4 --results=verified,unknown --debug + + - name: Scan Results Status + if: steps.trufflehog.outcome == 'failure' + run: exit 1 # Set workflow run to failure if TruffleHog finds secrets +``` diff --git a/docs/release/trg-8/trg-8-05.md b/docs/release/trg-8/trg-8-05.md new file mode 100644 index 00000000000..b1d8c44fb29 --- /dev/null +++ b/docs/release/trg-8/trg-8-05.md @@ -0,0 +1,82 @@ +--- +title: TRG 8.05 - Dependabot +--- + +| Status | Created | Post-History | +|--------|--------------|-----------------------------------| +| Update | 19-July-2024 | Moved the content from trg-2-6.md | +| Active | 12-Feb-2024 | Publish TRG | +| Draft | 4-Jan-2024 | Initial release | + +## Why + +GitHub Dependabot is a powerful tool designed to help keep your project's dependencies up to date. By automating the process of checking for updates and creating pull requests when new versions are available, Dependabot ensures that your project benefits from the latest features, bug fixes, and security patches. + +Key Benefits: + +- Security: Receive timely updates for security vulnerabilities in your project's dependencies. +- Stability: Keep your project stable by staying current with the latest releases. +- Efficiency: Automate the time consuming task of manually checking for updates and creating pull requests. + +## Description + +Dependabot is an excellent fit for application dependencies/vulnerabilities. By regularly checking for updates, it allows you to seamlessly integrate the latest improvements into your application. + +For Docker images, Dependabot ensures that your [base images](https://eclipse-tractusx.github.io/docs/release/trg-4/trg-4-02) and dependencies are regularly updated, reducing the risk of using outdated or vulnerable components. + +Dependabot can also assist in keeping used GitHub Actions up to date. This is crucial for ensuring that your workflows leverage the latest GitHub Actions features and improvements. + +### Security updates + +To enable Dependabot for security updates, you can leverage GitHub's Security tab. Go to the "Security" tab in your repository and follow the prompts to enable automated security updates. +More information: + + +### Version updates + +To enable Dependabot for version updates, create a dependabot.yml file in .github directory the root of your repository. In order to reduce number of generated bump Pull Requests, recommendation is to change default interval to i.e. weekly, as well as limit open PRs. See provided example below. + +### Example + +A basic example of a dependabot.yml file, demonstrating configurations for for Maven, GitHub Action and Docker ([all options](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem)), is shown below: +Please note the interval, open pull requests limits as well as other parameters can be customized according to preferences. + +:::caution +Be careful, Dependabot PR merge can lead to out of date DEPENDENCIES file. +Make sure DEPENDENCIES file is updated by DASH tool. +::: + +```yaml +version: 2 +updates: + # Maintain dependencies for Maven + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + + # Maintain dependencies for Docker + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 +``` + +More information: + + + +:::info +Importance of Implemented Tests: + +Ensure that your project has comprehensive test coverage. Automated tests are crucial for quickly validating that updates do not introduce regressions or break existing functionality. +::: diff --git a/docs/release/trg-9/_category_.json b/docs/release/trg-9/_category_.json new file mode 100644 index 00000000000..0dce466b26b --- /dev/null +++ b/docs/release/trg-9/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "TRG 9 - UX/UX Styleguide" +} diff --git a/docs/release/trg-9/trg-9-01.md b/docs/release/trg-9/trg-9-01.md new file mode 100644 index 00000000000..7c18a1eab76 --- /dev/null +++ b/docs/release/trg-9/trg-9-01.md @@ -0,0 +1,76 @@ +--- +title: TRG 9.01 - UX consistency / Styleguide for UI +sidebar_position: 1 +--- + +| Status | Created | Post-History | +|--------|---------------|----------------------------------------------------------| +| Active | 22-Jul-2024 | Finalize TRG | +| Draft | 25-April-2024 | Added new styleguide criteria - initial version | +| Draft | 10-Jan-2024 | Transferred from Release Acceptance Criteria into TRG | + +## Introduction + +The purpose of this guideline is to ensure that business applications with user interfaces adhere to the established UI/UX styleguide which is collected in the [Portal Shared Components](https://github.com/eclipse-tractusx/portal-shared-components.git). It outlines all the relevant criteria that must be checked when releasing a new product version. A crosscheck with every pull request is not just optional, but it is a "MUST" criteria to ensure the quality and consistency of the user interfaces of each product/component. This step is crucial in maintaining the overall standard and enhancing as well as standardizing the user experience. + +## Objective + +The objective is to ensure consistency, usability, and adherence to design standards across all user interfaces within the business application. + +## Criteria (Basic) + +### Styleguide Compliance + +- All user interface elements must match the predefined styles. This includes fonts, colors, button styles, input fields, and layout grids. + - [Storybook](https://eclipse-tractusx.github.io/portal-shared-components) + - You can use the publicly available Portal Shared Components NPM library - React supported - to easily develop applications that are in-line with the Tractus-X style guidelines. If you are using a framework other than React, you should use the Shared Components as a base and adapt their style to match the styleguide. +- Icons and imagery should be consistent (note that images and icons must be open source compliant and license files are needed) + - [Image, Graphics & Diagrams](https://github.com/eclipse-tractusx/portal-assets/blob/v2.0.0/docs/developer/Technical%20Documentation/Others/Images%2C%20Graphics%20and%20Diagrams.md) + +### Responsiveness and Compatibility + +- The application must be fully responsive and provide a seamless experience across different devices and screen sizes. +- The application must be tested with multiple browsers - in case any browsers are not supported, the same must be documented. + +### Accessibility + +- The application must meet the minimum accessibility standards (e.g., WCAG 2.1). +- Optional: All user interface components must be navigable and usable with keyboard-only controls. +- Optional: Screen reader compatibility must be tested and ensured. + +### User Experience + +- The application's user flow must align with the user experience outlined in the styleguide. +- Interactive elements must provide feedback to the user, such as hover states, active states, and disabled states, as per the styleguide. +- The application must have a user help area which is linked to the current deployed application version. +- The application must have a loading state or spinner component that indicates when data is being fetched or processed. +- The application must have a mechanism in place to prevent the user interface from being triggered a second time by the user while running loading processes (POST Data). This is important to avoid any unintended actions or disruptions caused by multiple triggers. By implementing this safeguard, the application can ensure a smooth and reliable user experience during loading processes. +- The application must have a notification or alert component that displays important messages or updates to the user (success as well as errors). + +### Typography and Readability + +- Text must adhere to the styleguide's typography standards, including font sizes, line heights, and font weights. +- Text contrast must meet the minimum contrast ratios for readability. + +### Localization and Internationalization + +- The application/user interface must support multiple languages, allowing users to switch between different language options. +- Text in the user interface must be properly localized and displayed in the correct format for the target audience. + +### Animation and Transitions + +- Any animations or transitions must be smooth, enhance the user experience, and conform to the styleguide's principles. + +### Others + +- The application should include a footer component that contains important links, such as terms of service, privacy policy, and contact information. + - The [legal notice for frontend components described in TRG 7.06](../trg-7/trg-7-06.md#frontend-components) must be implemented. + +--- + +### STYLEGUIDE RELATED LINKS + +> - [Storybook](https://eclipse-tractusx.github.io/portal-shared-components) +> - [NPM library](https://www.npmjs.com/package/@catena-x/portal-shared-components) +> - [Source code](https://github.com/eclipse-tractusx/portal-shared-components.git) +> - [Image, Graphics & Diagrams](https://github.com/eclipse-tractusx/portal-assets/blob/v2.0.0/docs/developer/Technical%20Documentation/Others/Images%2C%20Graphics%20and%20Diagrams.md) diff --git a/docs/tutorials/e2e.md b/docs/tutorials/e2e.md index 2376dfc5ba4..e4b7788178f 100644 --- a/docs/tutorials/e2e.md +++ b/docs/tutorials/e2e.md @@ -10,13 +10,13 @@ Completing this tutorial is recommended for IT departments prior to participatin :::info -With the Minimum Tractus-X Dataspace (MXD), IT departments can set up their own data space locally to perform a data exchange between two parties (Alice and Bob in our example). The MXD can be used as a sandbox for testing and exploring the EDC. +With the Minimum Tractus-X dataspace (MXD), IT departments can set up their own data space locally to perform a data exchange between two parties (Alice and Bob in our example). The MXD can be used as a sandbox for testing and exploring the EDC. ::: ## Target Audience -This tutorial is built for employees of the **IT department who operates the IT stack of an adopter (data provider/consumer)**. It shows how to operate the various Catena-X components in combination with each other. It also explains the basic connection with the core services (e.g. Keycloak and MIW), as provided by an operating company (e.g. first Catena-X Operating Company Confinity-X). +This tutorial is built for employees of the **IT department who operates the IT stack of an adopter (data provider/consumer)**. It shows how to operate the various Catena-X components in combination with each other. It also explains the basic connection with the core services (e.g. keycloak and MIW), as provided by an operating company (e.g. first Catena-X Operating Company Cofinity-X). :::note @@ -60,7 +60,7 @@ Technical knowledge (Docker, Kubernetes, Helm, Terraform) to deploy components o ## Tutorial Description -This tutorial is split into three chapters (more will follow) that build on each other. It won't provide deep dives into each of the technical components that will be deployed. If you are interested in getting a deeper understanding of each of the components, or the realted standards, please have a look into the [kits](https://eclipse-tractusx.github.io/developer) section. +This tutorial is split into three chapters (more will follow) that build on each other. It won't provide deep dives into each of the technical components that will be deployed. If you are interested in getting a deeper understanding of each of the components, or the related standards, please have a look into the [kits](https://eclipse-tractusx.github.io/developer) section. :::tip diff --git a/docs/tutorials/e2e/CHANGELOG.md b/docs/tutorials/e2e/CHANGELOG.md index ff188a815cb..926309322df 100644 --- a/docs/tutorials/e2e/CHANGELOG.md +++ b/docs/tutorials/e2e/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this tutorial will be documented in this file. +## [1.0.0] - 2024-06-24 + +### Added + +- Digital twin registry (dtr) as component and related description "how to use it" as a provider +- Example for restrictions via different policies + +### Changed + +- Deployable local dataspace via umbrella helm charts + ## [0.1.0] - 2023-11-28 ### Added diff --git a/docs/tutorials/e2e/boost/assets/components_contract_definition.png b/docs/tutorials/e2e/boost/assets/components_contract_definition.png deleted file mode 100644 index c3c067aeb4f..00000000000 Binary files a/docs/tutorials/e2e/boost/assets/components_contract_definition.png and /dev/null differ diff --git a/docs/tutorials/e2e/boost/consumeData.md b/docs/tutorials/e2e/boost/consumeData.md index 0c6922eb8ad..7215ee8ef45 100644 --- a/docs/tutorials/e2e/boost/consumeData.md +++ b/docs/tutorials/e2e/boost/consumeData.md @@ -14,13 +14,13 @@ To see Bob's data offerings, Alice must request access to his catalog. The catal So Alice requests Bob's catalog using the following `curl` commands: ```shell -curl --location 'http://localhost/alice/management/v2/catalog/request' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/catalog/request' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": {}, "protocol": "dataspace-protocol-http", - "counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "querySpec": { "offset": 0, "limit": 100 @@ -34,22 +34,26 @@ Alice finds the Asset with the ID 3 and the description "Product EDC Demo Asset ## Negotiate a contract +:::info +Dont forget to change the `offerId`with the one you received in the previous step in your catalog request. +::: + But before she can transfer the data, she must negotiate the contract with Bob. To do this, she uses the following `curl` command: ```shell -curl --location 'http://localhost/alice/management/v2/contractnegotiations' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/contractnegotiations' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" }, "@type": "NegotiationInitiateRequestDto", - "connectorAddress": "http://bob-controlplane:8084/api/v1/dsp", + "connectorAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "protocol": "dataspace-protocol-http", - "providerId": "BPNL000000000002", + "providerId": "BPNL00000003AYRE", "offer": { - "offerId": "Mw==:Mw==:ODRkYjJhZjQtZjMxOC00ZjgyLThjMjktODQwZThjYjBjNjVl", + "offerId": "Mw==:Mw==:NTYzYWRkYTItNmEzMy00YTNhLWFmOTQtYjVjOWM0ZDMyODA1", "assetId": "3", "policy": { "@type": "odrl:Set", @@ -62,15 +66,39 @@ curl --location 'http://localhost/alice/management/v2/contractnegotiations' \ }' | jq ``` -In the response, Alice gets a UUID. This is the ID of the created contract negotiation. Alice can now use this ID to see the current status of the negotiation and - if the negotiation was successful - the ID of the created contract agreement. +The response should look like this: + +```json +{ + "@type": "edc:IdResponse", + "@id": "65356596-dd7c-4ad4-8fc6-8512be6f0ec2", + "edc:createdAt": 1715669329095, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + +In the response, Alice gets a UUID (attribute is `@id`). This is the ID of the created contract negotiation. Alice can now use this ID to see the current status of the negotiation and - if the negotiation was successful - the ID of the created contract agreement. :::tip -Make sure to replace `` in the URL with the UUID you just received. +Make sure to replace `` in the URL with the UUID you just received. in the current case the UUID is `65356596-dd7c-4ad4-8fc6-8512be6f0ec2`. So the curl command should look like this: + +```shell +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/contractnegotiations/65356596-dd7c-4ad4-8fc6-8512be6f0ec2' \ +--header 'X-Api-Key: TEST1' | jq +``` + ::: ```shell -curl --location 'http://localhost/alice/management/v2/contractnegotiations/' \ ---header 'X-Api-Key: password' | jq +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/contractnegotiations/' \ +--header 'X-Api-Key: TEST1' | jq ``` - If the negotiation was **successful**, Alice will see an ouput as shown below. @@ -79,17 +107,17 @@ curl --location 'http://localhost/alice/management/v2/contractnegotiations/' ```json { "@type": "edc:ContractNegotiation", - "@id": "4e74a632-94bc-4bfb-acf5-230f7d18b080", + "@id": "65356596-dd7c-4ad4-8fc6-8512be6f0ec2", "edc:type": "CONSUMER", "edc:protocol": "dataspace-protocol-http", "edc:state": "FINALIZED", - "edc:counterPartyId": "BPNL000000000002", - "edc:counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "edc:counterPartyId": "BPNL00000003AYRE", + "edc:counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "edc:callbackAddresses": [], - "edc:createdAt": 1702989093837, - "edc:contractAgreementId": "Mw==:Mw==:NmY5MDA4OGEtOWY1ZC00YmYyLWFiZjMtMjRiNzY0YzEyOTk4", + "edc:createdAt": 1715669329095, + "edc:contractAgreementId": "Mw==:Mw==:N2RhZGI3OGMtYzUxNC00OTkzLWI3MzktNDE3YmJhMDNkMDU4", "@context": { - "dct": "https://purl.org/dc/terms/", + "dct": "http://purl.org/dc/terms/", "tx": "https://w3id.org/tractusx/v0.0.1/ns/", "edc": "https://w3id.org/edc/v0.0.1/ns/", "dcat": "https://www.w3.org/ns/dcat/", @@ -107,7 +135,7 @@ Alice wants to send the data to her backend application ("" :::warning -For testing purposes, you should replace `backend:8080` with your own test API or use [webhook.site](https://webhook.site/) as your backend system. +For testing purposes, you should replace `` with your own test API or use [webhook.site](https://webhook.site/) as your backend system. If you do not change this, you will not be able to view the received token, which is required for requesting the data! If you are using webhook.site, please make sure that you use "Your unique URL" and that you do not transfer any sensitive information to webhook. @@ -115,22 +143,22 @@ Replace `` with the contract agreement ID you received in t ::: ```shell -curl --location 'http://localhost/alice/management/v2/transferprocesses' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/transferprocesses' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" }, "assetId": "3", - "connectorAddress": "http://bob-controlplane:8084/api/v1/dsp", - "connectorId": "BPNL000000000002", + "connectorAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", + "connectorId": "BPNL00000003AYRE", "contractId": "", "dataDestination": { "type": "HttpProxy" }, "privateProperties": { - "receiverHttpEndpoint": "http://backend:8080" + "receiverHttpEndpoint": "" }, "protocol": "dataspace-protocol-http", "transferType": { @@ -140,17 +168,41 @@ curl --location 'http://localhost/alice/management/v2/transferprocesses' \ }' | jq ``` +The response in this case looks like this: + +```json +{ + "@type": "edc:IdResponse", + "@id": "9d6a0507-25f5-4a81-8885-a47bc3809451", + "edc:createdAt": 1715669899367, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + Just to make sure everything worked, Alice uses another `curl` command to check if the transfer was successful. In the response, Alice gets a UUID. This is the ID of the created transfer. Alice can now use this ID to see the current status of the transfer. :::tip -Make sure to replace `` in the URL with the UUID you just received. +Make sure to replace `` in the URL with the UUID you just received. In our case, the UUID is `9d6a0507-25f5-4a81-8885-a47bc3809451`. So the curl command should look like this: + +```shell +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/transferprocesses/9d6a0507-25f5-4a81-8885-a47bc3809451' \ +--header 'X-Api-Key: TEST1' | jq +``` + ::: ```shell -curl --location 'http://localhost/alice/management/v2/transferprocesses/' \ ---header 'X-Api-Key: password' | jq +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/transferprocesses/' \ +--header 'X-Api-Key: TEST1' | jq ``` - If the transfer was **successful**, Alice will see an ouput as shown below. @@ -158,22 +210,22 @@ curl --location 'http://localhost/alice/management/v2/transferprocesses/' \ ```json { - "@id": "6d6bca4e-4da5-4ed3-9fe5-2b98623d9a59", + "@id": "9d6a0507-25f5-4a81-8885-a47bc3809451", "@type": "edc:TransferProcess", - "edc:correlationId": "6d6bca4e-4da5-4ed3-9fe5-2b98623d9a59", + "edc:correlationId": "9d6a0507-25f5-4a81-8885-a47bc3809451", "edc:state": "STARTED", - "edc:stateTimestamp": 1702990026966, + "edc:stateTimestamp": 1715669901450, "edc:type": "CONSUMER", "edc:assetId": "3", - "edc:contractId": "Mw==:Mw==:NmY5MDA4OGEtOWY1ZC00YmYyLWFiZjMtMjRiNzY0YzEyOTk4", + "edc:contractId": "Mw==:Mw==:N2RhZGI3OGMtYzUxNC00OTkzLWI3MzktNDE3YmJhMDNkMDU4", "edc:callbackAddresses": [], "edc:dataDestination": { "@type": "edc:DataAddress", "edc:type": "HttpProxy" }, - "edc:connectorId": "BPNL000000000002", + "edc:connectorId": "BPNL00000003AYRE", "@context": { - "dct": "https://purl.org/dc/terms/", + "dct": "http://purl.org/dc/terms/", "tx": "https://w3id.org/tractusx/v0.0.1/ns/", "edc": "https://w3id.org/edc/v0.0.1/ns/", "dcat": "https://www.w3.org/ns/dcat/", @@ -197,14 +249,14 @@ If you used webhook.site as your backend system, you can now go to [webhook.site In her backend (as already mentioned [webhook.site](https://webhook.site/)) you will now find the following (as an example) entry -![Consume data backend](@site/static/tutorials/e2e/consume_data_backend.png) +![Consume data backend](/tutorials/e2e/consume_data_backend.png) ```json { - "id": "841e3cd7-add0-47fd-adef-ea8074ec50af", - "endpoint": "http://bob-tractusx-connector-dataplane:8081/api/public", + "id": "9d6a0507-25f5-4a81-8885-a47bc3809451", + "endpoint": "http://dataprovider-dataplane.tx.test/api/public", "authKey": "Authorization", - "authCode": "eyJhbGciOiJFUzI1NiJ9.eyJleHAiOjE3MTE5MTIzMDgsImRhZCI6IktaamRBV3ZSV0xpS3V5akNwSjRIdEgwT2lqOEdQRno2SVdXcWxMMEFFZUloS25wOU5mZll2R1Q0M0N4dURZVHhUK3lRaXhrcWU1dVN1Sk5JR09GTi9kRlQ4R29WNGFHZ3FpdzhXMXBLT2ZLMUdtM1NkeFRIeWR0QTlnTnZoZFJ6T05RclpxbUlwNGxwZVBRaS9CSGVNTEYycEVsRVUvcExzU3dTbDh3eUplY3lSM2thTnJiUUw0a3RnajNMeDBjWUp3ZHZlS2h3OUdMYjF1UnBDa3I0RE5sOG4zQlprZ1ZEK1RYUGtIaGhXVWNpck1Tc3FBZHdyN3kvRFE0Nlp5S09GbldtTmVkdEVaempLWmRRRUlWMkcyV2d2cXFya25WdkNvTzhPZWpXZU1MaXUvdnl2cWdTZmp2dkk4cHhIOTRzYS90LzdGazB2YlRuMmpNMjQ3TFZQUlcvMk9wRElZWTA0dVRYY2p2T0h2L1UvcU5heURnR09uaitBbjcyZnNiOUZhWVZLMzQ4TzRYKzFDMkRvUjBwem9nQmJyRGMzSzRNQzBSdjcvVT0iLCJjaWQiOiJNdz09Ok13PT06WTJJelpHTXdaR1l0WVRNeVlpMDBZamM1TFdFNFkyTXROVE5rWWpVeU5tWXpNR0ZpIn0._2G-2eVzIQrTh-JW0Dx_P9nG2bAElPFllYtpN_s7MXk6R-F5jdMyCblMD6uJDw-H7J0SMiW5IAYExcZkMn-65w", + "authCode": "eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3MTU2NzA1MDEsImRhZCI6IjFFQ29ReDRBTy9acmJ6dXEwUlpSY0tYd1hQeW81UmdPZndyRWtIWnpZSStQVGhIUmFuelczeGpXcU5vTzFJa3ZOWUV6SGpEWU5iVEJ5VDgzbzdtVlVsUWZhYUpKSm5CMVJGbFQ1SXM0NHpZQ0RJYWZKNHhmQzZTOFNKaWxjV0x1WURoc24xRjdha2xSZllnemRIMjR3WnJycS9JU0pPZjFzVHNQSHNtcE9PaWZ2S2ZyaElFemtJSEs3OFZUTFBMd0krWmNEK3VZc1FCQkt5NlEvZFBCSkZodWsyMXFiOVU1V3dZWWpPYkZSQjdzUmpZYkNsSlpyaTZzVWFXQU1WOXVsQ2JGS2NPM2xxMERPaWRuQjNqSXJ4blh4Y3JjVHl3MEkzV3JjN2k2ZG1nejlXMTFvYTR5VUpJWU92R1lkdWNXdk1pemk3b01mck5SdXE0SVJ1djR6ai9Cemcxb2NZalB5Y0RvK2I2M0RheWpyWmVNS1c4OGNRUnlvUDdpbExsMVNVVmFlRUxZQ3lieitCYUxpd2x1d0lpcWxFckJrTDNlOXptNGpJYz0iLCJjaWQiOiJNdz09Ok13PT06TjJSaFpHSTNPR010WXpVeE5DMDBPVGt6TFdJM016a3ROREUzWW1KaE1ETmtNRFU0In0.AOt6rXbcK44RD7XNCMN16zjvurzdkMNCki3HkvZ_VJ43eDkCDDbquDSvW0SmEnp9cqhjMbUqnO-iGJheI4TbkIc9dxFouJGtHvKFAjOG7LFSErwvH0yNXus1TPN41BCp_jP1tpH63s3PuRqgdzzn1axkJ57aGo9ibqnKRm7ZhM8pgkReWQpHwlFz3QuOMFWHNmPm_HMePPsUxZM7OpARwgShGMqATHEJmoIff2S1yLLeN0k97JT4BzL7xwM9VB-Yssq1rWxBp3GITcBta5R1EVjzaEZseYn_wxFFmVlXQtu_lkvbgihEsvCgtXI_c-EGZl_gTVe9DMfq4cM2XXfE8A", "properties": {} } ``` @@ -222,7 +274,19 @@ In this example, we can not use the endpoint URL as is, because we are working w In this example, this results in the following request: ```shell -curl -X GET -H 'Authorization: eyJhbGciOiJFUzI1NiJ9.eyJleHAiOjE3MTE5MTIzMDgsImRhZCI6IktaamRBV3ZSV0xpS3V5akNwSjRIdEgwT2lqOEdQRno2SVdXcWxMMEFFZUloS25wOU5mZll2R1Q0M0N4dURZVHhUK3lRaXhrcWU1dVN1Sk5JR09GTi9kRlQ4R29WNGFHZ3FpdzhXMXBLT2ZLMUdtM1NkeFRIeWR0QTlnTnZoZFJ6T05RclpxbUlwNGxwZVBRaS9CSGVNTEYycEVsRVUvcExzU3dTbDh3eUplY3lSM2thTnJiUUw0a3RnajNMeDBjWUp3ZHZlS2h3OUdMYjF1UnBDa3I0RE5sOG4zQlprZ1ZEK1RYUGtIaGhXVWNpck1Tc3FBZHdyN3kvRFE0Nlp5S09GbldtTmVkdEVaempLWmRRRUlWMkcyV2d2cXFya25WdkNvTzhPZWpXZU1MaXUvdnl2cWdTZmp2dkk4cHhIOTRzYS90LzdGazB2YlRuMmpNMjQ3TFZQUlcvMk9wRElZWTA0dVRYY2p2T0h2L1UvcU5heURnR09uaitBbjcyZnNiOUZhWVZLMzQ4TzRYKzFDMkRvUjBwem9nQmJyRGMzSzRNQzBSdjcvVT0iLCJjaWQiOiJNdz09Ok13PT06WTJJelpHTXdaR1l0WVRNeVlpMDBZamM1TFdFNFkyTXROVE5rWWpVeU5tWXpNR0ZpIn0._2G-2eVzIQrTh-JW0Dx_P9nG2bAElPFllYtpN_s7MXk6R-F5jdMyCblMD6uJDw-H7J0SMiW5IAYExcZkMn-65w' http://localhost/bob/api/public +curl -X GET -H 'Authorization: eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3MTU2NzA1MDEsImRhZCI6IjFFQ29ReDRBTy9acmJ6dXEwUlpSY0tYd1hQeW81UmdPZndyRWtIWnpZSStQVGhIUmFuelczeGpXcU5vTzFJa3ZOWUV6SGpEWU5iVEJ5VDgzbzdtVlVsUWZhYUpKSm5CMVJGbFQ1SXM0NHpZQ0RJYWZKNHhmQzZTOFNKaWxjV0x1WURoc24xRjdha2xSZllnemRIMjR3WnJycS9JU0pPZjFzVHNQSHNtcE9PaWZ2S2ZyaElFemtJSEs3OFZUTFBMd0krWmNEK3VZc1FCQkt5NlEvZFBCSkZodWsyMXFiOVU1V3dZWWpPYkZSQjdzUmpZYkNsSlpyaTZzVWFXQU1WOXVsQ2JGS2NPM2xxMERPaWRuQjNqSXJ4blh4Y3JjVHl3MEkzV3JjN2k2ZG1nejlXMTFvYTR5VUpJWU92R1lkdWNXdk1pemk3b01mck5SdXE0SVJ1djR6ai9Cemcxb2NZalB5Y0RvK2I2M0RheWpyWmVNS1c4OGNRUnlvUDdpbExsMVNVVmFlRUxZQ3lieitCYUxpd2x1d0lpcWxFckJrTDNlOXptNGpJYz0iLCJjaWQiOiJNdz09Ok13PT06TjJSaFpHSTNPR010WXpVeE5DMDBPVGt6TFdJM016a3ROREUzWW1KaE1ETmtNRFU0In0.AOt6rXbcK44RD7XNCMN16zjvurzdkMNCki3HkvZ_VJ43eDkCDDbquDSvW0SmEnp9cqhjMbUqnO-iGJheI4TbkIc9dxFouJGtHvKFAjOG7LFSErwvH0yNXus1TPN41BCp_jP1tpH63s3PuRqgdzzn1axkJ57aGo9ibqnKRm7ZhM8pgkReWQpHwlFz3QuOMFWHNmPm_HMePPsUxZM7OpARwgShGMqATHEJmoIff2S1yLLeN0k97JT4BzL7xwM9VB-Yssq1rWxBp3GITcBta5R1EVjzaEZseYn_wxFFmVlXQtu_lkvbgihEsvCgtXI_c-EGZl_gTVe9DMfq4cM2XXfE8A' http://dataprovider-dataplane.tx.test/api/public | jq +``` + +:::info +Currently the response for this curl commoand is + +```json +{ + "userId": 1, + "id": 3, + "title": "fugiat veniam minus", + "completed": false +} ``` ## Notice diff --git a/docs/tutorials/e2e/boost/dtrTutorial.md b/docs/tutorials/e2e/boost/dtrTutorial.md new file mode 100644 index 00000000000..84fd0c782f2 --- /dev/null +++ b/docs/tutorials/e2e/boost/dtrTutorial.md @@ -0,0 +1,433 @@ +--- +title: DTR Tutorial +sidebar_position: 5 +--- + +## Tutorial Goal + +Alongside the connector, the Digital Twin Registry (DTR) is an important decentral component deployed by each data provider exchanging digital twins in Catena-X. They must register them in a DTR so that consumers can find relevant data in the provider's data offers. + +This tutorial focuses on the working with the DTR. You will learn what the DTR is, how to deploy it and go through a complete use case scenario by depositing a DTR in the EDC, registering a digital twin in the DTR, and showing how external parties can find and consume the digital twin. + +## Introduction + +Catena-X uses the Asset Administration Shell (AAS) to represent digital twins. Such a digital twin is basically a shell with an ID (usually a UUID) that makes it uniquely identifiable. Also it contains IDs ("specificAssetIds") that connect the shell with the original asset it represents (e.g. the "manufacturerPartId"). The shell also contains SubmodelDescriptors which reference to submodels that contain the actual data of specific aspects of the asset. + +The Digital Twin Registry (DTR) contains a list of all registered digital twins of the owner and therefore acts as an address book for Digital Twins. With the DTR of a data provider, a data consumer can therefore find digital twin and also get directed to the desired submodels of the twin. + +Further details can be found in the [Digital Twin KIT][dt-kit] or the [sldt-digital-twin-registry][sldt-dtr] Github repository. + +In this tutorial, Bob will assume the role of an automotive supplier that manufactures gearboxes and acts as the data provider. Alice represents an OEM that uses these gearboxes. Alice's goal is to calculate the product carbon footprint (PCF) of a car, and she also needs the carbon footprints of the individual parts to calculate the total footprint. Therefore, Alice is the data consumer in this tutorial. + +The steps of the tutorial are as follows + +- Bob registers a DTR at his EDC +- Bob registers a Digital Twin at his DTR +- Alice finds and consumes the Digital Twin + +This tutorial will guide you through the steps outlined above. For a deeper understanding, more detailed documentation will be linked. + +### High Level Architecture + +## Exchange Digital Twins + +### Register a DTR in your EDC + +#### Create the DTR asset + +To ensure that Bob's DTR becomes visible for Alice and to start the data exchange between them, Bob has to create a data asset. + +Action (Bob): Create a data asset using the following command: + +(note: that the "asset:prop:type" is standardized with "data.core.digitalTwinRegistry" for the Digital Twin Registry.) + +```curl --location 'http://dataprovider-controlplane.tx.test/management/v3/assets' \ +--header 'Content-Type: application/json' \ +--header 'X-Api-Key: TEST2' \ +--data-raw '{ + "@context":{ + "edc":"https://w3id.org/edc/v0.0.1/ns/", + "cx-common":"https://w3id.org/catenax/ontology/common#", + "cx-taxo":"https://w3id.org/catenax/taxonomy#", + "dct":"http://purl.org/dc/terms/" + }, + "@id":"{{ASSET_ID}}", + "properties":{ + "dct:type":{ + "@id":"cx-taxo:DigitalTwinRegistry" + } + }, + "dataAddress":{ + "@type":"DataAddress", + "type":"HttpData", + "baseUrl":"{{BACKEND_SERVICE}}", + "proxyPath":"true", + "proxyBody":"true", + "proxyMethod":"false", + "proxyQueryParams":"true", + "oauth2:clientId":"satest02", + "oauth2:clientSecretKey":"{{REGISTRY_CLIENT_SECRET_KEY}}", + "oauth2:tokenUrl":"http://centralidp.tx.test/auth/realms/CX-Central/protocol/openid-connect/token", + "oauth2:scope":"{{REGISTRY_TOKEN_SCOPE}}" + } +}' +``` + +As per the current standards, there is no need to proxy the HTTP method. If there is (for instance due to a proprietary query endpoint), the data provider must ensure thatthat the technical user that the registered credentials abstract does NOT have the power to manipulate the DTR's data (for instance via the `PUT /shell-descriptors/{{aasId}}` API. + +#### Create a policy + +After Bob has created an data asset, he must define a BPN-restrictive policy in order to give Alice access to the asset. This policy is not standardized and can be chosen according to its needs. Bob wants to define the policy that only Alice can see the DTR Asset. + +Action (Bob): Defines the access policy using the following command: + +```curl +{ + "@context": { + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@type": "PolicyDefinitionRequestDto", + "@id": "{{POLICY_ID}}", + "policy": { + "@type": "Policy", + "odrl:permission" : [{ + "odrl:action" : "USE", + "odrl:constraint" : { + "@type": "LogicalConstraint", + "odrl:or" : [{ + "@type" : "Constraint", + "odrl:leftOperand" : "BusinessPartnerNumber", + "odrl:operator" : { + "@id": "odrl:eq" + }, + "odrl:rightOperand" : "{{CONSUMER_BPN}}" + }] + } + }] + } +} +``` + +#### Contract Definition + +To offer the DTR in his EDC Catalog, Bob has to create a contract definition. This contains linking the data asset with the policy. + +Action (Bob): Create the contract policy using the following command: + +```curl +{ + "@context": {}, + "@id": "{{CONTRACT_DEFINITION_ID}}", + "@type": "ContractDefinition", + "accessPolicyId": "{{ACCESS_POLICY_ID}}", + "contractPolicyId": "{{CONTRACT_POLICY_ID}}", + "assetsSelector" : { + "@type" : "CriterionDto", + "operandLeft": "{{EDC_NAMESPACE}}id", + "operator": "=", + "operandRight": "{{ASSET_ID}}" + } +} +``` + +The DTR Asset from Bob is now available for Alice to request via contract negotiation. Currently it is still empty. Therefore Bob will register his first digital twin in the next step of this tutorial. + +Continue the tutorial in [Register a Digital](#register-a-digital-twin) Twin. + +### Register a Digital Twin + +The basic steps for providing digital twins with the DTR contain: + +- Create a compliant submodel +- Store the submodel on a submodel server +- Register/create a digital twin at the DTR +- Reference the Submodel in the digital twin + +#### Create a submodel + +Submodels needs to be compliant to the domain specified standards. Bob has already prepaired the submodel he wants to share with Alice. Thefore the first step is already taken care of. + +#### Host/store a submodel + +Bob also needs to store his submodels somewhere. Usually a submodel server is used for this task. For this tutorial a service called "backend-data-service" (short BDS) is provided. This service fulfills the role of the submodel server. It can store any text based data (e.g. JSON, XML, plain text) under a specific ID. This data can be received again, by using the same ID. Bob will use this service to host his data. + +Action (Bob): Store submodel on the BDS using the following command: + +```curl +id="bobs-data" +bdsBaseUrl="http://localhost/bobs-bds" +clusterInternalBdsBaseUrl="http://bobs-bds-bds" + +curl -i -X POST "${bdsBaseUrl}/data/${id}" -H "Content-Type: application/json" --data-raw '{ + "diameter": 380, + "length": 810, + "width": 590, + "weight": 85, + "height": 610 +}' +``` + +#### Create Contract Definition at EDC with the submodel + +Bob has now stored his submodel on the BDS. However, because he wants to preserve data sovereignty over his data, he cannot directly provide access to the BDS. Instead, the data exchange shall take place via the EDC. + +Therefore Bob needs to create an according contract definition. This follows the same three steps as explained in "Create DTR Asset" of creating an data asset, creating a policy and finally creating the contract definition. + +Info: + +edcManagementBaseUrl="" +edcApiKey="password" + +```bash +# Asset +# assetId="$(uuidgen)" +assetId="0bc6a8af-8682-4dba-86b1-0433f9762e42" +clusterInternalBdsBaseUrl="http://bobs-bds-bds:8080" +bdsDataId="bobs-data" +assetUrl="${clusterInternalBdsBaseUrl}/data/${bdsDataId}" + +# Policy +# policyId="$(uuidgen)" +policyId="1bc6a8af-8682-4dba-86b1-0433f9762e42" + +# Contract Definition +# contractDefinitionId="$(uuidgen)" +contractDefinitionId="2bc6a8af-8682-4dba-86b1-0433f9762e42" +``` + +Action (Bob): Create a data asset with the following commands: + +```curl +curl -i -X POST "${edcManagementBaseUrl}/v3/assets" -H "X-Api-Key: ${edcApiKey}" -H "Content-Type: application/json" --data-raw "{ + \"@context\": {}, + \"@id\": \"${assetId}\", + \"properties\": { + \"description\": \"Product EDC Demo Asset\" + }, + \"dataAddress\": { + \"@type\": \"DataAddress\", + \"baseUrl\": \"${assetUrl}\", + \"type\": \"HttpData\" + } +}" | jq +``` + +Action (Bob): Create a Policy with the following commands: + +```curl +curl -i -X POST "${edcManagementBaseUrl}/v2/policydefinitions" -H "X-Api-Key: ${edcApiKey}" -H "Content-Type: application/json" --data-raw "{ + \"@context\": { + \"odrl\": \"http://www.w3.org/ns/odrl/2/\" + }, + \"@type\": \"PolicyDefinitionRequestDto\", + \"@id\": \"${policyId}\", + \"policy\": { + \"@type\": \"Policy\", + \"odrl:permission\": [{ + \"odrl:action\": \"USE\", + \"odrl:constraint\": { + \"@type\": \"LogicalConstraint\", + \"odrl:or\": [] + } + }] + } +}" | jq +``` + +Action (Bob): Create a contract definition with the following commands: + +```curl +curl -i -X POST "${edcManagementBaseUrl}/v2/contractdefinitions" -H "X-Api-Key: ${edcApiKey}" -H "Content-Type: application/json" --data-raw "{ + \"@context\": {}, + \"@id\": \"${contractDefinitionId}\", + \"@type\": \"ContractDefinition\", + \"accessPolicyId\": \"${policyId}\", + \"contractPolicyId\": \"${policyId}\", + \"assetsSelector\" : { + \"@type\" : \"CriterionDto\", + \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\", + \"operator\": \"=\", + \"operandRight\": \"${assetId}\" + } +}" | jq +``` + +The submodel is now stored at the BDS and made available through a contract definition at the EDC. + +### Access control to Digital Twins Based on the BPN (Business Partner Number)/ TenantId + +The digital twin registry offers two functionalities for managing access control to digital twins (Shells) based on the Business Partner Number (BPN). +On application start, the provider can configure which kind of access control will be activated. + +1. Classic implementation (default is true). This implementation is used for this tutorial: + 1. The visibility of `specificAssetIds` in the Digital Twin Registry based on the Business Partner Number (BPN) (Which is send via header Edc-Bpn) can be controlled with the attribute `externalSubjectId`. Hence, the `externalSubjectId` is identified with the BPN. + 2. The communication between consumer and provider is via EDC. Before the provider EDC sends the request to the DTR, the property Edc-Bpn with the BPN of the consumer will be set by the provider EDC. +2. Granular access control implementation: + 1. The granular access control implementation is provided as an alternative option to enforce visibility rules of the *Digital Twin* details. These can be: + 1. The visibility of the *Digital Twin* as a whole + 2. The visibility of certain `specificAssetId` names and values of the *Digital Twin* + 3. The visibility of certain `submodelDescriptors` of the *Digital Twin* + 4. Restricting access to *Digital Twin* details which are `"PUBLIC_READABLE"` + (only showing the `id`, the public readable `specificAssetId` names and values, the `createdDate` and the filtered `submodelDescriptors` ) + 5. To enable granular access control (instead of the classic implementation), the `registry.useGranularAccessControl` configuration HELM chart property must be set to `"true"`. + +For more details see: [DTR Access control to Digital Twins Based on the BPN (Business Partner Number)/ TenantId](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/blob/main/docs/README.md#:~:text=dev%40eclipse.org-,Access,-control%20to%20Digital) + +#### Register/create a Digital Twin at the DTR + +Now that Bob has stored his submodel at the BDS and offered it at the EDC for sovereign data exchange, he wants to make it findable via the DTR. This contains two steps: + +- Register/create a Digital Twin at the DTR +- Reference the submodel in the Digital Twin + +The registration of a digital twin in Catena-X is equivalent to the creation of a new digital twin. Thus, Bob should always ensure that there is no digital twin created for the respective “specificAssetIds” yet to avoid duplicates. + +Action (Bob): Create a new digital twin at the DTR with the following command: + +```curl +POST /shell-descriptors +{ + "id": "urn:uuid:e5c96ab5-896a-1234-8761-efd74777ca97", + "idShort": "myAas", + "specificAssetIds": [ + { + "name": "manufacturerPartId", + "value": "123-345-567103", + "externalSubjectId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "{{BPN of the party privileged}}" + } + ] + } + } + ] +} + ``` + +Bob has now successfully created/registered a Digital Twin at his DTR. Right now the Digital Twin is pretty empty, except the AAS-ID and the specificAssetIds. +Thus, the next step for Bob is to reference his submodel in the Digital Twin to make it findable for consumers. + +#### Reference a Submodel in the Digital Twin + +In order to reference the submodel in the digital twin, submodel descriptors can be added to the digital twin. + +When adding a submodel to an existing digital twin, it is important to use the correct AAS-Id. This has to be added for the parameter "id", e.g. "id": "e5c96ab5-896a-482c-8761-efd74777ca97". + +To reference the endoint of the submodel we use the DSP protocol. Thus you have to provide the subprotocolBody with the Id of the asset as well as the dspEndpoint of the EDC. + +```curl +POST /shell-descriptors/{{aasId}} + +{ + "id": "e5c96ab5-896a-482c-8761-efd74777ca97", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:bamm:io.catenax.material_for_recycling:1.1.0#MaterialForRecycling" + } + ] + }, + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "https://edc.data.plane/mypath/submodel", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": [ + "1.1" + ], + "subprotocol": "DSP", + "subprotocolBody": "id=123;dspEndpoint=http://edc.control.plane/api/v1/dsp", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ] +} +``` + +Bob has now successfully added a submodel descriptor to the digital twin and made the Submodel accessible for comsumption. In the next step of the tutorial Alice will find and consume the digital twin and its submodel. + +#### Registering new Submodels at existing Digital Twins + +If you want to add a submodel to an already existing digital twin, you just need to reference the ID (UUID )of the digital twin in the submodel to link the two. + +Lets also go through this process. … + +### Find and consume a Digital Twin + +Alice, the data consumer, now wants to fetch Bob's digital twin. Since she knows Bob, she knows his BPN. With this BPN, she can now determine Bob's EDC endpoint using the EDC Discovery Service. The Discovery Services are not part of this tutorial. So the tutorial starts with Alice already knowing Bob's EDC endpoint. + +In general, Alice's only responsibility is to deploy a connector, negotiate for access and terms of usage and finally fetch the data from the right offers. +A detailed interaction flow is detailed in the [Digital Twin KIT - Fetching a supplier's twin](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-interaction-patterns#1-fetching-a-suppliers-twin). + +But step by step. First of all, Alice wants to see Bob's DTR. + +Action (Alice): Use the following API POST to find Bob's DTR Asset. + +`POST /catalog/request with filter looking for DTR` + +You will receive the `dcat:Dataset for Bob's DTR`. A negotiation for the DTR can now take place. You retrieve a token for this, which you get back in return if the negotiation is successful. + +![Step1](/tutorials/e2e/dtr-access-token.png) + +In the second step, Alice can use this access token to access Bob's DTR directly and perform a lookup there. As feedback, she receives the AAS IDs that she is authorised to see. + +Action (Alice): Use the following API GET to receive the provided AAS Ids: + +`GET /lookup/shells?assetIds=xyz` + +Alice receives a list of AAS Ids that she is allowed to see. This should include the digital twin created in the previous tutorial steps. + +![Step2](/tutorials/e2e/dtr-get-aas-ids.png) + +Now Alice can get the AAS descriptors because she now has the AAS IDs. + +Action (Alice): Use the following API GET to the shell descriptors for the AAS ID. + +`GET /shell-descriptors/{{aas-id}} with aas-id encoded base64url` + +In response, Alice receives the AAS descriptor she needs. This contains the submodel descriptors. These contain the location of the submodels. + +![Step3](/tutorials/e2e/dtr-get-descriptor.png) + +Now the process is repeating itself. Alice performs a catalog request again and can now use the dataset IDs as a filter. + +Action (Alice): Use the following API POST to receive Bob's catalog with the Dataset-ID as a filter: + +`POST /catalog/request with filter looking for Dataset-ID` + +A negotiation for the Submodel Server can now take place. Alice retrieves a token for this, which she gets back in return if the negotiation is successful. + +![Step4](/tutorials/e2e/dtr-get-token.png) + +The relevant endpoint on the submodel server can now be accessed directly, which returns the actual data in response. + +Action (Alice): Use the following API GET to receive the data: + +![Step5](/tutorials/e2e/dtr-get-data.png) + +**Congratulations, you've got a first digital twin from a customer!!!** + +## Notice + +This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 sovity GmbH +- SPDX-FileCopyrightText: 2024 msg systems AG +- Source URL: + +[dt-kit]: https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Software%20Development%20View/dt-kit-software-development-view/ +[sldt-dtr]: https://github.com/eclipse-tractusx/sldt-digital-twin-registry/tree/main/docs diff --git a/docs/tutorials/e2e/boost/provideData.md b/docs/tutorials/e2e/boost/provideData.md index 7a8a7bf1a30..c5a4c33309d 100644 --- a/docs/tutorials/e2e/boost/provideData.md +++ b/docs/tutorials/e2e/boost/provideData.md @@ -5,25 +5,32 @@ sidebar_position: 2 ## Create first data asset -In this step we will focus on inserting data into our provider connector (Alice) using +In this step we will focus on inserting data into our provider connector using the [Management API](https://app.swaggerhub.com/apis/eclipse-edc-bot/management-api). We will use plain CLI tools (`curl`) for this, but feel free to use graphical tools such as Postman or Insomnia. +:::note + +Alice acts here as a data consumer and Bob as a data provider. + +- Bob -> +- Alice -> + +::: + Alice, as a data consumer, wants to consume data from Bob. Bob, as a data provider, needs to create an asset for Alice. Action (Bob): Create this asset using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/assets' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v3/assets' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": {}, - "asset": { - "@type": "Asset", - "@id": "3", - "properties": { - "description": "Product EDC Demo Asset 3" - } + "@type": "Asset", + "@id": "3", + "properties": { + "description": "Product EDC Demo Asset 3" }, "dataAddress": { "@type": "DataAddress", @@ -33,6 +40,91 @@ curl --location 'http://localhost/bob/management/v2/assets' \ }' | jq ``` +Just to be sure, that the asset was created succesfully, Bob can check the asset using the following `curl` command: + +```shell +curl -X POST http://dataprovider-controlplane.tx.test/management/v2/assets/request -H "x-api-key: TEST2" -H "content-type: application/json" | jq +``` + +The result shows the already existing assets and the newly created asset. + +```json +[ + { + "@id": "registry-asset", + "@type": "edc:Asset", + "edc:properties": { + "edc:type": "data.core.digitalTwinRegistry", + "edc:description": "Digital Twin Registry Endpoint of IRS DEV", + "edc:id": "registry-asset" + }, + "edc:dataAddress": { + "@type": "edc:DataAddress", + "edc:proxyPath": "true", + "edc:type": "HttpData", + "edc:proxyMethod": "true", + "edc:proxyQueryParams": "true", + "edc:proxyBody": "true", + "edc:baseUrl": "http://umbrella-dataprovider-dtr:8080/api/v3.0" + }, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } + }, + { + "@id": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb", + "@type": "edc:Asset", + "edc:properties": { + "edc:description": "IRS EDC Test Asset", + "edc:id": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb" + }, + "edc:dataAddress": { + "@type": "edc:DataAddress", + "edc:proxyPath": "true", + "edc:type": "HttpData", + "edc:proxyMethod": "false", + "edc:proxyQueryParams": "false", + "edc:proxyBody": "false", + "edc:baseUrl": "http://umbrella-dataprovider-submodelserver:8080" + }, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } + }, + { + "@id": "3", + "@type": "edc:Asset", + "edc:properties": { + "edc:description": "Product EDC Demo Asset 3", + "edc:id": "3" + }, + "edc:dataAddress": { + "@type": "edc:DataAddress", + "edc:type": "HttpData", + "edc:baseUrl": "https://jsonplaceholder.typicode.com/todos/3" + }, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } + } +] +``` + ## Request catalog Bob tells Alice, that he created an asset, and she should now be able to request it. In the next step, Alice requests a contract offer catalog. In the catalog, all contract offers for Alice are listed. @@ -40,13 +132,13 @@ Bob tells Alice, that he created an asset, and she should now be able to request Action (Alice): Execute a request using the following `curl` commands: ```shell -curl --location 'http://localhost/alice/management/v2/catalog/request' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/catalog/request' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": {}, "protocol": "dataspace-protocol-http", - "counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "querySpec": { "offset": 0, "limit": 100 @@ -54,20 +146,137 @@ curl --location 'http://localhost/alice/management/v2/catalog/request' \ }' | jq ``` +The requested catalog looks like this: + +```json +{ + "@id": "be17c3e7-3156-46db-8934-f1ea92d1f2a3", + "@type": "dcat:Catalog", + "dcat:dataset": [ + { + "@id": "registry-asset", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "MTcxODBlMTAtNmFjNS00NTYzLWE2MTUtNGM1MjQ5ZTUxMTU5:cmVnaXN0cnktYXNzZXQ=:NzE0ODk2YjMtY2VlYy00NmY5LWE5ZTgtY2NiMWI1NGUzOTgy", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:target": "registry-asset", + "odrl:action": { + "odrl:type": "USE" + }, + "odrl:constraint": { + "odrl:or": { + "odrl:leftOperand": "PURPOSE", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "ID 3.0 Trace" + } + } + }, + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "registry-asset" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + } + ], + "edc:type": "data.core.digitalTwinRegistry", + "edc:description": "Digital Twin Registry Endpoint of IRS DEV", + "edc:id": "registry-asset" + }, + { + "@id": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "MTIzYjJlM2QtNTUxOC00ZWViLWFmMGItNTU5ZTYxZGY3Zjhk:dXJuOnV1aWQ6ZGM2NDFkNDUtOTVlNy00Mjg0LWE0NzItNDNmMzAyNTVkMGNi:YzBhOGFhOTQtNzg4OS00Y2MxLTkzNmMtMWYwMTNkODc3Nzk4", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:target": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb", + "odrl:action": { + "odrl:type": "USE" + }, + "odrl:constraint": { + "odrl:or": { + "odrl:leftOperand": "PURPOSE", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "ID 3.0 Trace" + } + } + }, + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + } + ], + "edc:description": "IRS EDC Test Asset", + "edc:id": "urn:uuid:dc641d45-95e7-4284-a472-43f30255d0cb" + } + ], + "dcat:service": { + "@id": "49a693e0-835d-457a-99b4-e781f2bd643d", + "@type": "dcat:DataService", + "dct:terms": "connector", + "dct:endpointUrl": "http://dataprovider-controlplane.tx.test/api/v1/dsp" + }, + "edc:participantId": "BPNL00000003AYRE", + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + ## Create first access policy Let´s see if Alice can see the Asset (ID: 3). +:::info As you can see in the response, the data offer "Product EDC Demo Asset 3" (asset ID: 3) does not appear. Unfortunately, Alice sees some contract offers but she cannot find the contract offer from Bob. +::: Alice calls Bob and says she can´t see the asset. Bob remembers that he did not create an access policy. An access policy defines who is allowed to see a data offering. Action (Bob): Create the access policy using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/policydefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/policydefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" @@ -80,6 +289,24 @@ curl --location 'http://localhost/bob/management/v2/policydefinitions' \ }' | jq ``` +The policy was successfully created, if the response is something like this + +```json +{ + "@type": "edc:IdResponse", + "@id": "3-1", + "edc:createdAt": 1715627034106, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + ## Request catalog - second try Now that Bob created an access policy, Alice can once again try to access Bob's asset. @@ -87,13 +314,13 @@ Now that Bob created an access policy, Alice can once again try to access Bob's Action (Alice): Execute the request again using the following `curl` command: ```shell -curl --location 'http://localhost/alice/management/v2/catalog/request' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/catalog/request' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": {}, "protocol": "dataspace-protocol-http", - "counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "querySpec": { "offset": 0, "limit": 100 @@ -125,9 +352,9 @@ Since an access policy has already been created, a contract policy must be creat Action (BoB): Create the contract policy using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/policydefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/policydefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" @@ -140,12 +367,30 @@ curl --location 'http://localhost/bob/management/v2/policydefinitions' \ }' | jq ``` +And again the policy was successfully created + +```json +{ + "@type": "edc:IdResponse", + "@id": "3-2", + "edc:createdAt": 1715627218849, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + Action (Bob): Create a contract definition including the asset and the policies you have created. For this, use the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/contractdefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/contractdefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": {}, "@id": "3", @@ -161,19 +406,37 @@ curl --location 'http://localhost/bob/management/v2/contractdefinitions' \ }' | jq ``` +As a check, the result should look like this: + +```json +{ + "@type": "edc:IdResponse", + "@id": "3", + "edc:createdAt": 1715627302307, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} +``` + ## Request catalog - third try Let´s see if Alice can finally see the Asset. Action (Alice): Execute the request again using the following `curl` command: ```shell -curl --location 'http://localhost/alice/management/v2/catalog/request' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/catalog/request' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": {}, "protocol": "dataspace-protocol-http", - "counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "querySpec": { "offset": 0, "limit": 100 @@ -181,11 +444,43 @@ curl --location 'http://localhost/alice/management/v2/catalog/request' \ }' | jq ``` -:::info - -Finally Alice can see the Contract Offer from Bob. -Congratulations on yor first successful offering of data in your own data space! +In the response an additional entry should appear: + +```json +{ + "@id": "3", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "Mw==:Mw==:ZDA5YzE2ZWYtMzkyZC00ODExLWE5NjEtN2U4ZjRhMTU3ZGRh", + "@type": "odrl:Set", + "odrl:permission": [], + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "3" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "49a693e0-835d-457a-99b4-e781f2bd643d" + } + ], + "edc:description": "Product EDC Demo Asset 3", + "edc:id": "3" + } +``` +:::info +Finally Alice can see the Contract Offer from Bob. Congratulations on yor first successful offering of data in your own data space! ::: ## Notice diff --git a/docs/tutorials/e2e/boost/restrictData.md b/docs/tutorials/e2e/boost/restrictData.md index dfec1f3a411..73349b7cee0 100644 --- a/docs/tutorials/e2e/boost/restrictData.md +++ b/docs/tutorials/e2e/boost/restrictData.md @@ -11,42 +11,34 @@ The first step for Bob will again be to create an asset. Action (Bob): Create an asset using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/assets' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v3/assets' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": {}, - "asset": { - "@type": "Asset", - "@id": "4", - "properties": { - "description": "Product EDC Demo Asset 4" - } + "@type": "Asset", + "@id": "4", + "properties": { + "description": "Product EDC Demo Asset 4" }, "dataAddress": { "@type": "DataAddress", "type": "HttpData", "baseUrl": "https://jsonplaceholder.typicode.com/todos/4" } -}' +}' | jq ``` ## Create a permissive access policy -Now that the asset has been created, Bob creates an access policy that defines who can see and therefore access the asset in his catalog. To specify this access, Bob uses the Business Partner Number (BPN). The BPN is a unique identifier for participants of a data space. Bob knows that his exchange partner for this asset has the BPN (BPNL000000000003). Therefore, he can define his access policy as follows: - -:::info - -The MXD contains only two members (Alice & Bob). Therefore, it will not be possible to consume an asset with the policy defined here, because the participant with the BPN BPNL000000000003 does not exist in this data space. This is an example to demonstrate the restriction of an asset with a policy. - -::: +Now that the asset has been created, Bob creates an access policy that defines who can see and therefore access the asset in his catalog. To specify this access, Bob uses the Business Partner Number (BPN). The BPN is a unique identifier for participants of a data space. Bob knows that his exchange partner for this asset has the BPN `BPNL00000003AVTH` and Alice BPN is `BPNL00000003AZQP` Action (Bob): Create the access policy using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/policydefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/policydefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" @@ -67,17 +59,35 @@ curl --location 'http://localhost/bob/management/v2/policydefinitions' \ "odrl:operator": { "@id": "odrl:eq" }, - "odrl:rightOperand": "BPNL000000000003" + "odrl:rightOperand": "BPNL00000003AVTH" } ] } } ] } -}' +}' | jq +``` + +The policydefinition is created with the ID `41` + +```json +{ + "@type": "edc:IdResponse", + "@id": "41", + "edc:createdAt": 1715674423858, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} ``` -Bob defined a policy which restricts access to connector(s) with the BusinessPartnerNumber BPNL000000000003. As Alice does not own this BPN, she should not be able to access the asset. +Bob defined a policy which restricts access to connector(s) with the BusinessPartnerNumber `BPNL00000003AVTH`. As Alice does not own this BPN, she should not be able to access the asset. ## Create a permissive contract policy @@ -86,9 +96,9 @@ Since an access policy has already been created, a contract policy must be creat Action (Bob): Create the contract policy using the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/policydefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/policydefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": { "odrl": "http://www.w3.org/ns/odrl/2/" @@ -116,7 +126,25 @@ curl --location 'http://localhost/bob/management/v2/policydefinitions' \ } ] } -}' +}' | jq +``` + +The response should be something like this + +```json +{ + "@type": "edc:IdResponse", + "@id": "42", + "edc:createdAt": 1715674546763, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} ``` ## Create a contract definition @@ -125,9 +153,9 @@ Lastly, the asset and the access policy must be linked in a contract definition. Action (Bob): Create a contract definition including the asset and the policies you have created. For this, use the following `curl` command: ```shell -curl --location 'http://localhost/bob/management/v2/contractdefinitions' \ +curl --location 'http://dataprovider-controlplane.tx.test/management/v2/contractdefinitions' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST2' \ --data-raw '{ "@context": {}, "@id": "4", @@ -140,7 +168,25 @@ curl --location 'http://localhost/bob/management/v2/contractdefinitions' \ "operator": "=", "operandRight": "4" } -}' +}' | jq +``` + +A response should look like this + +```json +{ + "@type": "edc:IdResponse", + "@id": "4", + "edc:createdAt": 1715674670136, + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} ``` ## Request catalog @@ -150,23 +196,168 @@ Let´s see if Alice can see the Asset. Action (Alice): Execute a request using the following `curl` command: ```shell -curl --location 'http://localhost/alice/management/v2/catalog/request' \ +curl --location 'http://dataconsumer-1-controlplane.tx.test/management/v2/catalog/request' \ --header 'Content-Type: application/json' \ ---header 'X-Api-Key: password' \ +--header 'X-Api-Key: TEST1' \ --data-raw '{ "@context": {}, "protocol": "dataspace-protocol-http", - "counterPartyAddress": "http://bob-controlplane:8084/api/v1/dsp", + "counterPartyAddress": "http://dataprovider-controlplane.tx.test/api/v1/dsp", "querySpec": { "offset": 0, "limit": 100 } -}' +}' | jq +``` + +The response doesnt include the cataolog entry for the asset/offer with id4 + +```json +{ + "@id": "3b276870-5cc5-4546-b793-e2c8d39e1010", + "@type": "dcat:Catalog", + "dcat:dataset": [ + { + "@id": "registry-asset", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "ZGM3MjMyYTAtMDRjOC00MTVjLWI2NmQtOGJmNTQ1MWMyYmIy:cmVnaXN0cnktYXNzZXQ=:MjdiYWExMGItMTAzMC00MmY5LWI0YjMtMzJmY2UyODI5NThl", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:target": "registry-asset", + "odrl:action": { + "odrl:type": "USE" + }, + "odrl:constraint": { + "odrl:or": { + "odrl:leftOperand": "PURPOSE", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "ID 3.0 Trace" + } + } + }, + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "registry-asset" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + } + ], + "edc:type": "data.core.digitalTwinRegistry", + "edc:description": "Digital Twin Registry Endpoint of IRS DEV", + "edc:id": "registry-asset" + }, + { + "@id": "urn:uuid:69653fc9-11b5-4321-98ca-e60d2dc35379", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "MDkyNmVhMGUtZWVmMC00OTlmLTliZjktNmE1MGU3MGUzOGQy:dXJuOnV1aWQ6Njk2NTNmYzktMTFiNS00MzIxLTk4Y2EtZTYwZDJkYzM1Mzc5:YWUwOTFiOTYtNGM0Ni00YzE0LWEyZGYtY2Y5NDNlMzY1NDY4", + "@type": "odrl:Set", + "odrl:permission": { + "odrl:target": "urn:uuid:69653fc9-11b5-4321-98ca-e60d2dc35379", + "odrl:action": { + "odrl:type": "USE" + }, + "odrl:constraint": { + "odrl:or": { + "odrl:leftOperand": "PURPOSE", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "ID 3.0 Trace" + } + } + }, + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "urn:uuid:69653fc9-11b5-4321-98ca-e60d2dc35379" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + } + ], + "edc:description": "IRS EDC Test Asset", + "edc:id": "urn:uuid:69653fc9-11b5-4321-98ca-e60d2dc35379" + }, + { + "@id": "3", + "@type": "dcat:Dataset", + "odrl:hasPolicy": { + "@id": "Mw==:Mw==:YjE0ODU2M2MtMWM5MC00NDg4LThmZmItZmJjZjc0NjQzZTE5", + "@type": "odrl:Set", + "odrl:permission": [], + "odrl:prohibition": [], + "odrl:obligation": [], + "odrl:target": "3" + }, + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "HttpProxy" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + }, + { + "@type": "dcat:Distribution", + "dct:format": { + "@id": "AmazonS3" + }, + "dcat:accessService": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f" + } + ], + "edc:description": "Product EDC Demo Asset 3", + "edc:id": "3" + } + ], + "dcat:service": { + "@id": "7b76c9c5-d7f9-42c1-8784-a2820a60bb0f", + "@type": "dcat:DataService", + "dct:terms": "connector", + "dct:endpointUrl": "http://dataprovider-controlplane.tx.test/api/v1/dsp" + }, + "edc:participantId": "BPNL00000003AYRE", + "@context": { + "dct": "http://purl.org/dc/terms/", + "tx": "https://w3id.org/tractusx/v0.0.1/ns/", + "edc": "https://w3id.org/edc/v0.0.1/ns/", + "dcat": "https://www.w3.org/ns/dcat/", + "odrl": "http://www.w3.org/ns/odrl/2/", + "dspace": "https://w3id.org/dspace/v0.8/" + } +} ``` :::info -Bob’s asset (ID: 4) should not be displayed. The access policy successfully restricts Alice from seeing and therefore obtaining Bob’s asset. Now Bob is able to manage who sees which of his sensitive data assets. If Bob decides to enable Alice to see his asset, he can simply adjust the access policy definition and add Alice BPN (BPNL000000000001) to the list of BPNs. +Bob’s asset (ID: 4) should not be displayed. The access policy successfully restricts Alice from seeing and therefore obtaining Bob’s asset. Now Bob is able to manage who sees which of his sensitive data assets. If Bob decides to enable Alice to see his asset, he can simply adjust the access policy definition and add Alice BPN `BPNL00000003AZQP` to the list of BPNs. ::: diff --git a/docs/tutorials/e2e/connect/connect.md b/docs/tutorials/e2e/connect/connect.md index d1919eb9dca..6c789eb779f 100644 --- a/docs/tutorials/e2e/connect/connect.md +++ b/docs/tutorials/e2e/connect/connect.md @@ -3,31 +3,59 @@ title: "Chapter 2: Connect" sidebar_position: 4 --- -The `Connect Chapter` describes step by step how you have to setup your (cloud) infrastructure including servers, a kubernetes cluster, networking and security. On this stack you will deploy the components that you need for data provisioning and data consumption. Along with that you will deploy all the components that simulate the core service provider in our data space. +The `Connect Chapter` describes step by step **how to setup your local environment** of your own data space including a kubernetes cluster, services, networking and security. -This tutorial is designed for developers who want to get their hands dirty, for companies that want to perform data exchange in actual Catena-X data space infrastructure and generally for curious minds who want to explore dataspaces. +:::info -Required knowledge and skills: +Make sure that you have understood and carried out all the steps in the `Prerequisites chapter` before you start deploying the components. -- Beginner level docker and kubernetes -- Beginner level terraform -- Basic linux system commands +::: -## Components & Architecture +On this stack you will **deploy the components** that you need for data provisioning and data consumption (decentral components). Along with that you will deploy all the components that simulate the core service provider in our data space (central components). -By performing this tutorial a data space will be set up including the following components: +You will use the technology of **Umbrella Helm Charts** to configure and deploy your environment. The Umbrella Helm Chart will contain the components shown in the following table. -- 2 Tractus-X EDC Connectors (Called Bob and Alice). The EDC is the key component to exchanging data within data spaces. -- 1 Managed Identity Wallet. The Managed Identity Wallet (MIW) service is a central component storing technical identities. Connectors can request the identity, including properties, in order to take decisions if a contract-offer will be made, a contract agreement will be negotiated, or a data-exchange will be processed. -- 1 Keycloak instance. Keycloak is used for Identiy and Access Management of technical users. -- 1 Postgres data base. A data base building the foundation for the MXD setup. +|Quantity|Component|Function|Version|Type|GitHub-Link| +|---|---|---|---|---|---| +|1|Portal|The Portal is designed to work with the IAM.|1.8.1|Central Component|[Link](https://github.com/eclipse-tractusx/portal)| +|1|Central IdP|The Identity Provider (IdP) authenticates users and provides identity information to service providers, enabling secure access to applications and services.|2.1.0|Central Component|| +|1|Shared IdP|An Identity Provider (IdP) authenticates users and provides identity information to service providers, enabling secure access to applications and services.|2.1.0|Central Component|| +|1|Discovery Finder|The Discovery Finder is used to find endpoints of BPN Discoveries for a specific type, e.g. "oen".|0.2.2|Central Component|[Link](https://github.com/eclipse-tractusx/sldt-discovery-finder)| +|1|BPN Discovery|The BPN Discovery is used to lookup for a specific type/key-combination to a Business Partner Number (BPN). For example looking for a combination "oen / oen-133" will lead to "BPNLXYZ123".|0.2.2|Central Component|[Link](https://github.com/eclipse-tractusx/sldt-bpn-discovery)| +|1|SD Factory|Self-Description Factory (SD-Factory) component is responsible for the creation of Self Descriptions.|2.1.19|Central Component|[Link](https://github.com/eclipse-tractusx/sd-factory)| +|1|Managed Identity Wallet|The Managed Identity Wallets (MIW) service implements the Self-Sovereign-Identity (SSI) using did:web.|0.4.0|Central Component|[Link](https://github.com/eclipse-tractusx/managed-identity-wallet)| +|1|Semantic Hub|The Semantic Hub in Catena-X is a central element for supporting semantic interoperability within the network.|0.2.2|Central Component|[Link](https://github.com/eclipse-tractusx/sldt-semantic-hub)| +|3|Eclipse Dataspace Connector|The Eclipse Dataspace Connector enables secure and controlled data sharing and usage within dataspaces, creating interoperability and trust between different organisations.|0.5.3|Decentral Component|[Link](https://github.com/eclipse-tractusx/tractusx-edc)| +|3|Vault|A vault is used for the secure storage, management and access control of sensitive data such as secrets, tokens, passwords and encryption keys.|0.20.0|Decentral Component|| +|1|Digital Twin Registry (DTR)|Digital twins can be registered in the Digital Twin Registry so that they can be found by other participants.|0.4.5|Decentral Component|[Link](https://github.com/eclipse-tractusx/sldt-digital-twin-registry)| +|1|Simple Data Backend|The Simple Databackend simulates a backend, i.e. a place where the digital twins are stored.|0.1.0|Decentral Component|| + +:::info + +This tutorial is + +- designed for developers who want to get their hands dirty, for companies that want to perform data exchange in actual Catena-X data space infrastructure and generally for curious minds who want to explore dataspaces. +- a pre configured closed environment in one Kubernetes cluster, where the different services located in docker containers communicate within their joint kubernetes cluster, generated by minikube. + +::: + +:::warning + +This tutorial is [not] + +- a production environment +- designed to work across different locations + +::: + +We now will start with the next section `Deploying the Components` where you will deploy the components listed in the table. ## Notice This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode). - SPDX-License-Identifier: CC-BY-4.0 -- SPDX-FileCopyrightText: 2023 sovity GmbH -- SPDX-FileCopyrightText: 2023 SAP SE -- SPDX-FileCopyrightText: 2023 msg systems AG +- SPDX-FileCopyrightText: 2024 sovity GmbH +- SPDX-FileCopyrightText: 2024 SAP SE +- SPDX-FileCopyrightText: 2024 msg systems AG - Source URL: [https://github.com/eclipse-tractusx/eclipse-tractusx.github.io](https://github.com/eclipse-tractusx/eclipse-tractusx.github.io) diff --git a/docs/tutorials/e2e/connect/deployComponents.md b/docs/tutorials/e2e/connect/deployComponents.md index a7884eb8c48..2cb4dd5c3ba 100644 --- a/docs/tutorials/e2e/connect/deployComponents.md +++ b/docs/tutorials/e2e/connect/deployComponents.md @@ -1,284 +1,755 @@ --- -title: Deploy components -sidebar_position: 2 +title: Deploying the components +sidebar_position: 1 --- -The "MXD" dataspace initially consists of several components: `Alice` and `Bob` (two Tractus-X EDC connectors), -a Vault instance each, a Postgres database, a Managed Identity Wallet app, a Keycloak instance. `Alice` and `Bob` will -be our dataspace participants. Each of them stores their secrets in their respective vault instances, and there is a -shared Postgres server, where each of them has a database. MIW and Keycloak are central components, they only exist -once and are accessible by all participants. +## Preconditions + +:::info + +Make sure that you have understood and carried out all the steps in the `Prerequisites chapter` before you start deploying the components. + +::: + +### Mandatory + +- Local Kubernetes runtime ready +- `Kubectl`, `helm` and `minikube` installed +- A POSIX-compliant shell, e.g. `bash` or `zsh` unless stated otherwise. The tutorial conatins examples for `bash`. + +### Optional + +- CLI tool to easily print logs of a K8S deployment, such as [`stern`](https://github.com/stern/stern) +- Graphical tool to inspect your Kubernetes environment, such as [Lens](https://k8slens.dev/). +- Graphical tool to inspect Postgres databases, such as [PgAdmin](https://www.pgadmin.org/). Screenshots in + this guide are created off of PgAdmin. +- Graphical tool to send REST requests, such as [insomnia] ( ) or [Postman](https://www.postman.com/). + +## The Deployment + +### Using Umbrella Helm Charts + +The components (listed in the table in the `Connect chapter`) are deployed using an umbrella chart. It consists of Tractus-X OSS components and provides a basis for running end-to-end tests or creating a sandbox environment of the Catena-X automotive dataspace network. The Chart aims for a completely automated setup of a fully functional network that requires no manual setup steps, as long as only one instance (minikube cluster) is running (see warning above). If several clusters are running, you will need to adjust so configuration files. + +:::note + +This chapter aligns with the README for the Tractus-X umbrella charts following the link: + + +::: :::warning +If you are [not] the only user on your system working with the turorial, means you are working in a multi-user environment, please ensure, that you understand your impact on other minikube profiles of other users and Umbralla namespaces. Please check, if other user are working on the same system by checking the existance of other minikube profiles with the command: -Since this documentation is based on a MXD version where tractusx-edc version `0.5.3` is used, there is a need to adapt the `values.yaml` inside the cloned repository **tutorial-resources**. The file is located in `tutorial-resources/mxd/modules/connector/values.yaml` +```bash +minikube profile list +``` -Instead of the `latest` tag for the **controlplane** and **dataplane** image, please use `0.5.3`. +Please ensure you are explicitly defining the profile with the `-f` parameter and [never] using options like **--all**. To avoid disturbing other we use the environment variable [$USER] any time we specify a name for a minikube profile of an Umbrella namespace. -```yaml -# As an example for the controlplane -controlplane: - debug: - enabled: true - port: 1044 - service: - type: NodePort - endpoints: - management: - authKey: password - image: - pullPolicy: Never - #tag: "latest" - tag: "0.5.3" +So if your minikube cluster will not be the only one running in your system, please + +- use specific names for your cluster profile and namespaces for helm​ + - Proposed name for the cluster profile: **minikube-$USER** + - Proposed name for the umbrella namespace: **umbrella-$USER** ​ + +- Ensure you are using the option `-p`, everytime you calling minikube ​ + +```bash +minikube –p minikube-$USER ​ +``` + +Ensure you are using the option **–n**, every time you calling helm​ + +```bash +helm –n umbrella-$USER ``` +Before you enable ingress enter:​ + +```bash +minikube profile minikube-$USER​ +``` + +This will ensure that ingress is working in the correct environment of your cluster profile. + ::: +### Overview + +Perform the following steps to begin deploying the TXD: + +- Get the source +- Start `minikube` bringing up the cluster (profile) +- Enable `Ingress` for local access using the addon for Minikube +- Adjust the configuration files for the Umbrella Helm Chart (this is not required, if you are the only user on a system) +- Use the certifacation manager +- Use helm to deploy the ecosystem +- Check their liveness + +### Get the source from the Tractus-X Github + For the most bare-bones installation of the dataspace, execute the following commands in a shell: -```shell +```bash # get the tutorial including the config file for the cluster by cloning the repository locally -git clone https://github.com/eclipse-tractusx/tutorial-resources.git +git clone [https://github.com/eclipse-tractusx/tractus-x-umbrella.git](https://github.com/eclipse-tractusx/tractus-x-umbrella.git") ``` -```shell -# will install the mxd directory under /tutorial-resources/mxd -# the directory should contain the config file for kind: kind.config.yaml -cd +Now we will find the directory [tractus-x-umbrella] under your current working directory. Change into this directory: + +```bash +cd tractus-x-umbrella ``` -```shell -kind create cluster -n mxd --config kind.config.yaml +### Start the minikube cluster (profile) + +To start the cluster we just call **minikube start**. If we have more than one instance, we use -p option to set the profile name minikube-$USER. We use the other options to request the appropiate resources. + +```bash +minikube start [-p minikube-$USER] --cpus=4 --memory 6gb +# Start the cluster, if -p option is used with the profile name minikube-$USER ``` -```shell -# -# Now we activate ingress for the later port forwarding ? -# the next step is specific to KinD and will be different for other Kubernetes runtimes! -kubectl apply -f \ -https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml +We now switch the context to minikube profile. This is required to ensure Ingress gets the correct data of the cluster. But it is not needed, if you run only one minikube cluster on your system. + +```bash +minikube profile minikube-$USER +# Switch the context to minikube profile ``` -```shell -# wait until the ingress controller is ready -kubectl wait --namespace ingress-nginx \ - --for=condition=ready pod \ - --selector=app.kubernetes.io/component=controller \ - --timeout=90s +You can check your minikube cluster any time by starting the Minikube dashboard: + +```bash +minikube [-p minikube-$USER] dashboard +# if -p option is used, with the profile name minikube-$USER ``` -```shell -terraform init +### Setting up the local internal netwok + +In order to enable the local access via ingress, use the according addon for Minikube: + +```bash +minikube [-p minikube-$USER] addons enable ingress +# if -p option is used, with the profile name minikube-$USER ``` -```shell -terraform apply -# type "yes" and press enter when prompted to do so +Now add these hostnames to your /etc/hosts. You should ensure that you have access and the /etc/hosts file group entry should be assigend to the group **docker**. Check this with the following commands: + +```bash +ls -al /etc/hosts +# Output should be like: "-rw-r--r-- 1 root docker 414 Jun 16 14:34 /etc/hosts" ``` -Notice that the `kubectl apply` command deploys a Kubernetes Ingress Controller to the cluster and is required to reach -our applications from outside the cluster. Specifically, it deploys an NGINX ingress controller. Notice also, that the -command is *specific to KinD* and will likely not work on other Kubernetes runtimes (minikube, ...) or with other -ingress controllers! +Alternatively configure the DNS Service to be enabled for Ingress. -Wait. Then wait some more. It will take a couple of minutes until all services are booted up. If your machine is a -potato, it'll take even longer. Just get a coffee. Eventually, it should look similar to this: +:::note -![img.png](assets/img.png) + This requires that you have a DNS on your system running and that you have **root accees** via **sudo** -## Inspect terraform output +::: -After the `terraform` command has successfully completed, it will output a few configuration and setup values -that we will need in later steps. Please note that some values will be different on your local system. +```bash +minikube [-p minikube-$USER] addons enable ingress-dns +# if -p option is used, with the profile name minikube-$USER +``` -```shell -Outputs: - -alice-urls = { - "health" = "http://localhost/alice/health" - "management" = "http://localhost/alice/management/v2" -} -bob-node-ip = "10.96.248.22" -bob-urls = { - "health" = "http://localhost/bob/health" - "management" = "http://localhost/bob/management/v2" -} -connector1-aeskey = "R3BDWGF4SWFYZigmVj0oIQ==" -connector1-client-secret = "W3s1OikqRkxCbltfNDBmRg==" -connector2-aeskey = "JHJISjZAS0tSKlNYajJTZA==" -connector2-client-secret = "enFFUlkwQyZiJSRLQSohYg==" -keycloak-database-credentials = { - "database" = "miw" - "password" = "Tn*iwPEuCgO@d==R" - "user" = "miw_user" -} -keycloak-ip = "10.96.103.80" -miw-database-pwd = { - "database" = "keycloak" - "password" = "W:z)*mnHdy(DTV?+" - "user" = "keycloak_user" -} -postgres-url = "jdbc:postgresql://10.96.195.240:5432/" -``` - -## Inspect the databases - -Please be aware, that all services and applications that were deployed in the previous step, are **not** accessible from -outside the Kubernetes cluster. That means, for example, the Postgres database cannot be reached out-of-the-box. - -Naturally there are several ways to enable access to those services (Load balancers, Ingresses, etc.) but for the sake -of simplicity we will use a plain Kubernetes port-forwarding: +Find out the IP Address of your minikube cluster by entering: -```shell -# find out about the names of your pods -kubectl get pods +```bash +minikube [-p minikube-$USER] ip +# if -p option is used, with the profile name minikube-$USER ``` -```shell -# you should see a list like: -NAME READY STATUS RESTARTS AGE -alice-tractusx-connector-controlplane-6f7555bcb7-mhxh6 1/1 Running 0 4m -alice-tractusx-connector-dataplane-6db78d69c5-sw87d 1/1 Running 0 4m -alice-vault-0 1/1 Running 0 4m -bob-tractusx-connector-controlplane-76ccd79946-84zjw 1/1 Running 0 4m -bob-tractusx-connector-dataplane-85554c7dcd-6pzzs 1/1 Running 0 4m -bob-vault-0 1/1 Running 0 4m -keycloak-6bdf4d7689-8mwfd 1/1 Running 0 4m58s -miw-574bf87bc-c4n6c 1/1 Running 0 4m58s -postgres-66677b8665-lxxp2 1/1 Running 0 5m14s +In the following steps, replace `192.168.49.2` with your `minikube ip` if it differs. + +#### Linux & Mac + +Create a file in /etc/resolver/minikube-test with the following contents. + +```properties +domain arena.test +nameserver 192.168.49.2 +search_order 1 +timeout 5 ``` -```shell +If you still face DNS issues, add the hosts to your /etc/hosts file: + +```properties +192.168.49.2 centralidp.arena.test +192.168.49.2 sharedidp.arena.test +192.168.49.2 portal.arena.test +192.168.49.2 portal-backend.arena.test +192.168.49.2 managed-identity-wallets.arena.test +192.168.49.2 semantics.arena.test +192.168.49.2 sdfactory.arena.test +192.168.49.2 dataconsumer-1-dataplane.arena.test +192.168.49.2 dataconsumer-1-controlplane.arena.test +192.168.49.2 dataprovider-dataplane.arena.test +192.168.49.2 dataconsumer-2-dataplane.arena.test +192.168.49.2 dataconsumer-2-controlplane.arena.test +``` + +Additional network setup for Mac: + +- Install and start [Docker Mac Net Connect](https://github.com/chipmk/docker-mac-net-connect#installation). + +We also recommend to execute the usage example after install to check proper setup. + +#### Windows + +For Windows edit the hosts file under `C:\Windows\System32\drivers\etc\hosts`: + +```properties +192.168.49.2 centralidp.arena.test +192.168.49.2 sharedidp.arena.test +192.168.49.2 portal.arena.test +192.168.49.2 portal-backend.arena.test +192.168.49.2 managed-identity-wallets.arena.test +192.168.49.2 semantics.arena.test +192.168.49.2 sdfactory.arena.test +192.168.49.2 dataconsumer-1-dataplane.arena.test +192.168.49.2 dataconsumer-1-controlplane.arena.test +192.168.49.2 dataprovider-dataplane.arena.test +192.168.49.2 dataconsumer-2-dataplane.arena.test +192.168.49.2 dataconsumer-2-controlplane.arena.test +``` + +#### Adjusting the Config files for multi user usage + +In case we have to modify the values within the configuartion files as we run in a multi use environment, we need to adjust the domians names within the configuration files. A simple way is to update the file by using **sed** as line editor. + +```bash +# adjust values.yaml +# +DOMAIN_NAME="$USER.test" +CONFIG_FILE="alues-adopter-data-exchange.yaml" +cp values.yaml values.yaml.orig +cat values.yaml.orig | sed s/tx.test/$DOMAIN_NAME/ > values.yaml +echo "file values.yaml updated with actual dommainame $DOMAIN_NAME" +cp $CONFIG_FILE $CONFIG_FILE.orig +cat $CONFIG_FILE.orig | sed s/tx.test/$DOMAIN_NAME/ > $CONFIG_FILE +echo "file $CONFIG_FILE updated with actual dommainame $DOMAIN_NAME" +# Adjust further files: concept/seeds-overall-data.md, init-container/iam/centralidp/CX-Central-realm.json, init +-container/iam/sharedidp/CX-operator-realm.json. init-container/iam/sharedidp/CX-operator-users-0.json # -# We will use the last entry for ingress for our port-forwarding, the name of the postgres pod will be slightly differnt in your local cluster. -# now we activtae the kuberntes port-forwarding: -kubectl port-forward postgres-66677b8665-lxxp2 5432:5432 +cd ../.. +echo "Modifing file concept/seeds-overall-data.md, ..." +cp concept/seeds-overall-data.md concept/seeds-overall-data.md.orig +cat concept/seeds-overall-data.md.orig | sed s/tx.test/$DOMAIN_NAME/ > concept/seeds-overall-data.md +echo "Modifing file init-container/iam/centralidp/CX-Central-realm.json ..." +cp init-container/iam/centralidp/CX-Central-realm.json init-container/iam/centralidp/CX-Central-realm.json.orig +cat init-container/iam/centralidp/CX-Central-realm.json.orig | sed s/tx.test/$DOMAIN_NAME/ > init-container/iam/centralidp/CX-Central-realm.json +echo "Modifing file init-container/iam/sharedidp/CX-operator-realm.json ..." +cp init-container/iam/sharedidp/CX-Operator-realm.json init-container/iam/sharedidp/CX-Operator-realm.json.orig +cat init-container/iam/sharedidp/CX-Operator-realm.json.orig | sed s/tx.test/$DOMAIN_NAME/ > init-container/iam/sharedidp/CX-Operator-realm.json +echo "Modifing file init-container/iam/sharedidp/CX-operator-realm.json ..." +cp init-container/iam/sharedidp/CX-Operator-users-0.json init-container/iam/sharedidp/CX-Operator-users-0.json.orig +cat init-container/iam/sharedidp/CX-Operator-users-0.json.orig | sed s/tx.test/$DOMAIN_NAME/ > init-container/iam/sharedidp/CX-Operator-users-0.json ``` -> Note that the actual pod name will be slightly different in your local cluster. +### Install Helm Charts -Then, using PgAdmin, connect to the Postgres server at `jdbc:postgresql://localhost:5432/` using `user=postgres` -and `password=postgres`: +:::warning -![img_1.png](assets/scr_pgadmin1.png) +- Due to resource restrictions, it's **not recommended** to install the helm chart with all components enabled. -Every service in the cluster has their own database, but for the sake of simplicity, they are hosted in one Postgres -server. We will show in later sections, how the databases can be segregated out. Feel free to -inspect all the databases and tables, but there is not much data in there yet. There is just a few automatically seeded -assets, policies and contract definitions. +- It is to be expected that some pods - which run as post-install hooks, like for instance the **portal-migrations job - will run into errors until another component**, like for instance a database, is ready to take connections. +Those jobs will recreate pods until one run is successful. +- **Persistance is disabled by default** but can be configured in a custom values file. -## Verify your local installation +::: -In order to check that the connectors were deployed successfully, please execute the following commands in a shell: +#### Use released chart -```shell -curl -X GET http://localhost/bob/health/api/check/liveness | jq +```bash +helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev ``` -```shell -curl -X GET http://localhost/alice/health/api/check/liveness | jq -``` - -which should return something similar to this, the important part being the `isSystemHealthy: true` bit: - -```json -{ - "componentResults": [ - { - "failure": null, - "component": "Observability API", - "isHealthy": true - }, - { - "failure": null, - "component": null, - "isHealthy": true - } - ], - "isSystemHealthy": true -} +##### :grey_question: Command explanation + +:::info + +`helm install` is used to install a chart in Kubernetes using Helm. + +- `--set COMPONENT_1.enabled=true,COMPONENT_2.enabled=true` Enables the components by setting their respective enabled values to true. +- `umbrella` is the release name for the chart. +- `tractusx-dev/umbrella` specifies the chart to install, with *tractusx-dev* being the repository name and *umbrella* being the chart name. +- `--namespace umbrella` specifies the namespace in which to install the chart. +- `--create-namespace` create a namespace with the name `umbrella`. + +::: + +##### Option 1 + +Install with your chosen components enabled: + +```bash +helm install \ + --set COMPONENT_1.enabled=true,COMPONENT_2.enabled=true,COMPONENT_3.enabled=true \ + umbrella tractusx-dev/umbrella \ + --namespace umbrella \ + --create-namespace ``` -Once we've established the basic readiness of our connectors, we can move on to inspect a few data items: +##### Option 2 -```shell -curl -X POST http://localhost/bob/management/v3/assets/request -H "x-api-key: password" -H "content-type: application/json" | jq -``` - -This queries the `/assets` endpoint returning the entire list of assets that `bob` currently maintains. You should see -something like - -```json -[ - { - "@id": "1", - "@type": "edc:Asset", - "edc:properties": { - "edc:description": "Product EDC Demo Asset 1", - "edc:id": "1" - }, - "edc:dataAddress": { - "@type": "edc:DataAddress", - "edc:proxyPath": "true", - "edc:type": "HttpData", - "edc:proxyQueryParams": "true", - "edc:baseUrl": "https://jsonplaceholder.typicode.com/todos" - }, - "@context": { - "dct": "https://purl.org/dc/terms/", - "tx": "https://w3id.org/tractusx/v0.0.1/ns/", - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "dcat": "https://www.w3.org/ns/dcat/", - "odrl": "http://www.w3.org/ns/odrl/2/", - "dspace": "https://w3id.org/dspace/v0.8/" - } - }, - { - "@id": "2", - "@type": "edc:Asset", - "edc:properties": { - "edc:description": "Product EDC Demo Asset 2", - "edc:id": "2" - }, - "edc:dataAddress": { - "@type": "edc:DataAddress", - "edc:proxyPath": "true", - "edc:type": "HttpData", - "edc:proxyQueryParams": "true", - "edc:baseUrl": "https://jsonplaceholder.typicode.com/todos" - }, - "@context": { - "dct": "https://purl.org/dc/terms/", - "tx": "https://w3id.org/tractusx/v0.0.1/ns/", - "edc": "https://w3id.org/edc/v0.0.1/ns/", - "dcat": "https://www.w3.org/ns/dcat/", - "odrl": "http://www.w3.org/ns/odrl/2/", - "dspace": "https://w3id.org/dspace/v0.8/" - } +Choose to install one of the predefined subsets (currently in focus of the **E2E Adopter Journey**): + +###### Data Exchange Subset + +```bash +helm install \ + --set centralidp.enabled=true,managed-identity-wallet.enabled=true,dataconsumerOne.enabled=true,tx-data-provider.enabled=true \ + umbrella tractusx-dev/umbrella \ + --namespace umbrella \ + --create-namespace +``` + +###### Optional + +Enable `dataconsumerTwo` at upgrade: + +```bash +helm install \ + --set centralidp.enabled=true,managed-identity-wallet.enabled=true,dataconsumerOne.enabled=true,tx-data-provider.enabled=true,dataconsumerTwo.enabled=true \ + umbrella tractusx-dev/umbrella \ + --namespace umbrella +``` + +###### Portal Subset + +```bash +helm install \ + --set portal.enabled=true,centralidp.enabled=true,sharedidp.enabled=true \ + umbrella tractusx-dev/umbrella \ + --namespace umbrella \ + --create-namespace +``` + +To set your own configuration and secret values, install the helm chart with your own values file: + +```bash +helm install -f your-values.yaml umbrella tractusx-dev/umbrella --namespace umbrella --create-namespace +``` + +#### Use local repository + +Make sure to clone the [tractus-x-umbrella](https://github.com/eclipse-tractusx/tractus-x-umbrella) repository beforehand. + +Then navigate to the chart directory: + +```bash +cd charts/umbrella/ +``` + +Download the chart dependencies: + +```bash +helm dependency update +``` + +##### grey_question: Command explanation + +> `helm install` is used to install a Helm chart. +> > `-f your-values.yaml` | `-f values-*.yaml` specifies the values file to use for configuration. +> --- +> > `umbrella` is the release name for the Helm chart. +> --- +> > `.` specifies the path to the chart directory. +> --- +> > `--namespace umbrella` specifies the namespace in which to install the chart. +> --- +> > `--create-namespace` create a namespace with the name `umbrella`. + +##### Option 1 + +Install your chosen components by having them enabled in a `your-values.yaml` file: + +```bash +helm install -f your-values.yaml umbrella . --namespace umbrella --create-namespace +``` + +> In general, all your specific configuration and secret values should be set by installing with an own values file. + +##### Option 2 + +Choose to install one of the predefined subsets (currently in focus of the **E2E Adopter Journey**): + +###### Data Exchange Subset + +```bash +helm install -f values-adopter-data-exchange.yaml umbrella . --namespace umbrella --create-namespace +``` + +**Optional:** + +Enable `dataconsumerTwo` by setting it true in `values-adopter-data-exchange.yaml` and then executing an upgrade: + +```bash +dataconsumerTwo: + enabled: true +``` + +```bash +helm upgrade -f values-adopter-data-exchange.yaml umbrella . --namespace umbrella +``` + +###### Portal Subset + +```bash +helm install -f values-adopter-portal.yaml umbrella . --namespace umbrella --create-namespace +``` + +#### Get to know the Portal + +Perform first login and send out an invitation to a company to join the network (SMTP account required to be configured in custom values.yaml file). + +Proceed with the login to the to verify that everything is setup as expected. + +Credentials to log into the initial example realm (CX-Operator): + +```sh +cx-operator@arena.test +``` + +```sh +tractusx-umbr3lla! +``` + +```mermaid +%%{ + init: { + 'flowchart': { 'diagramPadding': '10', 'wrappingWidth': '', 'nodeSpacing': '', 'rankSpacing':'', 'titleTopMargin':'10', 'curve':'basis'}, + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#b3cb2d', + 'primaryBorderColor': '#ffa600', + 'lineColor': '#ffa600', + 'tertiaryColor': '#fff' } -] + } +}%% + graph TD + classDef stroke stroke-width:2px + classDef addext fill:#4cb5f5,stroke:#b7b8b6,stroke-width:2px + iam1(IAM: centralidp Keycloak):::stroke + iam2(IAM: sharedidp Keycloak):::stroke + portal(Portal):::stroke + subgraph Login Flow + iam1 --- portal & iam2 + end + linkStyle 0,1 stroke:lightblue ``` -Note: the same thing can be done to inspect policies and contract definitions. The respective `curl` commands are: +The relevant hosts are the following: + +- +- +- +- + +In case that you have TLS enabled (see [Self-signed TLS setup (Optional)](#self-signed-tls-setup-optional)), make sure to accept the risk of the self-signed certificates for all the hosts before performing the first login: + +- +- +- +- + +### Uninstall Helm Charts + +To teardown your setup, run: ```shell -# policies: -curl -X POST http://localhost/bob/management/v2/policydefinitions/request -H "x-api-key: password" -H "content-type: application/json" | jq +helm delete umbrella --namespace umbrella ``` -```shell -# contract defs: -curl -X POST http://localhost/bob/management/v2/contractdefinitions/request -H "x-api-key: password" -H "content-type: application/json" | jq +:::warning + +If persistance for one or more components is enabled, the persistent volume claims (PVCs) and connected persistent volumes (PVs) need to be removed manually even if you deleted the release from the cluster. + +::: + +### Ingresses + +Currently enabled ingresses: + +- [centralidp.arena.test/auth](http://centralidp.arena.test/auth/) +- [sharedidp.arena.test/auth](http://sharedidp.arena.test/auth/) +- [portal-backend.arena.test](http://portal-backend.arena.test) + - [portal-backend.arena.test/api/administration/swagger/index.html](http://portal-backend.arena.test/api/administration/swagger/index.html) + - [portal-backend.arena.test/api/registration/swagger/index.html](http://portal-backend.arena.test/api/registration/swagger/index.html) + - [portal-backend.arena.test/api/apps/swagger/index.html](http://portal-backend.arena.test/api/apps/swagger/index.html) + - [portal-backend.arena.test/api/services/swagger/index.html](http://portal-backend.arena.test/api/services/swagger/index.html) + - [portal-backend.arena.test/api/notification/swagger/index.html](http://portal-backend.arena.test/api/notification/swagger/index.html) +- [portal.arena.test](http://portal.arena.test) +- [managed-identity-wallets.arena.test/ui/swagger-ui/index.html](http://managed-identity-wallets.arena.test/ui/swagger-ui/index.html) +- [semantics.arena.test/discoveryfinder/swagger-ui/index.html](http://semantics.arena.test/discoveryfinder/swagger-ui/index.html) +- [dataconsumer-1-controlplane.arena.test](http://dataconsumer-1-controlplane.arena.test) +- [dataconsumer-1-dataplane.arena.test](http://dataconsumer-1-dataplane.arena.test) +- [dataprovider-dataplane.arena.test](http://dataprovider-dataplane.arena.test) +- [dataconsumer-2-controlplane.arena.test](http://dataconsumer-2-controlplane.arena.test) +- [dataconsumer-2-dataplane.arena.test](http://dataconsumer-2-dataplane.arena.test) +- [pgadmin4.arena.test](http://pgadmin4.arena.test) + +### Database Access + +This chart also contains a pgadmin4 instance for easy access to the deployed Postgres databases which are only available from within the Kubernetes cluster. + +pgadmin4 is by default enabled with in the predefined subsets for data exchange and portal. + +Address: [pgadmin4.arena.test](http://pgadmin4.arena.test) + +Credentials to login into pgadmin4: + +```sh +pgadmin4@txtest.org +``` + +```sh +tractusxpgdamin4 +``` + +:::info + +The database server connections need to be added manually to pgadmin4. + +::: + +Default username for all connections: + +```sh +postgres +``` + +Default user for all connections: + +```sh +5432 +``` + +In the following some of the available connections: + +- portal + +Host: + +```sh +portal-backend-postgresql +``` + +Password: + +```sh +dbpasswordportal ``` -Alternatively, please check out the [Postman collections here](./postman) +- centralidp + +Host: + +```sh +umbrella-centralidp-postgresql +``` + +Password: + +```sh +dbpasswordcentralidp +``` + +- sharedidp + +Host: + +```sh +umbrella-sharedidp-postgresql +``` + +Password: + +```sh +dbpasswordsharedidp +``` + +- miw + +Host: + +```sh +umbrella-miw-postgres +``` + +Password: + +```sh +dbpasswordmiw +``` + +- dataprovider + +Host: + +```sh +umbrella-dataprovider-db +``` + +Password: + +```sh +dbpasswordtxdataprovider +``` + +- dataconsumer-1 + +Host: + +```sh +umbrella-dataconsumer-1-db +``` + +Password: + +```sh +dbpassworddataconsumerone +``` + +- dataconsumer-2 + +Host: + +```sh +umbrella-dataconsumer-2-db +``` + +Password: + +```sh +dbpassworddataconsumertwo +``` + +### Keycloak Admin Console + +Access to admin consoles: + +- [http://centralidp.arena.test/auth/](http://sharedidp.arena.test/auth/) +- [http://sharedidp.arena.test/auth/](http://sharedidp.arena.test/auth/) + +Default username for centralidp and sharedidp: + +```sh +admin +``` + +Password centralidp: + +```sh +adminconsolepwcentralidp +``` + +Password sharedidp: + +```sh +adminconsolepwsharedidp +``` + +### Seeding + +See [Overall Seeding](https://github.com/eclipse-tractusx/tractus-x-umbrella/blob/main/concept/seeds-overall-data.md). + +### Self-signed TLS setup (Optional) + +Some of the components are prepared to be configured with TLS enabled (see "uncomment the following line for tls" comments in [values.yaml](./values.yaml)). + +If you'd like to make use of that, make sure to to execute this step beforehand. + +Install cert-manager chart in the same namespace where the umbrella chart will be located. + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +``` + +```bash +helm install \ + cert-manager jetstack/cert-manager \ + --namespace umbrella \ + --create-namespace \ + --version v1.14.4 \ + --set installCRDs=true +``` + +Configure the self-signed certificate and issuer to be used by the ingress resources. + +If you have the repository checked out you can run: + +```bash +kubectl apply -f ./charts/umbrella/cluster-issuer.yaml +``` + +or otherwise you can run: + +```bash +kubectl apply -f - < +For an in depth description of data spaces and the conceptual model behind Catena-X, read the Industrial Data Spaces Association (IDSA) Reference Architecture Model 4.0: The Catena-X Operating Whitepaper describes how the Catena-X data space is operated: ::: ## 4. The Onboarding Journey -Your task to setup the technical components is part of a larger onboarding journey that also includes a registration in the network, a use-case selection, setting up a data governance structure and engagement of the various business departments. The onboarding journey varies depending on your companies decision on how to participate in which use-cases. As you've already read, in case your company only intends to buy a fully managed SAAS business application, you won't need to operate the Catena-X components yourself. +Your task to setup the technical components is part of a larger onboarding journey that also includes a registration in the network, a use case selection, setting up a data governance structure and engagement of the various business departments. The onboarding journey varies depending on your companies decision on how to participate in which use cases. As you've already read, in case your company only intends to buy a fully managed SAAS business application, you won't need to operate the Catena-X components yourself. The Catena-X association provides extensive onboarding material such as an onboarding guide or an onboarding status tracker. Both can be found on the association homepage. :::note diff --git a/docs/tutorials/e2e/prerequisites/prerequisites.md b/docs/tutorials/e2e/prerequisites/prerequisites.md index 315307c259a..26e2adb5c04 100644 --- a/docs/tutorials/e2e/prerequisites/prerequisites.md +++ b/docs/tutorials/e2e/prerequisites/prerequisites.md @@ -5,11 +5,11 @@ sidebar_position: 1 ## Preface -The components and tools that are described here are to be understood as a proposal from Tractus-X and not as standards that must be used. Using the proposed software stack of this tutorial will make it easier to complete it. Nevertheless, if your company policy requires e.g. the use of open stack, or you can't use docker containers or kubernetes, the Catena-X components will also work, you might just need a little extra effort. +The components and tools that are described here are to be understood as a proposal and not as standard that must be used. Using the proposed software stack of this tutorial will make it easier to complete it. Nevertheless, if your company policy requires e.g. the use of open stack, or you can't use docker containers or kubernetes, the Catena-X components will also work, you might just need a little extra effort. :::info -You can either complete the tutorial in a cloud space (e.g. AWS or Azure) or locally. If you choose to run the tutorial locally, make sure that your machine fulfils the minimal performance requirements. +You can either complete the tutorial in a cloud space (e.g. AWS or Azure) or locally. If you choose to run the tutorial locally, make sure that your machine fullfils the minimal performance requirements. ::: @@ -17,26 +17,29 @@ You can either complete the tutorial in a cloud space (e.g. AWS or Azure) or loc As mentioned in the introduction, no preliminary knowledge about Catena-X is required. However, to complete the tutorial you will have to work with the following technical software stack. A basic understanding of those technologies is advised. -- Cloud Environment (AWS/Azure) or a local machine with at least 2 CPUs, 16GB RAM, 20GB free storage +- Cloud Environment (AWS/Azure) or a local machine - Docker - Kubernetes -- Kind (for local systems) -- Helm (will be installed by Terraform) -- Terraform +- Kubectl +- Minikube +- Helm +- X-Environment (xterm) +- a browser (we will use google-chrome) to be used for the minikube dashboard and the portal ## Chosing your environment The tutorial is designed to be used in cloud environments, such as AWS, Google or Azure. If you intend to build your own local environment independently of Cloud based offers, you may use this tutorial as well. In this case you need to ensure, you have the right technical software stack installed, see below. -## Setting up your own environment on local systems +## Preparing your own environment on local systems -In case you want to install Catena-X components or [Kits] directly on your local system you need the following: +In case you want to install Tractus-X components or [Kits] directly on your local system you need the following: - Access to the internet (see next section) -- One local server instance, either a physical server or a virtual machine with at least 2 CPUs, 16 GB [RAM] and 20 GB storage -- Your local system should run a Linux Version (Debian or Ubuntu are recommended) +- One local server instance, either a physical server or a virtual machine with at least 4 CPUs, 10 GB [RAM] and 20 GB storage +- Your local system should run a Linux Version (Debian or Ubuntu 22.04 or higher are recommended) - You need super user privileges (either root access or the right to use sudo) -- The above tools should be installed (Docker, Kubernetes, Kind, Helm, Terraform) +- The above tools should be installed (Docker, Kubernetes, Kubectl, Minikube, Helm and Browser, X-Environment) +- To enable users to run the tutorial after you ave installed the required environment setup the environment as described in the last section. ### Access to the Internet @@ -52,17 +55,16 @@ You may need the support of your local IT department. Once you are confident to ### URL Whitelist -#### Specific URLs​, required for [MXD] +#### Specific URLs​, required for [TXD] ```bash .download.docker.com​ -.k8s.io​ +.k8s.io​ # Kubectl .io/v2​ .charts.bitnami.com​ .download.docker.com/linux/ubuntu/gpg​ -.storage.googleapis.com​ +.storage.googleapis.com​ # Minikube .hub.docker.com # Docker Hub​ -.kind.sigs.k8s.io # Kind .kubernetes.io # Kubernetes​ .helm.sh # Helm Charts​ .hashicorp.com​ @@ -107,7 +109,7 @@ The above list is currently a candidate for changes, especially as long as the u #### https (443) -You will need https (port 443) as open port for getting access to the above repositories. If you do not have direct access from your system, you most likely work in an environment which is using proxy forwarding for https. An easy way to configure your system to use the proxy server is by setting the envionment variabale "https_proxy". For example with the command below (bash), if the port 8080 is used for the forwarding: +You will need https (port 443) as open port for getting access to the above repositories. If you do not have direct access from your system, you most likely work in an environment which is using proxy forwarding for https. An easy way to configure your system to use the proxy server is by setting the environment variable "https_proxy". For example with the command below (bash), if the port 8080 is used for the forwarding: ```bash export https_proxy=http://[proxy-web-or-IP-address]:8080 @@ -121,7 +123,7 @@ export https_proxy=http://[username]:[password]@ [proxy-web-or-IP-address]:[port :::tip -The above URLs then will be passed only if your proxy server is configured to forward the above whitelist of URLs. To ensure your setting is permant, you may want to add the above command in your .bashrc or /etc/environment. Further you can configure apt to use the proxy by entering the following into the configuration file /etc/apt/apt.conf: +The above URLs then will be passed only if your proxy server is configured to forward the above whitelist of URLs. To ensure your setting is persisted, you may want to add the above command in your .bashrc or /etc/environment. Further you can configure apt to use the proxy by entering the following into the configuration file /etc/apt/apt.conf: ```bash Acquire::https::Proxy "http://[username]:[password]@ [proxy-web-or-IP-address]:[port-number]"; @@ -137,135 +139,261 @@ export NO_PROXY="localhost,127.0.0.1,::1" #### http (80) -The port http (80) should not be used, but it will. You can apply the above hints for https (port 443) just by replacing https by http. +The port http (80) will not be used in production, but for the tutorial it will, avoiding a more complex setup with SSL. You can apply the above hints for https (port 443) just by replacing https by http. #### ssh (22) -For the [MXD], which is running locally, you only need secure shell access, which means port 22 should be open. +For the [TXD], which is running locally, you only need secure shell access, which means port 22 should be open. -### Install the basic tools (on Ubuntu 20.x and higher) +#### Further ports -Within this section we briefly describe how to install the required tools on an Ubuntu system. We have tested this on 22.04.3 LTS (GNU/Linux 5.15.0-86-generic x86_64). Please check the online availabe documentation for further details. +Opening further ports is not required for the tutorial, as the setup is designed to work within a cluster. Once you want to modify the setup, allowing EDCs and services to communicate between different locations, you need to open additional ports and use ingress for port mapping. (This will be described in a later version) + +### Install the basic tools (on Ubuntu 22.x and higher) + +Within this section we briefly describe how to install the required tools on an Ubuntu system. We have tested this on 22.04.3 LTS (GNU/Linux 5.15.0-86-generic x86_64). Please check the online available documentation for further details. #### Install docker +Ensure that you are up to date with your release (for Ubuntu we use atp, which needs to run with root privileges): + ```bash sudo apt update && sudo apt upgrade ``` +Now install docker ... + ```bash sudo apt install docker.io ``` +:::note + +The user group docker should be created, check if it exists. + +```bash +grep docker /etc/group +``` + +Response should be: + +```bash +docker:x:120: +``` + +You need the user group later, to assign your user. + +::: + #### Install kubernetes +As before, ensure you have the latest versions for your release. + ```bash sudo apt update && sudo apt upgrade ``` +and the install kubernetes + ```bash sudo apt install kubernetes ``` -#### Install kubectl +#### Install kubectl + +kubectl will be installed with snap, we need to use snap security policy "classic" instead of the default policy "strict" to allow snap full access to the system. + +```bash +sudo snap install kubectl --classic +``` + +::: note + +Occasionally snap will fail with an error message "Access forbidden", alternatively you may try to install Kubectl using the native package as follows. Please check for further information. + +::: + +Now we install a fake transitory package. This APT transport supports access to repositories through the HTTP Secure protocol (HTTPS), often known as HTTP over TLS. It is important to note that transport is never called directly by a user but is instead used by APT tools based on user settings. That's exactly what we are going in the following steps: ```bash -sudo snap install --classic kubectl +sudo apt-get update +sudo apt-get install -y apt-transport-https ca-certificates curl ``` -#### Install Kind +Download the public signing key for the Kubernetes package repositories. The same signing key is used for all repositories so you can disregard the version in the URL :::note -It might be the case, that not all of these steps are needed on your machine. +In Ubuntu 22.04, folder /etc/apt/keyrings does not exist by default, and it should be created before the curl command. If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command. + +```bash +sudo mkdir -p -m 755 /etc/apt/keyrings +``` ::: -##### Install go +Now use the curl command to download the release keys. ```bash -sudo apt update && sudo apt upgrade +curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | \ +sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg ``` +To allow unprivileged APT programs to read this keyring also change the file permissions. + ```bash -sudo apt install golang-go +sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg ``` -##### Install kind +Add the appropriate Kubernetes apt repository. If you want to use Kubernetes version different than v1.30, replace v1.30 with the desired minor version in the command below: ```bash -sudo go install sigs.k8s.io/kind@v0.20.0 +# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list +echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list +sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list # helps tools such as command-not-found to work correctly ``` -##### Check go version +Check that kubectl is properly configured by getting the cluster state: ```bash -go version +kubectl cluster-info ``` -:::note +#### Install Minikube + +To install minikube just download the executable from the repository. (Please check also ) ```bash -Response should be: "go version go1.18.1 linux/amd64" +curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ +&& chmod +x minikube ``` +The chmod command is used to ensure minikube is executable. If you want other users to have access, you should copy the executable to /usr/bin/ or another comparable location which is used by all users. Ensure that all members of the group "docker" have access. + +```bash +sudo cp ./minikube /usr/bin +chgrp docker /usr/bin/minikube +chmod 750 /usr/bin/minikube +``` + +#### Install helm + +We will need Umbrella Helm Charts for the deployment of the tutorial Catena-X environment, teh required tool helm will be installed with snap. + +::: note + +This revision of snap "helm" is published using classic confinement and thus may perform +arbitrary system changes outside of the security sandbox that snaps are usually confined to. + ::: -#### Terraform +```bash +sudo snap install helm --classic +``` + +#### X-Environment and Webbrowser + +:::note -Prepare the installation of Terraform including helm: +If not already installed, install a X11 environment (xterm) and a web browser like firefox or google-chrome. + +::: + +To install and configure the X11 environment use apt. ```bash -sudo apt-get update && sudo apt-get install -y gnupg software-properties-common +sudo apt install xterm ``` -Generate key for terraform: +Ensure that the X11 forwarding is working for ssh -X, add to your .bashrc ```bash -sudo wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | tee /usr/share/keyrings/hashicorp-archive-keyring.gpg +# ensure google-chrome and other graphic apps find the X-Authorisation file +export XAUTHORITY=$HOME/.Xauthority ``` - -Verify the generated key is working: + +and in /etc/ssh/sshd_config set the following variables to yes. ```bash -sudo gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint +X11Forwarding yes +X11UseLocalhost yes ``` -Store location into source for hashicorp: +Check if you can access your system by using for a remote location (or you may also use your system, but do not use localhost as system name) ```bash -echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \ -https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list +ssh -X @ ``` -Now install Terraform, which automatically also will install helm. +after having logged in enter ```bash -sudo apt update && sudo apt upgrade +xterm & ``` +and a new window should appear on your screen. If not ensure that you system is enabled to serve as X server. You may also need to investigate how the environment variable DISPLAY is set. + +Then you should be able to run xterm and the web browser locally to open the links given later in the tutorial. + +If you want to install google-chrome, do as follows, you may use any other browser. We prefer google-chrome as it works easier in the combination of using ssh with X forwarding. Download the latest Google Chrome Debian package via the following command: + ```bash -sudo apt-get install terraform +wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb ``` -#### Webbrowser +Install the package + +```bash +sudo dpkg -i google-chrome-stable_current_amd64.deb +``` + + In the event you encounter any dependency issues, resolve them using + +```bash +sudo apt-get install -f +``` + +#### Install insomnia + +If you want a powerful API client that simplifies the process of building, debugging, and testing APIs, you may want to install Insomnia. (Another alternative is Postmann). However for the tutorial we currently do not need an API client, as we will use curl. But if you want you can just install Insomnia as follows: + +```bash +sudo apt-get update +sudo apt-get install insomnia +``` + +### Setup a user environment for running the tutorial with a minimum set of privileges + +You do not need full system access to proceed with the following steps of tutorial (even not for the deployment). Further you may allow several users to deploy their environment at the same time on the same system. But there are a few critical aspects, you need to consider. But first we begin with setting up the appropriate permissions for a user. :::note -If not already installed, install a webbroser like firefox or google-chrome, you also may need to install an x-environment (xterm). +We use as example the username [tx01]. ::: -Check if you can access your system by using +The user tx01 needs the following permissions to be able to successfully complete the tutorial. + +- if has to be a member of the group docker. +- He needs write access to /etc/hosts +So we run the following commands, assuming the user already exists: ```bash -ssh -X +sudo addusr tx01 docker # adds the user to the group docker +sudo chgrp docker /etc/hosts # change the group permission from root to docker +sudo chmod 664 /etc/hosts # This allow now our user tx01 to edit /etc/hosts ``` -Then you should be able to run the webrowser locally to open the links given later in the tutorial. +You should brief your user regarding their responsibility when they are editing /etc/hosts. + +:::Warning + +Users like tx01 with the above permissions can start minikube clusters, which will bring up kubernetes and Umbrella helm charts. By sharing the permission via the group docker, they are also able to disturb clusters and services of another user within the same group docker. Therefore, it is important that they choose individual names for their minikube profiles and Umbrella namespaces. Further they should avoid any option like "--all". See also additional hints in the next chapter "deploy". + +::: :::info -Your enviroment for the tutorial starting with chapter "deploy" should be ready. +Your environment for the tutorial starting with chapter "deploy" should be ready. ::: diff --git a/docs/website-guidelines/kit-structure.md b/docs/website-guidelines/kit-structure.md index 41024a124dd..0fb8602d38a 100644 --- a/docs/website-guidelines/kit-structure.md +++ b/docs/website-guidelines/kit-structure.md @@ -25,49 +25,49 @@ Each folder/KIT's content is structured in at least four pages/subfolders: root └── docs-kits └── kits - └── NewKIT + └── new-kit ``` -2. Inside the `NewKIT` folder, add a `page_adoption-view.md` file with the content that suits your use case +2. Inside the `new-kit` folder, add a `page_adoption-view.md` file with the content that suits your use case ```md root └── docs-kits └── kits - └── NewKIT + └── new-kit └── page_adoption-view.md ``` -3. Inside the `NewKIT` folder, add a `page_software-operation-view.md` file with the content that suits your use case +3. Inside the `new-kit` folder, add a `page_software-operation-view.md` file with the content that suits your use case ```md root └── docs-kits └── kits - └── NewKIT + └── new-kit ├── page_adoption-view.md └── page_software-operation-view.md ``` -4. Inside the `NewKIT` folder, add a `page_documentation.md` file with the content that suits your use case +4. Inside the `new-kit` folder, add a `page_documentation.md` file with the content that suits your use case ```md root └── docs-kits └── kits - └── NewKIT + └── new-kit ├── page_adoption-view.md ├── page_software-operation-view.md └── page_documentation.md ``` -5. Inside the `NewKIT` folder, add a `SoftwareDevelopmentView` folder that contains a `page_software-development-view.md` file with the content that suits your use case +5. Inside the `new-kit` folder, add a `SoftwareDevelopmentView` folder that contains a `page_software-development-view.md` file with the content that suits your use case ```md root └── docs-kits └── kits - └── NewKIT + └── new-kit ├── page_adoption-view.md ├── page_software-operation-view.md ├── page_documentation.md @@ -115,7 +115,7 @@ If you have any questions, please use our [“Tractus-X community call”](https items: [ { type: "autogenerated", - dirName: "kits/New KIT folder name given", //change here according your KIT + dirName: "kits/new-kit folder name given", //change here according your KIT }, ], }, diff --git a/docusaurus.config.js b/docusaurus.config.js index 864c29ab06a..1598e996b47 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -202,41 +202,6 @@ const config = { id: "docs-kits", docsPluginId: "docs-kits", config: { - bpdm_gate: { - specPath: "./openApi/bpdm/gate.yaml", - outputDir: "./docs-kits/kits/Business Partner Kit/Software Development View/Gate Api", - sidebarOptions: { - groupPathsBy: "tag", - }, - }, - bpdm_pool: { - specPath: "./openApi/bpdm/pool.yaml", - outputDir: "./docs-kits/kits/Business Partner Kit/Software Development View/Pool Api", - sidebarOptions: { - groupPathsBy: "tag", - }, - }, - bpdm_bridge: { - specPath: "./openApi/bpdm/bridge-dummy.yaml", - outputDir: "./docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api", - sidebarOptions: { - groupPathsBy: "tag", - }, - }, - bpdm_cleaning: { - specPath: "./openApi/bpdm/cleaning-dummy.yaml", - outputDir: "./docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api", - sidebarOptions: { - groupPathsBy: "tag", - }, - }, - bpdm_orchestrator: { - specPath: "./openApi/bpdm/orchestrator.yaml", - outputDir: "./docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api", - sidebarOptions: { - groupPathsBy: "tag", - }, - }, irs: { specPath: "./openApi/irs/irs-api.yaml", outputDir: "./docs-kits/kits/Data Chain Kit/Software Development View/Job Api", @@ -373,6 +338,42 @@ const config = { groupPathsBy: 'tag', }, }, + dcm_id_based_comment: { + specPath: + './openApi/dcm/IdBasedComment.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, + dcm_id_based_request_for_update: { + specPath: + './openApi/dcm/IdBasedRequestForUpdate.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, + dcm_week_based_capacity_group: { + specPath: + './openApi/dcm/WeekBasedCapacityGroup.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, + dcm_week_based_material_demand: { + specPath: + './openApi/dcm/WeekBasedMaterialDemand.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, }, }, ], @@ -442,8 +443,12 @@ const config = { label: 'Data Chain', }, { - to: '/docs-kits/kits/DCM-Kit/adoption-view', - label: 'Demand & Capacity Management', + to: 'docs-kits/kits/Data%20Governance%20Kit/Data%20Governance%20Kit%20Adoption%20View', + label: 'Data Governance', + }, + { + to: 'docs-kits/kits/Demand and Capacity Management Kit/adoption-view/overview', + label: 'Demand and Capacity Management', }, { to: '/docs-kits/kits/Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit', @@ -481,6 +486,10 @@ const config = { to: '/docs-kits/next/kits/PURIS%20Kit/Adoption%20View%20PURIS%20Kit', label: 'PURIS', }, + { + to: '/docs-kits/next/kits/Supply%20Chain%20Disruption%20Notifications%20KIT/Adoption%20View%20PURIS-DCM%20Supply%20Chain%20Disruption%20Notifications', + label: 'Supply Chain Disruption Notifications', + }, { to: '/docs-kits/kits/PCF%20Exchange%20Kit/Adoption%20View', label: 'PCF Exchange', @@ -492,10 +501,6 @@ const config = { { to: '/docs-kits/kits/Traceability%20Kit/Business%20View%20Traceability%20Kit', label: 'Traceability', - }, - { - to: 'docs-kits/kits/Resiliency/', - label: 'Upcoming KITs', } ], }, diff --git a/openApi/bpdm/bridge-dummy.yaml b/openApi/bpdm/bridge-dummy.yaml deleted file mode 100644 index 85f3223bf12..00000000000 --- a/openApi/bpdm/bridge-dummy.yaml +++ /dev/null @@ -1,19 +0,0 @@ -openapi: 3.0.1 -info: - title: Business Partner Data Management Bridge Dummy - description: Bridge between Gate and Pool as a simple replacement for a dedicated sharing service - version: 5.0.1-SNAPSHOT -servers: - - url: http://localhost:8083 - description: Generated server url -paths: - /api/bridge/sync: - post: - tags: - - bridge-controller - summary: Start sync between Gate and Pool - operationId: triggerSync - responses: - '200': - description: OK -components: {} diff --git a/openApi/bpdm/cleaning-dummy.yaml b/openApi/bpdm/cleaning-dummy.yaml deleted file mode 100644 index efe86644754..00000000000 --- a/openApi/bpdm/cleaning-dummy.yaml +++ /dev/null @@ -1,10 +0,0 @@ -openapi: 3.0.1 -info: - title: Business Partner Data Management Cleaning Service Dummy - description: Place holder for the cleaning service provider - version: 4.1.0-SNAPSHOT -servers: - - url: http://localhost:8084 - description: Generated server url -paths: {} -components: {} diff --git a/openApi/bpdm/gate.yaml b/openApi/bpdm/gate.yaml deleted file mode 100644 index df09ab30a5b..00000000000 --- a/openApi/bpdm/gate.yaml +++ /dev/null @@ -1,1690 +0,0 @@ -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 -servers: - - url: http://localhost:8081 - description: Generated server url -paths: - /v6/input/business-partners: - put: - tags: - - business-partner-controller - summary: Create or update business partner with given external ID - description: Create or update generic business partner. Updates instead of creating a new business partner if an already existing external ID is used. The same external ID may not occur more than once in a single request. For a single request, the maximum number of business partners in the request is limited to 100 entries. - operationId: upsertBusinessPartnersInput - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BusinessPartnerInputRequest' - required: true - responses: - '200': - description: Business partner were successfully updated or created - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BusinessPartnerInputDto' - '400': - description: On malformed legal entity request - /v6/sharing-state/ready: - post: - tags: - - sharing-state-controller - summary: Sets the given business partners into ready to be shared state - description: The business partners to set the ready state for are identified by their external-id. Only business partners in an initial or error state can be set to ready. If any given business partner could not be set into ready state for any reason (for example, it has not been found or it is in the wrong state) the whole request fails (all or nothing approach). - operationId: postSharingStateReady - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PostSharingStateReadyRequest' - required: true - responses: - '204': - 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) - /v6/output/changelog/search: - post: - tags: - - changelog-controller - summary: Returns changelog entries for changes to the business partner output stage - description: Returns changelog entries as of a specified timestamp from the output stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - operationId: getOutputChangelog - 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: - $ref: '#/components/schemas/ChangelogSearchRequest' - required: true - responses: - '200': - description: The changelog entries for the specified parameters - content: - application/json: - schema: - $ref: '#/components/schemas/PageChangeLogDtoChangelogGateDto' - '400': - description: On malformed pagination request - /v6/output/business-partners/search: - post: - tags: - - business-partner-controller - summary: Search business partners by an array of external IDs from the output stage - description: Get page of business partners output data filtered by a collection of external IDs. An empty external ID list will return a paginated list of all business partners. - operationId: getBusinessPartnersOutput - 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 - responses: - '200': - description: The requested page of business partners - content: - application/json: - schema: - $ref: '#/components/schemas/PageDtoBusinessPartnerOutputDto' - '400': - description: On malformed pagination request - /v6/input/changelog/search: - post: - tags: - - changelog-controller - summary: Returns changelog entries for changes to the business partner input stage - description: Returns changelog entries as of a specified timestamp from the input stage, optionally filtered by timestamp, an array of external IDs and a business partner type. - operationId: getInputChangelog - 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: - $ref: '#/components/schemas/ChangelogSearchRequest' - required: true - responses: - '200': - description: The changelog entries for the specified parameters - content: - application/json: - schema: - $ref: '#/components/schemas/PageChangeLogDtoChangelogGateDto' - '400': - description: On malformed pagination request - /v6/input/business-partners/search: - post: - tags: - - business-partner-controller - summary: Search business partner by external ID. An empty external ID list returns a paginated list of all business partners. - description: Get page of business partners filtered by a collection of external IDs. - operationId: getBusinessPartnersInput - 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 - responses: - '200': - description: The requested page of busines partners - content: - application/json: - schema: - $ref: '#/components/schemas/PageDtoBusinessPartnerInputDto' - '400': - description: On malformed pagination request - /v6/stats/{stage}/address-types: - get: - tags: - - stats-controller - operationId: countAddressTypes - parameters: - - name: stage - in: path - required: true - schema: - type: string - enum: - - Input - - Output - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/StatsAddressTypesResponse' - /v6/stats/stages: - get: - tags: - - stats-controller - operationId: countPartnersPerStage - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/StatsStagesResponse' - /v6/stats/sharing-states: - get: - tags: - - stats-controller - operationId: countPartnersBySharingState - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/StatsSharingStatesResponse' - /v6/stats/confidence-criteria: - get: - tags: - - stats-controller - operationId: getConfidenceCriteriaStats - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/StatsConfidenceCriteriaResponse' - /v6/sharing-state: - get: - tags: - - sharing-state-controller - summary: Returns sharing states of business partners, optionally filtered by a business partner type and an array of external IDs - operationId: getSharingStates - 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' - - name: businessPartnerType - in: query - description: Business partner type - required: false - schema: - type: string - enum: - - LEGAL_ENTITY - - SITE - - ADDRESS - - GENERIC - - name: externalIds - in: query - description: External IDs - required: false - schema: - type: array - items: - type: string - responses: - '200': - description: Page of sharing states - content: - application/json: - schema: - $ref: '#/components/schemas/PageDtoSharingStateDto' -components: - schemas: - AddressComponentOutputDto: - required: - - addressBpn - - alternativePostalAddress - - bpnA - - confidenceCriteria - - physicalPostalAddress - - states - 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' - 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: - 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' - states: - type: array - items: - $ref: '#/components/schemas/BusinessPartnerStateDto' - description: 'The address, on which the business partner provides a view. ' - AlternativePostalAddressDto: - type: object - properties: - geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinateDto' - 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: An alternative postal address describes an alternative way of delivery for example if the goods are to be picked up somewhere else. - BusinessPartnerIdentifierDto: - type: object - properties: - type: - type: string - description: The type of the identifier. - value: - type: string - description: The value of the identifier like “DE123465789. - 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 Registergericht and Registerart. - BusinessPartnerInputDto: - required: - - address - - bpnA - - bpnL - - createdAt - - externalId - - identifiers - - isOwnCompanyData - - legalEntity - - nameParts - - postalAddress - - roles - - site - - states - - updatedAt - type: object - properties: - externalId: - type: string - description: The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner. - 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 - isOwnCompanyData: - type: boolean - description: Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member. - legalEntity: - $ref: '#/components/schemas/LegalEntityRepresentationInputDto' - site: - $ref: '#/components/schemas/SiteRepresentationInputDto' - address: - $ref: '#/components/schemas/AddressRepresentationInputDto' - 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 - description: Generic business partner with external id - BusinessPartnerInputRequest: - required: - - address - - externalId - - identifiers - - isOwnCompanyData - - legalEntity - - nameParts - - roles - - site - - states - type: object - properties: - externalId: - type: string - description: The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner. - 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 - isOwnCompanyData: - type: boolean - description: Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member. - legalEntity: - $ref: '#/components/schemas/LegalEntityRepresentationInputDto' - site: - $ref: '#/components/schemas/SiteRepresentationInputDto' - address: - $ref: '#/components/schemas/AddressRepresentationInputDto' - description: Generic business partner with external id - BusinessPartnerOutputDto: - required: - - address - - createdAt - - externalId - - identifiers - - isOwnCompanyData - - legalEntity - - nameParts - - roles - - states - - updatedAt - type: object - properties: - externalId: - type: string - description: The identifier which uniquely identifies (in the internal system landscape of the sharing member) the business partner. - 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 - isOwnCompanyData: - type: boolean - description: Indicates whether the sharing member claims (in the initial upload) the business partner to belong to the company data of the sharing member. - legalEntity: - $ref: '#/components/schemas/LegalEntityRepresentationOutputDto' - site: - $ref: '#/components/schemas/SiteRepresentationOutputDto' - address: - $ref: '#/components/schemas/AddressComponentOutputDto' - 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 - description: Generic business partner output with external id - BusinessPartnerStateDto: - 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 - ChangelogGateDto: - required: - - changelogType - - externalId - - timestamp - type: object - properties: - externalId: - type: string - description: The external identifier of the business partner for which the changelog entry was created. - timestamp: - type: string - description: The date and time when the changelog entry was created. - format: date-time - changelogType: - type: string - description: 'One of the actions for which the changelog entry was created: create, update.' - enum: - - CREATE - - UPDATE - description: An entry of the changelog, which is created each time a business partner is modified and contains data about the change. The actual new state of the business partner is not included. - ChangelogSearchRequest: - type: object - properties: - timestampAfter: - type: string - description: Only changelog entries created after this time. Ignored if empty. - format: date-time - example: '2023-03-20T10:23:28.194Z' - externalIds: - uniqueItems: true - type: array - description: Only for business partners with the given array of external IDs. Ignored if empty. - items: - type: string - ConfidenceCriteriaDto: - required: - - checkedByExternalDataSource - - confidenceLevel - - lastConfidenceCheckAt - - nextConfidenceCheckAt - - numberOfSharingMembers - - sharedByOwner - type: object - properties: - sharedByOwner: - type: boolean - checkedByExternalDataSource: - type: boolean - numberOfSharingMembers: - type: integer - format: int32 - lastConfidenceCheckAt: - type: string - format: date-time - nextConfidenceCheckAt: - type: string - format: date-time - confidenceLevel: - type: integer - format: int32 - ErrorInfoChangeLogOutputError: - title: ErrorInfo - required: - - errorCode - - message - type: object - properties: - errorCode: - type: string - description: Error code identifying the error - enum: - - ExternalIdNotFound - message: - type: string - description: Error message that explains the error - entityKey: - type: string - description: Key (externalId) of the entity that failed - description: Holds information about failures - GeoCoordinateDto: - required: - - latitude - - longitude - 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. - LegalEntityRepresentationInputDto: - required: - - states - 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. - shortName: - 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. - 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: - 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. - shortName: - 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. - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - states: - type: array - items: - $ref: '#/components/schemas/BusinessPartnerStateDto' - description: Legal Entity properties of business partner output data - PageChangeLogDtoChangelogGateDto: - required: - - content - - contentSize - - errors - - invalidEntries - - 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/ChangelogGateDto' - invalidEntries: - type: integer - description: Number of entries in the page that have been omitted due to being invalid (error) - format: int32 - errors: - type: array - description: Infos about the entries with errors - items: - $ref: '#/components/schemas/ErrorInfoChangeLogOutputError' - description: Paginated collection of results - PageDtoBusinessPartnerInputDto: - 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/BusinessPartnerInputDto' - description: Paginated collection of results - PageDtoBusinessPartnerOutputDto: - 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/BusinessPartnerOutputDto' - description: Paginated collection of results - PageDtoSharingStateDto: - 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/SharingStateDto' - description: Paginated collection of results - PhysicalPostalAddressDto: - type: object - properties: - geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinateDto' - 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' - 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: A physical postal address describes the physical location of an office, warehouse, gate, etc. - PostSharingStateReadyRequest: - required: - - externalIds - type: object - properties: - externalIds: - type: array - items: - type: string - description: Request for setting business partners into ready to be shared to golden record state - SharingStateDto: - required: - - externalId - - sharingStateType - type: object - properties: - externalId: - type: string - description: The external identifier of the business partner for which the sharing state entry was created. - sharingStateType: - type: string - description: One of the sharing state types of the current sharing state. - enum: - - Pending - - Success - - Error - - Initial - - Ready - sharingErrorCode: - type: string - description: One of the sharing error codes in case the current sharing state type is "error". - enum: - - SharingProcessError - - SharingTimeout - - BpnNotInPool - - MissingTaskID - sharingErrorMessage: - type: string - description: The error message in case the current sharing state type is "error". - sharingProcessStarted: - type: string - description: The date and time when the sharing process was started. - format: date-time - taskId: - type: string - 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: - 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. - 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: - 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. - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteriaDto' - states: - type: array - items: - $ref: '#/components/schemas/BusinessPartnerStateDto' - description: Site properties of business partner output data - StatsAddressTypesResponse: - required: - - additionalTotal - - legalAndSiteTotal - - legalTotal - - siteTotal - type: object - properties: - legalAndSiteTotal: - type: integer - format: int32 - legalTotal: - type: integer - format: int32 - siteTotal: - type: integer - format: int32 - additionalTotal: - type: integer - format: int32 - StatsConfidenceCriteriaResponse: - required: - - checkedByExternalDataSourceTotal - - confidenceLevelAverage - - numberOfBusinessPartnersAverage - - sharedByOwnerTotal - - uniqueTotal - type: object - properties: - numberOfBusinessPartnersAverage: - type: number - format: float - uniqueTotal: - type: integer - format: int64 - sharedByOwnerTotal: - type: integer - format: int64 - checkedByExternalDataSourceTotal: - type: integer - format: int64 - confidenceLevelAverage: - type: number - format: float - StatsSharingStatesResponse: - required: - - errorTotal - - initialTotal - - pendingTotal - - readyTotal - - successTotal - type: object - properties: - initialTotal: - type: integer - format: int32 - readyTotal: - type: integer - format: int32 - pendingTotal: - type: integer - format: int32 - successTotal: - type: integer - format: int32 - errorTotal: - type: integer - format: int32 - StatsStagesResponse: - required: - - inputTotal - - outputTotal - type: object - properties: - inputTotal: - type: integer - format: int32 - outputTotal: - type: integer - format: int32 - StreetDto: - type: object - properties: - 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. - name: - type: string - description: The name of the street. - 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. - 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. - description: 'The street of the physical postal address, synonyms: road, avenue, lane, boulevard, highway' diff --git a/openApi/bpdm/orchestrator.yaml b/openApi/bpdm/orchestrator.yaml deleted file mode 100644 index 0277d5f2e59..00000000000 --- a/openApi/bpdm/orchestrator.yaml +++ /dev/null @@ -1,607 +0,0 @@ -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 -servers: - - url: http://localhost:8085 - description: Generated server url -paths: - /v6/golden-record-tasks: - post: - tags: - - Task Client - summary: Create new golden record tasks for given business partner data - description: Create golden record tasks for given business partner data in given mode. The mode decides through which processing steps the given business partner data will go through. The response contains the states of the created tasks in the order of given business partner data.If there is an error in the request no tasks are created (all or nothing). For a single request, the maximum number of business partners in the request is limited to 100 entries. - operationId: createTasks - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TaskCreateRequest' - required: true - responses: - '200': - description: The states of successfully created tasks including the task identifier for tracking purposes. - content: - application/json: - schema: - $ref: '#/components/schemas/TaskCreateResponse' - '400': - description: On malformed task create requests or reaching upsert limit - /v6/golden-record-tasks/step-results: - post: - tags: - - Task Worker - summary: Post step results for reserved golden record tasks in the given step queue - description: Post business partner step results for the given tasks in the given step queue. In order to post a result for a task it needs to be reserved first, has to currently be in the given step queue and the time limit is not exceeded. The number of results you can post at a time does not need to match the original number of reserved tasks. Results are accepted via strategy 'all or nothing'. For a single request, the maximum number of postable results is limited to 100. - operationId: resolveStepResults - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TaskStepResultRequest' - required: true - responses: - '204': - 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 - /v6/golden-record-tasks/step-reservations: - post: - tags: - - Task Worker - summary: Reserve the next golden record tasks waiting in the given step queue - description: Reserve up to a given number of golden record tasks in the given step queue. The response entries contain the business partner data to process which consists of the generic and L/S/A data. The reservation has a time limit which is returned. For a single request, the maximum number of reservable tasks is limited to 100. - operationId: reserveTasksForStep - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TaskStepReservationRequest' - required: true - responses: - '200': - description: The reserved tasks with their business partner data to process. - content: - application/json: - schema: - $ref: '#/components/schemas/TaskStepReservationResponse' - '400': - description: On malformed task create requests or reaching upsert limit - /v6/golden-record-tasks/state/search: - post: - tags: - - Task Client - summary: Search for the state of golden record tasks by task identifiers - description: Returns the state of golden record tasks based on the provided task identifiers. Unknown task identifiers are ignored. - operationId: searchTaskStates - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TaskStateRequest' - required: true - responses: - '200': - description: The state of the tasks for the provided task identifiers. - content: - application/json: - schema: - $ref: '#/components/schemas/TaskStateResponse' - '400': - description: On malformed task search requests -components: - schemas: - AlternativeAddress: - required: - - geographicCoordinates - type: object - properties: - geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinate' - country: - type: string - administrativeAreaLevel1: - type: string - postalCode: - type: string - city: - type: string - deliveryServiceType: - type: string - enum: - - PO_BOX - - PRIVATE_BAG - - BOITE_POSTALE - deliveryServiceQualifier: - type: string - deliveryServiceNumber: - type: string - BpnReference: - type: object - properties: - referenceValue: - type: string - desiredBpn: - type: string - referenceType: - type: string - enum: - - Bpn - - BpnRequestIdentifier - BusinessPartner: - required: - - legalEntity - - nameParts - - uncategorized - type: object - properties: - nameParts: - type: array - items: - $ref: '#/components/schemas/NamePart' - owningCompany: - type: string - uncategorized: - $ref: '#/components/schemas/UncategorizedProperties' - legalEntity: - $ref: '#/components/schemas/LegalEntity' - site: - $ref: '#/components/schemas/Site' - additionalAddress: - $ref: '#/components/schemas/PostalAddress' - type: - type: string - enum: - - LegalEntity - - Site - - Address - BusinessState: - type: object - properties: - validFrom: - type: string - format: date-time - validTo: - type: string - format: date-time - type: - type: string - enum: - - ACTIVE - - INACTIVE - ConfidenceCriteria: - type: object - properties: - sharedByOwner: - type: boolean - checkedByExternalDataSource: - type: boolean - numberOfSharingMembers: - type: integer - format: int32 - lastConfidenceCheckAt: - type: string - format: date-time - nextConfidenceCheckAt: - type: string - format: date-time - confidenceLevel: - type: integer - format: int32 - GeoCoordinate: - type: object - properties: - longitude: - type: number - format: float - latitude: - type: number - format: float - altitude: - type: number - format: float - Identifier: - type: object - properties: - value: - type: string - type: - type: string - issuingBody: - type: string - LegalEntity: - required: - - bpnReference - - confidenceCriteria - - identifiers - - legalAddress - - states - type: object - properties: - bpnReference: - $ref: '#/components/schemas/BpnReference' - legalName: - type: string - legalShortName: - type: string - legalForm: - type: string - identifiers: - type: array - items: - $ref: '#/components/schemas/Identifier' - states: - type: array - items: - $ref: '#/components/schemas/BusinessState' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteria' - isCatenaXMemberData: - type: boolean - hasChanged: - type: boolean - legalAddress: - $ref: '#/components/schemas/PostalAddress' - NamePart: - required: - - name - - type - type: object - properties: - name: - type: string - type: - type: string - enum: - - LegalName - - ShortName - - LegalForm - - SiteName - - AddressName - PhysicalAddress: - required: - - geographicCoordinates - - street - type: object - properties: - geographicCoordinates: - $ref: '#/components/schemas/GeoCoordinate' - country: - type: string - administrativeAreaLevel1: - type: string - administrativeAreaLevel2: - type: string - administrativeAreaLevel3: - type: string - postalCode: - type: string - city: - type: string - district: - type: string - street: - $ref: '#/components/schemas/Street' - companyPostalCode: - type: string - industrialZone: - type: string - building: - type: string - floor: - type: string - door: - type: string - PostalAddress: - required: - - bpnReference - - confidenceCriteria - - identifiers - - physicalAddress - - states - type: object - properties: - bpnReference: - $ref: '#/components/schemas/BpnReference' - addressName: - type: string - identifiers: - type: array - items: - $ref: '#/components/schemas/Identifier' - states: - type: array - items: - $ref: '#/components/schemas/BusinessState' - confidenceCriteria: - $ref: '#/components/schemas/ConfidenceCriteria' - physicalAddress: - $ref: '#/components/schemas/PhysicalAddress' - alternativeAddress: - $ref: '#/components/schemas/AlternativeAddress' - hasChanged: - type: boolean - Site: - required: - - bpnReference - - confidenceCriteria - - siteMainIsLegalAddress - - states - type: object - properties: - bpnReference: - $ref: '#/components/schemas/BpnReference' - siteName: - type: string - 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 - houseNumber: - type: string - houseNumberSupplement: - type: string - milestone: - type: string - direction: - type: string - namePrefix: - type: string - additionalNamePrefix: - type: string - nameSuffix: - type: string - additionalNameSuffix: - type: string - TaskClientStateDto: - required: - - businessPartnerResult - - processingState - - taskId - type: object - properties: - taskId: - type: string - businessPartnerResult: - $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 - TaskCreateRequest: - required: - - businessPartners - - mode - type: object - properties: - mode: - type: string - description: The mode affecting which processing steps the business partner goes through - enum: - - UpdateFromSharingMember - - UpdateFromPool - businessPartners: - type: array - description: The list of business partner data to be processed - items: - $ref: '#/components/schemas/BusinessPartner' - description: Request object to specify for which business partner data tasks should be created and in which mode - TaskCreateResponse: - required: - - createdTasks - type: object - properties: - createdTasks: - type: array - items: - $ref: '#/components/schemas/TaskClientStateDto' - description: Response object for giving a list of created tasks - TaskErrorDto: - required: - - description - - type - type: object - properties: - type: - type: string - description: The type of error that occurred - enum: - - Timeout - - Unspecified - description: - type: string - description: The free text, detailed description of the error - description: Describes an error that happened during processing of a task - TaskProcessingStateDto: - required: - - createdAt - - errors - - modifiedAt - - resultState - - step - - stepState - - timeout - type: object - properties: - resultState: - type: string - description: The processing result of the task, can also still be pending - enum: - - Pending - - Success - - Error - step: - type: string - description: The last step this task has entered - enum: - - CleanAndSync - - PoolSync - - Clean - stepState: - type: string - description: Whether the task is queued or already reserved for the latest step - enum: - - Queued - - Reserved - - Success - - Error - errors: - type: array - description: The actual errors that happened during processing if the task has an error result state. The errors refer to the latest step. - items: - $ref: '#/components/schemas/TaskErrorDto' - createdAt: - type: string - description: When the task has been created - format: date-time - modifiedAt: - type: string - description: When the task has last been modified - format: date-time - timeout: - type: string - description: The timestamp until the task is removed from the Orchestrator - format: date-time - deprecated: true - description: Contains detailed information about the current processing state of a golden record task - TaskStateRequest: - required: - - taskIds - type: object - properties: - taskIds: - type: array - items: - type: string - description: Request object for giving a list of task identifiers to search for the state of tasks - TaskStateResponse: - required: - - tasks - type: object - properties: - tasks: - type: array - items: - $ref: '#/components/schemas/TaskClientStateDto' - description: Response object for giving a list of task states - TaskStepReservationEntryDto: - required: - - businessPartner - - requestKey - - taskId - type: object - properties: - taskId: - type: string - description: The identifier of the reserved task - businessPartner: - $ref: '#/components/schemas/BusinessPartner' - requestKey: - type: string - description: Task reservation entry - TaskStepReservationRequest: - required: - - amount - - step - type: object - properties: - amount: - type: integer - description: The maximum number of tasks to reserve. Can be fewer if queue is not full enough. - format: int32 - step: - type: string - description: The step queue to reserve from - enum: - - CleanAndSync - - PoolSync - - Clean - description: Request object for reserving a number of tasks waiting in a step queue. - TaskStepReservationResponse: - required: - - reservedTasks - - timeout - type: object - properties: - reservedTasks: - type: array - description: The reserved tasks with their business partner data to process - items: - $ref: '#/components/schemas/TaskStepReservationEntryDto' - timeout: - type: string - description: The timestamp until the reservation is valid and results are accepted - format: date-time - deprecated: true - description: Response object for giving a list of reserved tasks - TaskStepResultEntryDto: - required: - - businessPartner - - errors - - taskId - type: object - properties: - taskId: - type: string - description: The identifier of the task for which this is a result - businessPartner: - $ref: '#/components/schemas/BusinessPartner' - errors: - type: array - description: Errors that occurred during processing of this task - items: - $ref: '#/components/schemas/TaskErrorDto' - description: A step result for a golden record task - TaskStepResultRequest: - required: - - results - - step - type: object - properties: - step: - type: string - description: The step queue containing the tasks for which results are posted - enum: - - CleanAndSync - - PoolSync - - Clean - results: - type: array - 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' \ No newline at end of file diff --git a/openApi/dcm/IdBasedComment.yaml b/openApi/dcm/IdBasedComment.yaml new file mode 100644 index 00000000000..17d336de4f7 --- /dev/null +++ b/openApi/dcm/IdBasedComment.yaml @@ -0,0 +1,256 @@ +openapi: 3.0.3 +info: + title: Catena-X DCM Id Based Comment + description: Open API documentation for the Catena-X DCM Id Based Comment + version: 1.0.0 +paths: + /internal-dcm-application-id-based-comment-post-endpoint: + post: + tags: + - IdBasedComment + operationId: postIdBasedComment + description: Endpoint to receive an Id Based Comment with header information from a Catena-X DCM partner. + requestBody: + $ref: '#/components/requestBodies/IdBasedComment' + responses: + "200": + description: OK + "201": + description: Created + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "405": + description: Method not allowed + "422": + description: Unprocessable Entity + "501": + description: Not Implemented + "503": + description: Service Unavailable +components: + schemas: + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + MessageHeaderAspect: + description: Aspect model describing the shared message header. + type: object + properties: + header: + description: Contains standardized attributes for message processing common + across several use cases. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + required: + - header + urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.id_based_comment_1.0.0_AuthorCharacteristic: + type: string + description: Characteristic for an E-Mail or a BPNL + urn_samm_io.catenax.id_based_comment_1.0.0_Timestamp: + type: string + format: date-time + description: Point in time. + urn_samm_io.catenax.id_based_comment_1.0.0_CommentTrait: + type: string + description: The provided regular expression ensures that the text of a comment + is limited to the maximum length of 5.000 characters. + pattern: "^[\\s\\S]{0,5000}$" + urn_samm_io.catenax.id_based_comment_1.0.0_CommentTypeCharacteristic: + type: string + description: The classification of a comment. + enum: + - information + - warning + - default + - actionRequired + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: + type: boolean + description: Represents a boolean value (i.e. a "flag"). + urn_samm_io.catenax.id_based_comment_1.0.0_ListOfReferenceDatesCharacteristic: + description: Point in time. + type: array + items: + type: string + format: date + uniqueItems: true + urn_samm_io.catenax.id_based_comment_1.0.0_ObjectTypeCharacteristic: + type: string + description: Defining a string value for the objectType. + urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two uppercase letters." + pattern: "^BPNL[0-9]{8}[a-zA-Z0-9]{4}$" + IdBasedComment: + description: Aspect model for an exchange of comment belonging to a entity. + type: object + properties: + commentId: + description: The Comment ID uniquely identifies the entity within the business + relationship between a customer and its supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + objectId: + description: The ID of the object to which the comment belongs. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_1.0.0_UuidV4Trait' + author: + description: "The E-Mail address of the creator who wrote the comment. In\ + \ case comment creator wants to stay anonymous, show BPNL in app which\ + \ is sent the comment along." + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_AuthorCharacteristic' + postedAt: + description: Point in time when the comment was created. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_Timestamp' + changedAt: + description: Point in time when the comment was last changed. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_Timestamp' + commentText: + description: Text up to 5.000 characters in format "UTF-8" will be shared. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_CommentTrait' + commentType: + description: Type of a comment to indicate a priority. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_CommentTypeCharacteristic' + requestDelete: + description: Indicates that the deletion of the comment is requested by + sender incl. all of it's history. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + listOfReferenceDates: + description: Point in time the comment belongs to. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_ListOfReferenceDatesCharacteristic' + objectType: + description: Aspect Model which the comment refers to. The value MUST consist + of the Catena-X aspect model unique identifier of the referenced data + model without a version. + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_comment_1.0.0_ObjectTypeCharacteristic' + customer: + description: The Business Partner Number Legal Entity (BPNL) of the party + requesting materials from a supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + supplier: + description: The Business Partner Number Legal Entity (BPNL) of the party + providing materials to a customer. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_1.0.0_BpnlTrait' + required: + - commentId + - objectId + - objectType + - customer + - supplier + InformationObject: + description: Bundles all business objects in this property. + type: array + items: + $ref: '#/components/schemas/IdBasedComment' + uniqueItems: true + Content: + description: Object to bundle all transferred business objects. + type: object + properties: + informationObject: + description: Property to collect all transferred business objects. + $ref: '#/components/schemas/InformationObject' + IdBasedCommentWithHeader: + description: An entity that combines the IdBasedComment with the message header data model in order to be compliant with the DCM standard for the exchange of a comment. + type: object + properties: + messageHeader: + description: The Capacity Group ID uniquely identifies the capacity group + within the business relationship between a supplier and its customer. + $ref: '#/components/schemas/MessageHeaderAspect' + content: + description: Bundles all business objects in this property. + $ref: '#/components/schemas/Content' + requestBodies: + IdBasedComment: + content: + application/json: + schema: + $ref: '#/components/schemas/IdBasedCommentWithHeader' \ No newline at end of file diff --git a/openApi/dcm/IdBasedRequestForUpdate.yaml b/openApi/dcm/IdBasedRequestForUpdate.yaml new file mode 100644 index 00000000000..9573e2d38f8 --- /dev/null +++ b/openApi/dcm/IdBasedRequestForUpdate.yaml @@ -0,0 +1,224 @@ +--- +openapi: 3.0.3 +info: + title: Catena-X DCM ID Based Request For Update + description: Open API documentation for the Catena-X DCM ID Based Request For Update + version: 3.0.0 +paths: + /internal-dcm-application-id-based-request-for-update-post-endpoint: + post: + tags: + - IdBasedRequestForUpdate + operationId: postIdBasedRequestForUpdate + description: Endpoint to receive an Id Based Request for Update with header information from a Catena-X DCM partner. + requestBody: + $ref: '#/components/requestBodies/IdBasedRequestForUpdate' + responses: + "200": + description: OK + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "405": + description: Method not allowed + "422": + description: Unprocessable Entity + "503": + description: Service Unavailable +components: + schemas: + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + MessageHeaderAspect: + description: Aspect model describing the shared message header. + type: object + properties: + header: + description: Contains standardized attributes for message processing common + across several use cases. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + required: + - header + urn_samm_io.catenax.id_based_request_for_update_3.0.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedMaterialDemandEntity: + description: Encapsulates the information that is necessary for an update request. + type: object + properties: + materialDemandId: + description: The Material Demand ID uniquely identifies the material demand + the supplier requests an update for within the business relationship between + the customer and its supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + changedAt: + description: "Point in time of the last update known to the requesting business\ + \ partner. If the requested entity has been changed more recently, the\ + \ requested party should resend the data. If the changedAt property is\ + \ not given, the latest entity should be send without precondition." + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_Timestamp' + required: + - materialDemandId + urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedMaterialDemandCharacteristic: + description: A list of material demand UUIDs without duplicates an update is + requested for. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedMaterialDemandEntity' + uniqueItems: true + urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedCapacityGroupEntity: + description: Encapsulates the information that is necessary for an update request. + type: object + properties: + capacityGroupId: + description: The Capacity Group ID uniquely identifies the capacity group + the supplier requests an update for within the business relationship between + the supplier and its customer. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + changedAt: + description: "Point in time of the last update known to the requesting business\ + \ partner. If the requested entity has been changed more recently, the\ + \ requested party should resend the data. If the changedAt property is\ + \ not given, the latest entity should be send without precondition." + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_Timestamp' + required: + - capacityGroupId + urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedCapacityGroupCharacteristic: + description: A list of capacity group UUIDs without duplicates an update is + requested for. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedCapacityGroupEntity' + uniqueItems: true + IdBasedRequestForUpdate: + description: |- + The requirements for a request for update from another Catena-X Partner of a specific entity. + If within the payload, no specific object type is defined (Payload empty), than an update of all objects within the sender receiver relation is requested). + type: object + properties: + weekBasedMaterialDemand: + description: |- + Material demands the supplier requests an update for. + If within the array, no specific ID (array empty), than an update of all IDs is requested). + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedMaterialDemandCharacteristic' + weekBasedCapacityGroup: + description: |- + Capacity groups the customer requests an update for. + If within the array, no specific ID (array empty), than an update of all IDs is requested). + $ref: '#/components/schemas/urn_samm_io.catenax.id_based_request_for_update_3.0.0_WeekBasedCapacityGroupCharacteristic' + InformationObject: + description: Bundles all business objects in this property. + type: array + items: + $ref: '#/components/schemas/IdBasedRequestForUpdate' + uniqueItems: true + Content: + description: Object to bundle all transferred business objects. + type: object + properties: + informationObject: + description: Property to collect all transferred business objects. + $ref: '#/components/schemas/InformationObject' + IdBasedRequestForUpdateWithHeader: + description: An entity that combines the IdBasedRequestForUpdate with the message header data model in order to be compliant with the DCM standard for the exchange of a request for update. + type: object + properties: + messageHeader: + description: The Capacity Group ID uniquely identifies the capacity group + within the business relationship between a supplier and its customer. + $ref: '#/components/schemas/MessageHeaderAspect' + content: + description: Bundles all business objects in this property. + $ref: '#/components/schemas/Content' + requestBodies: + IdBasedRequestForUpdate: + content: + application/json: + schema: + $ref: '#/components/schemas/IdBasedRequestForUpdateWithHeader' \ No newline at end of file diff --git a/openApi/dcm/WeekBasedCapacityGroup.yaml b/openApi/dcm/WeekBasedCapacityGroup.yaml new file mode 100644 index 00000000000..82acaea3847 --- /dev/null +++ b/openApi/dcm/WeekBasedCapacityGroup.yaml @@ -0,0 +1,568 @@ +--- +openapi: 3.0.3 +info: + title: Catena-X DCM Week Based Capacity Group + description: Open API documentation for the Catena-X DCM Week Based Capacity Group + version: 3.0.0 +paths: + /internal-dcm-application-week-based-capacity-group-post-endpoint: + post: + tags: + - WeekBasedCapacityGroup + operationId: postWeekBasedCapacityGroup + description: Endpoint to receive a Week Based Capacity Group with header information from a Catena-X DCM partner. + requestBody: + $ref: '#/components/requestBodies/WeekBasedCapacityGroup' + responses: + "200": + description: OK + "201": + description: Created + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "405": + description: Method not allowed + "422": + description: Unprocessable Entity + "503": + description: Service Unavailable +components: + schemas: + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + MessageHeaderAspect: + description: Aspect model describing the shared message header. + type: object + properties: + header: + description: Contains standardized attributes for message processing common + across several use cases. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + required: + - header + urn_samm_io.catenax.week_based_capacity_group_3.0.0_CapacityGroupName: + type: string + description: "The name of a capacity group, used to distinguish it from other\ + \ capacity groups." + urn_samm_io.catenax.week_based_capacity_group_3.0.0_SupplierLocationsCharacteristic: + description: Contains a set of locations the supplier fulfills a demand request + from. + type: array + items: + type: string + description: "The provided regular expression ensures that the BPNS is composed\ + \ of prefix 'BPNS', 10 digits and two alphanumeric letters." + pattern: "^BPNS[a-zA-Z0-9]{12}$" + uniqueItems: true + urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration: + type: string + pattern: "[a-zA-Z]*:[a-zA-Z]+" + description: Enumeration for common item units. + enum: + - unit:piece + - unit:set + - unit:pair + - unit:page + - unit:cycle + - unit:kilowattHour + - unit:gram + - unit:kilogram + - unit:tonneMetricTon + - unit:tonUsOrShortTonUkorus + - unit:ounceAvoirdupois + - unit:pound + - unit:metre + - unit:centimetre + - unit:kilometre + - unit:inch + - unit:foot + - unit:yard + - unit:squareCentimetre + - unit:squareMetre + - unit:squareInch + - unit:squareFoot + - unit:squareYard + - unit:cubicCentimetre + - unit:cubicMetre + - unit:cubicInch + - unit:cubicFoot + - unit:cubicYard + - unit:litre + - unit:millilitre + - unit:hectolitre + - unit:secondUnitOfTime + - unit:minuteUnitOfTime + - unit:hourUnitOfTime + - unit:day + urn_samm_io.catenax.week_based_capacity_group_3.0.0_MaterialNumber: + type: string + description: "The material number is a multi-character string, usually assigned\ + \ by an ERP system." + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnsTrait: + type: string + description: "The provided regular expression ensures that the BPNS is composed\ + \ of prefix 'BPNS', 10 digits and two alphanumeric letters." + pattern: "^BPNS[a-zA-Z0-9]{12}$" + DemandCategoryDefault: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - '0001' + required: + - demandCategoryCode + DemandCategoryAfterSales: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - A1S1 + required: + - demandCategoryCode + DemandCategorySeries: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - SR99 + required: + - demandCategoryCode + DemandCategoryPhaseInPeriod: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - PI01 + required: + - demandCategoryCode + DemandCategorySingleOrder: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - OS01 + required: + - demandCategoryCode + DemandCategorySmallSeries: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - OI01 + required: + - demandCategoryCode + DemandCategoryExtraordinaryDemand: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - ED01 + required: + - demandCategoryCode + DemandCategoryPhaseOutPeriod: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - PO01 + required: + - demandCategoryCode + urn_samm_io.catenax.week_based_capacity_group_3.0.0_DemandCategoryCharacteristic: + description: The classification of demands used to prioritize or allocate capacities. + type: object + oneOf: + - $ref: '#/components/schemas/DemandCategoryDefault' + - $ref: '#/components/schemas/DemandCategoryAfterSales' + - $ref: '#/components/schemas/DemandCategorySeries' + - $ref: '#/components/schemas/DemandCategoryPhaseInPeriod' + - $ref: '#/components/schemas/DemandCategorySingleOrder' + - $ref: '#/components/schemas/DemandCategorySmallSeries' + - $ref: '#/components/schemas/DemandCategoryExtraordinaryDemand' + - $ref: '#/components/schemas/DemandCategoryPhaseOutPeriod' + urn_samm_io.catenax.week_based_capacity_group_3.0.0_LoadFactorCharacteristic: + type: number + description: Describes the data type of the load factor. + urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedDemandSeries: + description: Encapsulates information used to reference a specific demand series. + type: object + properties: + materialNumberCustomer: + description: Material identifier as assigned by customer. This material + number identifies the material (as planned) in the customer's database. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_MaterialNumber' + materialNumberSupplier: + description: "Material identifier as assigned by supplier. This material\ + \ number identifies the material (as planned) in the supplier's database.\ + \ Used as informational field only, not for assigning demand series to\ + \ capacity groups." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_MaterialNumber' + customerLocation: + description: The BPNS number of the site at which the customer needs the + specified material for the referenced demand series. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnsTrait' + demandCategory: + description: Type of demand of the referenced demand series. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_DemandCategoryCharacteristic' + loadFactor: + description: "If existent, the load factor indicates that this material\ + \ of the material demand collection takes a factor more or less intensity\ + \ to produce." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_LoadFactorCharacteristic' + required: + - materialNumberCustomer + - customerLocation + - demandCategory + urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedDemandSeriesSet: + description: A set of demand series assigned to a certain capacity group. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedDemandSeries' + uniqueItems: true + urn_samm_io.catenax.week_based_capacity_group_3.0.0_PointInTimeCharacteristic: + type: string + format: date + description: An ISO calendar week in which a given capacity will be provided. + Must be given as date of the monday in the week. + urn_samm_io.catenax.week_based_capacity_group_3.0.0_QuantityTrait: + type: number + description: "Constraint to ensure size of quantities: 12 digits plus 3 decimal\ + \ places." + maximum: 999999999999999999.999 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + urn_samm_io.catenax.week_based_capacity_group_3.0.0_DeltaProductionResultCharacteristic: + type: number + description: Describes data type of a delta production result information. + urn_samm_io.catenax.week_based_capacity_group_3.0.0_Capacity: + description: "A supplier's realistically planned output per calendar week and\ + \ material for a specific customer in a specific unit of measure, considering\ + \ all positive or negative impacts on this capacity." + type: object + properties: + pointInTime: + description: ISO Calendar Week of the given time series entry. Must be given + as date of the monday in the week. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_PointInTimeCharacteristic' + actualCapacity: + description: "The actual capacity is the realistically planned output per\ + \ calendar week and material for a specific customer in a specific unit\ + \ of measure, considering all positive or negative impacts on this capacity." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_QuantityTrait' + maximumCapacity: + description: "The supplier maximum capacity is the maximal available output\ + \ per calendar week and material for a specific customer in a specific\ + \ unit of measure. The maximum capacity thereby restricts the flexible\ + \ capacity, as the flexible capacity is obtained from the difference of\ + \ a suppliers maximum capacity minus actual capacity." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_QuantityTrait' + deltaProductionResult: + description: Delta related to the aggregated material demand after pre-/post + production calculation the supplier wants to send to the customer. Can + be positive and negative. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_DeltaProductionResultCharacteristic' + agreedCapacity: + description: The agreed capacity of a supplier for a specific customer material(s) + within a capacity group. The agreed capacity MUST NOT constitute a legal + obligation to deliver. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_QuantityTrait' + required: + - pointInTime + - actualCapacity + - maximumCapacity + urn_samm_io.catenax.week_based_capacity_group_3.0.0_CapacityTimeSeries: + description: The weekly actual and maximum capacities in a given time period. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_Capacity' + uniqueItems: true + urn_samm_io.catenax.week_based_capacity_group_3.0.0_Timestamp: + type: string + format: date-time + description: Point in time. + urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedCapacityGroupsCharacteristic: + description: Contains all capacity groups which are linked to the current one. + type: array + items: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + uniqueItems: true + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: + type: boolean + description: Represents a boolean value (i.e. a "flag"). + urn_samm_io.catenax.week_based_capacity_group_3.0.0_MeasurementTrait: + type: number + maximum: 999 + minimum: 1 + description: Trait for measurement parameters to be an integer > 0 + exclusiveMaximum: false + exclusiveMinimum: false + urn_samm_io.catenax.week_based_capacity_group_3.0.0_Decimal: + type: number + description: Property which is defined by a decimal value + urn_samm_io.catenax.week_based_capacity_group_3.0.0_RelativeNegativeDeviationTrait: + type: number + description: Constraint to be a value between 0 and 1. + maximum: 1 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + urn_samm_io.catenax.week_based_capacity_group_3.0.0_RollingHorizonAlertThresholdsEntity: + description: Encapsulation of the rolling horizons thresholds parameters. + type: object + properties: + sequenceNumber: + description: "Sequence number of the subhorizon \n(positive int values)" + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_MeasurementTrait' + subhorizonLength: + description: Length of the subhorizon in weeks. (Value must be >= 1) As + a subhorizon can not be shorter than one week. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_MeasurementTrait' + relativePositiveDeviation: + description: "Relative positive deviation threshold which triggers an alert;\ + \ 20% = 0,2" + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_Decimal' + relativeNegativeDeviation: + description: "Relative negative deviation threshold which triggers an alert;\ + \ -30% = 0,3" + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_RelativeNegativeDeviationTrait' + absolutePositiveDeviation: + description: Absolute positive deviation threshold which triggers an alert; + 100 (units) = 100 + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_Decimal' + absoluteNegativeDeviation: + description: Absolute negative deviation threshold which triggers an alert; + 100 (units) = 100 + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_Decimal' + required: + - sequenceNumber + - subhorizonLength + urn_samm_io.catenax.week_based_capacity_group_3.0.0_RollingHorizonAlertThresholdsSet: + description: A set of subhorizons for which different demand volatility thresholds + can be maintained. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_RollingHorizonAlertThresholdsEntity' + uniqueItems: true + urn_samm_io.catenax.week_based_capacity_group_3.0.0_DemandVolatilityCharacteristic: + description: The characteristics of the demand volatility parameterization. + type: object + properties: + startReferenceDateTime: + description: |- + Point in time when the measurement starts on supplier side. It needs to be a point in time after the receival of active flag. + This point in time marks the beginning of the first reporting interval. It is also the time of the first week for the rolling sub horizons for alert generation. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + measurementInterval: + description: |- + Indicates the length of intervals in weeks. + The first interval starts with the point in time given by the “startReferenceDateTime”. The second interval starts [Value] week (s) after this. And so on. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_MeasurementTrait' + rollingHorizonAlertThresholds: + description: |- + Contains the Parameters that define subhorizons in sequence and length to enable different alert thresholds (per week) over time. + The total length of the DCM horizon is 104 weeks. It can be split into subhorizons. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_RollingHorizonAlertThresholdsSet' + required: + - startReferenceDateTime + - measurementInterval + WeekBasedCapacityGroup: + description: An entity made up of the weekly actual and maximum capacities for + a specific customer in a given time period. A capacity group is used to compare + demand and capacity data for one or several similar bundled materials in a + defined unit of measure. + type: object + properties: + capacityGroupId: + description: The Capacity Group ID uniquely identifies the capacity group + within the business relationship between a supplier and its customer. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + name: + description: Name of the capacity group. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_CapacityGroupName' + supplierLocations: + description: Set of BPNS indicating the supplier sites that will be fulfilling the demands associated with this capacity group. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_SupplierLocationsCharacteristic' + customer: + description: The Business Partner Number (BPNL) of the party requesting + materials from a supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + supplier: + description: The Business Partner Number (BPNL) of the party providing materials to a customer. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + unitOfMeasure: + description: Unit of measurement for capacity quantities. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration' + linkedDemandSeries: + description: Set of demand series assigned to this capacity group. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedDemandSeriesSet' + capacities: + description: A time series with week-based granularity along a given time + period containing the capacity values. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_CapacityTimeSeries' + changedAt: + description: "Point in time when the content (any property according to\ + \ the data model) of the capacity group was changed, at the supplier,\ + \ either by a human user or an automated process." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_Timestamp' + linkedCapacityGroups: + description: A set of capacity groups linked to this capacity group. This + set contains all children capacity groups of the current capacity group + in an unidirectional path. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_LinkedCapacityGroupsCharacteristic' + unitOfMeasureIsOmitted: + description: Explicit indicator of whether the unit of measure is left out + of the payload intentionally. If "true" it means the sending application + sends demand values without unit of measure intentionally and the unit + of measure MUST NOT be contained in the payload. If "false" a unit of + measure MUST be supplied. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + demandVolatilityParameters: + description: The parameters to calibrate the measuring of demand volatility. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_capacity_group_3.0.0_DemandVolatilityCharacteristic' + capacityGroupIsInactive: + description: Indicates that this capacity group is currently not in use/maintained + by the supplier. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + required: + - capacityGroupId + - name + - customer + - supplier + - changedAt + - unitOfMeasureIsOmitted + - capacityGroupIsInactive + InformationObject: + description: Bundles all business objects in this property. + type: array + items: + $ref: '#/components/schemas/WeekBasedCapacityGroup' + uniqueItems: true + Content: + description: Object to bundle all transferred business objects. + type: object + properties: + informationObject: + description: Property to collect all transferred business objects. + $ref: '#/components/schemas/InformationObject' + WeekBasedCapacityGroupWithHeader: + description: An entity that combines the WeekBasedCapacityGroup with the message header data model in order to be compliant with the DCM standard for the exchange of a capacity groups. + type: object + properties: + messageHeader: + description: The Capacity Group ID uniquely identifies the capacity group + within the business relationship between a supplier and its customer. + $ref: '#/components/schemas/MessageHeaderAspect' + content: + description: Bundles all business objects in this property. + $ref: '#/components/schemas/Content' + requestBodies: + WeekBasedCapacityGroup: + content: + application/json: + schema: + $ref: '#/components/schemas/WeekBasedCapacityGroupWithHeader' \ No newline at end of file diff --git a/openApi/dcm/WeekBasedMaterialDemand.yaml b/openApi/dcm/WeekBasedMaterialDemand.yaml new file mode 100644 index 00000000000..30de6d120c7 --- /dev/null +++ b/openApi/dcm/WeekBasedMaterialDemand.yaml @@ -0,0 +1,443 @@ +--- +openapi: 3.0.3 +info: + title: Catena-X DCM Week Based Material Demand + description: Open API documentation for the Catena-X DCM Week Based Material Demand + version: 3.0.0 +paths: + /internal-dcm-application-week-based-material-demand-post-endpoint: + post: + tags: + - WeekBasedMaterialDemand + operationId: postWeekBasedMaterialDemand + description: Endpoint to receive a Week Based Material Demand with header information from a Catena-X DCM partner. + requestBody: + $ref: '#/components/requestBodies/WeekBasedMaterialDemand' + responses: + "200": + description: OK + "201": + description: Created + "400": + description: Bad request + "401": + description: Unauthorized + "403": + description: Forbidden + "405": + description: Method not allowed + "422": + description: Unprocessable Entity + "503": + description: Service Unavailable +components: + schemas: + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic: + description: Characteristic describing the common shared aspect Message Header + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + MessageHeaderAspect: + description: Aspect model describing the shared message header. + type: object + properties: + header: + description: Contains standardized attributes for message processing common + across several use cases. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_HeaderCharacteristic' + required: + - header + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnsTrait: + type: string + description: "The provided regular expression ensures that the BPNS is composed\ + \ of prefix 'BPNS', 10 digits and two alphanumeric letters." + pattern: "^BPNS[a-zA-Z0-9]{12}$" + DemandCategoryDefault: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - '0001' + required: + - demandCategoryCode + DemandCategoryAfterSales: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - A1S1 + required: + - demandCategoryCode + DemandCategorySeries: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - SR99 + required: + - demandCategoryCode + DemandCategoryPhaseInPeriod: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - PI01 + required: + - demandCategoryCode + DemandCategorySingleOrder: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - OS01 + required: + - demandCategoryCode + DemandCategorySmallSeries: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - OI01 + required: + - demandCategoryCode + DemandCategoryExtraordinaryDemand: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - ED01 + required: + - demandCategoryCode + DemandCategoryPhaseOutPeriod: + type: object + properties: + demandCategoryCode: + description: The code identifying a demand category. + type: string + enum: + - PO01 + required: + - demandCategoryCode + urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandCategoryCharacteristic: + description: The classification of demands used for prioritization or allocation. + type: object + oneOf: + - $ref: '#/components/schemas/DemandCategoryDefault' + - $ref: '#/components/schemas/DemandCategoryAfterSales' + - $ref: '#/components/schemas/DemandCategorySeries' + - $ref: '#/components/schemas/DemandCategoryPhaseInPeriod' + - $ref: '#/components/schemas/DemandCategorySingleOrder' + - $ref: '#/components/schemas/DemandCategorySmallSeries' + - $ref: '#/components/schemas/DemandCategoryExtraordinaryDemand' + - $ref: '#/components/schemas/DemandCategoryPhaseOutPeriod' + urn_samm_io.catenax.week_based_material_demand_3.0.0_QuantityTrait: + type: number + description: Constraint to ensure a non-negative value for quantities. + maximum: 999999999999999999.999 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + urn_samm_io.catenax.week_based_material_demand_3.0.0_PointInTimeCharacteristic: + type: string + format: date + description: |- + - If demand rate is "calendar week": An ISO calendar week in which a given demand is needed. Must be given as date of the Monday in the week. (ISO-8601-1:2019) + - If demand rate is "day": An ISO day on which a given demand is needed. Must be given as single day (consider the time zone of the customer's location). (ISO-8601) + urn_samm_io.catenax.week_based_material_demand_3.0.0_Demand: + description: A single demand for a given point in time according to the demand + rate. + type: object + properties: + demand: + description: ' Quantity of materials required in the specified point in + time according specified demand rate. This demand should be as close as + possible to demand that is derived from the actual production program.' + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_QuantityTrait' + pointInTime: + description: Defines the start of the demand rate as a point in time. The + point in time must be interpreted according to the demand rate. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_PointInTimeCharacteristic' + required: + - demand + - pointInTime + urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandDateSeries: + description: The demands in a given time period for a given demand rate. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_Demand' + uniqueItems: true + urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandSeries: + description: Encapsulates the demand series related information. + type: object + properties: + customerLocation: + description: The Business Partner Number Site (BPNS) of the site at which + the customer needs the specified material for this demand series. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnsTrait' + demandCategory: + description: Type of demand for this demand series. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandCategoryCharacteristic' + demands: + description: A time series with a specified demand rate along a given time + period to describe the demand values for this demand series. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandDateSeries' + expectedSupplierLocation: + description: The Business Partner Number Site (BPNS) of the site from where + the customer expects the supplier to fulfill the demands of the demand + series. The value is used for informational purposes only and is therefore + not binding for the supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnsTrait' + required: + - customerLocation + - demandCategory + - demands + urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandSeriesSet: + description: A set of demand series belonging to a certain material demand. + Each demand series in the set must have a unique combination of customer location + and demand category. + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandSeries' + uniqueItems: true + urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration: + type: string + pattern: "[a-zA-Z]*:[a-zA-Z]+" + description: Enumeration for common item units. + enum: + - unit:piece + - unit:set + - unit:pair + - unit:page + - unit:cycle + - unit:kilowattHour + - unit:gram + - unit:kilogram + - unit:tonneMetricTon + - unit:tonUsOrShortTonUkorus + - unit:ounceAvoirdupois + - unit:pound + - unit:metre + - unit:centimetre + - unit:kilometre + - unit:inch + - unit:foot + - unit:yard + - unit:squareCentimetre + - unit:squareMetre + - unit:squareInch + - unit:squareFoot + - unit:squareYard + - unit:cubicCentimetre + - unit:cubicMetre + - unit:cubicInch + - unit:cubicFoot + - unit:cubicYard + - unit:litre + - unit:millilitre + - unit:hectolitre + - unit:secondUnitOfTime + - unit:minuteUnitOfTime + - unit:hourUnitOfTime + - unit:day + urn_samm_io.catenax.week_based_material_demand_3.0.0_MaterialNumber: + type: string + description: "The material number is a multi-character string, usually assigned\ + \ by an ERP system." + urn_samm_io.catenax.week_based_material_demand_3.0.0_MaterialDescription: + type: string + description: Description of a material demand. + urn_samm_io.catenax.week_based_material_demand_3.0.0_Timestamp: + type: string + format: date-time + description: Point in time. + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean: + type: boolean + description: Represents a boolean value (i.e. a "flag"). + WeekBasedMaterialDemand: + description: "The requirements of a customer towards a specific supplier for\ + \ a specific material. Each material demand is unique by its Customer, Supplier\ + \ and Material Number." + type: object + properties: + materialDemandId: + description: The Material Demand ID uniquely identifies the material demand + within the business relationship between a customer and its supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + demandSeries: + description: "The demands for a dedicated material in a given time period\ + \ of a given demand rate, distinguished by their demand location and demand\ + \ category." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_DemandSeriesSet' + customer: + description: The Business Partner Number Legal Entity (BPNL) of the party + requesting materials from a supplier. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + supplier: + description: The Business Partner Number Legal Entity (BPNL) of the party + providing materials to a customer. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + unitOfMeasure: + description: Unit of measurement for demand quantities. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_ItemUnitEnumeration' + materialNumberCustomer: + description: Material identifier as assigned by customer. This material + number identifies the material (as planned) in customer's database. Must + be unique for each Material Demand in the customer-supplier relationship. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_MaterialNumber' + materialNumberSupplier: + description: Material identifier as assigned by supplier. This material + number identifies the material (as planned) in supplier's database. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_MaterialNumber' + materialDescriptionCustomer: + description: Description of the material. + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_MaterialDescription' + changedAt: + description: "Point in time when the content (any property according to\ + \ the data model) of the material demand was changed, at the customer,\ + \ either by a human user or an automated process." + $ref: '#/components/schemas/urn_samm_io.catenax.week_based_material_demand_3.0.0_Timestamp' + materialGlobalAssetId: + description: Identifier used uniquely to identify part type twin. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + unitOfMeasureIsOmitted: + description: Explicit indicator of whether the unit of measure is left out + of the payload intentionally. If "true" it means the sending application + sends demand values without unit of measure intentionally and the unit + of measure MUST NOT be contained in the payload. If "false" a unit of + measure MUST be supplied. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + materialDemandIsInactive: + description: Indicates that this material demand is currently not in use/maintained + by the supplier. + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Boolean' + required: + - materialDemandId + - demandSeries + - customer + - supplier + - materialNumberCustomer + - materialDescriptionCustomer + - changedAt + - unitOfMeasureIsOmitted + - materialDemandIsInactive + InformationObject: + description: Bundles all business objects in this property. + type: array + items: + $ref: '#/components/schemas/WeekBasedMaterialDemand' + uniqueItems: true + Content: + description: Object to bundle all transferred business objects. + type: object + properties: + informationObject: + description: Property to collect all transferred business objects. + $ref: '#/components/schemas/InformationObject' + WeekBasedMaterialDemandWithHeader: + description: An entity that combines the WeekBasedMaterialDemand with the message header data model in order to be compliant with the DCM standard for the exchange of a material demand. + type: object + properties: + messageHeader: + description: The Capacity Group ID uniquely identifies the capacity group + within the business relationship between a supplier and its customer. + $ref: '#/components/schemas/MessageHeaderAspect' + content: + description: Bundles all business objects in this property. + $ref: '#/components/schemas/Content' + requestBodies: + WeekBasedMaterialDemand: + content: + application/json: + schema: + $ref: '#/components/schemas/WeekBasedMaterialDemandWithHeader' \ No newline at end of file diff --git a/openApi/dt/submodel-service-ssp003-openapi.yaml b/openApi/dt/kit_digital-twin-kit-submodel-api_openAPI.yaml similarity index 100% rename from openApi/dt/submodel-service-ssp003-openapi.yaml rename to openApi/dt/kit_digital-twin-kit-submodel-api_openAPI.yaml diff --git a/openApi/pcf/catena-x-pcf-endpoint-0_0_3.yaml b/openApi/pcf/catena-x-pcf-endpoint-0_0_3.yaml deleted file mode 100644 index aab1f34fe12..00000000000 --- a/openApi/pcf/catena-x-pcf-endpoint-0_0_3.yaml +++ /dev/null @@ -1,1144 +0,0 @@ -openapi: 3.0.0 -info: - title: Catena-X-pcf-request-endpoint - version: 0.0.3 -paths: - /productIds/{productId}: - get: - operationId: get_pcf - parameters: - - name: productId - description: ID of the product/material the PCF is requested for - example: SomeProductID - in: path - required: true - schema: - type: string - - name: BPN - description: The caller's Catena-X BusinessPartnerNumber - example: BPN9354218404L - in: query - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the call (will be referenced in corresponding PCF - response) - example: X374e9453K - in: query - required: true - schema: - type: string - - name: message - in: query - required: false - description: URL encoded, max 250 chars - example: No%20offset%20included%2C%20please%21 - schema: - type: string - responses: - '202': - description: PCF was accepted. PCF will be sent later via to POST endpoint. - put: - operationId: set_pcf - parameters: - - name: productId - description: ID of the product/material the PCF referring to - example: SomeProductID - in: path - required: true - schema: - type: string - - name: BPN - description: The caller's Catena-X BusinessPartnerNumber - example: BPN83456784L - in: query - required: true - schema: - type: string - - name: requestId - description: >- - ID identifying the request call (same as within original PCF - request), if the PUT is responding to a call. Can be dismissed in a - PCF update call. - example: X374e9453K - in: query - required: false - schema: - type: string - requestBody: - description: The requested PCF in WBCSD format - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ProductFootprintResponse' - responses: - '200': - description: '' -components: - schemas: - ProductFootprintResponse: - description: >- - A Product (Carbon) Footprint represents the carbon footprint of a - product with values as specified in the Catena-X PCF Rulebook in - accordance with the WBCSD (World Business Council for Sustainable - Development) Pathfinder framework and the technical specifications for - PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. - type: object - properties: - id: - description: >- - The product footprint identifier as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_IdTrait' - specVersion: - description: >- - Version of the product footprint data specification as defined in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - partialFullPcf: - description: >- - Indicator for partial or full PCF (Product Carbon Footprint) - declaration as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PartialFullPcfCharacteristic - precedingPfIds: - description: >- - Set of preceding PCF (Product Carbon Footprint) identifiers without - duplicates as specified in the Catena-X PCF Rulebook in accordance - with the WBCSD (World Business Council for Sustainable Development) - Pathfinder framework and the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared - as "optional" in WBCSD, needs to be covered by application. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PrecedingPfIdsTrait - version: - description: >- - Version of the product (carbon) footprint as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X for example set to "0" per default. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductFootprintVersion - created: - description: >- - Timestamp of the creation of the Product (Carbon) Footprint as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp - extWBCSD_pfStatus: - description: >- - Status indicator of a product (carbon) footprint as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example set to - "Active" per default. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PfStatusCharacteristic - validityPeriodStart: - description: >- - Start of interval during which the product (carbon) footprint is - declared as valid as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. If specified, the - validity period start must be equal to or greater than the reference - period end. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp - validityPeriodEnd: - description: >- - End of interval during which the product (carbon) footprint is - declared as valid as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp - comment: - description: >- - Additional information and instructions related to the calculation - of the product (carbon) footprint as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - companyName: - description: >- - Name of the product (carbon) footprint data owner as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_NonEmptyStringTrait - companyIds: - description: >- - Non-empty set of Uniform Resource Names (URN). Each value is - supposed to uniquely identify the product (carbon) footprint data - owner as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CompanyIdsTrait' - productDescription: - description: >- - Free-form description of the product as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - productIds: - description: >- - Non-empty set of product identifiers. Each value is supposed to - uniquely identify the product as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductIdsTrait' - extWBCSD_productCodeCpc: - description: >- - UN (United Nations) Product Classification Code (CPC - Central - Classification Code) of a given product as specified the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, which will probably be - declared as "optional" in a later WBCSD specification version. In - Catena-X for example specified with default value "011-99000". - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - productName: - description: >- - Non-empty trade name of a product as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_NonEmptyStringTrait - pcf: - description: >- - A PCF (Product Carbon Footprint) represents the carbon footprint of - a product and related data as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PcfEntity' - pcfLegalStatement: - description: >- - Option for legal statement/ disclaimer as specified in the Catena-X - PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - required: - - id - - specVersion - - partialFullPcf - - version - - created - - extWBCSD_pfStatus - - companyName - - companyIds - - productIds - - extWBCSD_productCodeCpc - - productName - - pcf - urn_bamm_io.catenax.pcf_4.0.0_IdTrait: - type: string - description: Constraint for defining a UUID v4 identifier. - pattern: >- - ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ - urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text: - type: string - description: >- - Describes a Property which contains plain text. This is intended - exclusively for human readable strings, not for identifiers, measurement - values, etc. - urn_bamm_io.catenax.pcf_4.0.0_PartialFullPcfCharacteristic: - type: string - description: >- - Characteristic for defining an indicator for partial or full PCF - (Product Carbon Footprint) declaration as specified in the Catena-X PCF - Rulebook. - enum: - - Cradle-to-gate - - Cradle-to-grave - urn_bamm_io.catenax.pcf_4.0.0_PrecedingPfId: - description: >- - Entity for defining a preceding PCF (Product Carbon Footprint) - identifier entity as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - id: - description: >- - The product footprint identifier as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_IdTrait' - required: - - id - urn_bamm_io.catenax.pcf_4.0.0_PrecedingPfIdsTrait: - description: >- - Constraint for defining a non-empty set of product (carbon) footprint - identifiers as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - type: array - items: - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PrecedingPfId' - uniqueItems: true - minItems: 1 - urn_bamm_io.catenax.pcf_4.0.0_ProductFootprintVersion: - type: number - minimum: 1 - description: >- - Characteristic for defining a product footprint version as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp: - type: string - pattern: >- - -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))? - description: >- - Describes a Property which contains the date and time with an optional - timezone. - urn_bamm_io.catenax.pcf_4.0.0_PfStatusCharacteristic: - type: string - description: >- - Characteristic for defining a status indicator of a product (carbon) - footprint as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Enumeration with possible "Active" and "Deprecated". - enum: - - Active - - Deprecated - urn_bamm_io.catenax.pcf_4.0.0_NonEmptyStringTrait: - type: string - description: Constraint for ensuring that a string has at least one character. - minLength: 1 - urn_bamm_io.catenax.pcf_4.0.0_CompanyIdCharacteristic: - type: string - format: uri - description: >- - Characteristic for defining a company identifier in context of a product - (carbon) footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - urn_bamm_io.catenax.pcf_4.0.0_CompanyId: - description: >- - Company identifier in context of a product (carbon) footprint which must - be declared as URN (Uniform Resource Name) as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: object - properties: - companyId: - description: >- - Identifier of a company in context of a product (carbon) footprint - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CompanyIdCharacteristic - required: - - companyId - urn_bamm_io.catenax.pcf_4.0.0_CompanyIdsTrait: - description: >- - Constraint for defining a non-empty set of company identifiers as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CompanyId' - uniqueItems: true - minItems: 1 - urn_bamm_io.catenax.pcf_4.0.0_ProductIdCharacteristic: - type: string - format: uri - description: >- - Characteristic for defining a product identifier in context of a product - (carbon) footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - urn_bamm_io.catenax.pcf_4.0.0_ProductId: - description: >- - Identifier of a product in context of a product (carbon) footprint as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: object - properties: - productId: - description: >- - Identifier of a product in context of a product (carbon) footprint - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductIdCharacteristic - required: - - productId - urn_bamm_io.catenax.pcf_4.0.0_ProductIdsTrait: - description: >- - Constraint for defining a non-empty set of product identifiers as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductId' - uniqueItems: true - minItems: 1 - urn_bamm_io.catenax.pcf_4.0.0_DeclaredUnitCharacteristic: - type: string - description: >- - Unit of analysis of the product with accepted values as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. For countable - products/ components/ materials, Catena-X for example adds the unit - "piece" to the value list specified by WBCSD. - enum: - - liter - - kilogram - - cubic meter - - kilowatt hour - - megajoule - - ton kilometer - - square meter - - piece - urn_bamm_io.catenax.pcf_4.0.0_StrictlyPositiveDecimalTrait: - type: number - description: Constraint for defining a positive, non-zero decimal. - minimum: 0 - exclusiveMinimum: true - urn_bamm_io.catenax.pcf_4.0.0_PositiveDecimalWeightTrait: - type: number - description: Constraint for defining a decimal equal to or greater than zero. - minimum: 0 - exclusiveMinimum: false - urn_bamm_io.catenax.pcf_4.0.0_ExemptedEmissionsPercentTrait: - type: number - description: >- - Characteristic for defining the percentage of emissions excluded from a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - maximum: 5 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_bamm_io.catenax.pcf_4.0.0_GeographyCountrySubdivisionTrait: - type: string - description: >- - Constraint for defining a geography country subdivision in compliance to - ISO 3166-2 as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) - urn_bamm_io.catenax.pcf_4.0.0_GeographyCountryTrait: - type: string - description: >- - Constraint for defining a geography country conform to ISO 3166CC as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - pattern: ([A-Z]{2}) - urn_bamm_io.catenax.pcf_4.0.0_GeographyRegionOrSubregionCharacteristic: - type: string - description: >- - Characteristic for defining a list of valid geographic regions as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - In Catena-X for example "Global" has been added to the value list. - enum: - - Africa - - Americas - - Asia - - Europe - - Oceania - - Australia and New Zealand - - Central Asia - - Eastern Asia - - Eastern Europe - - Latin America and the Caribbean - - Melanesia - - Micronesia - - Northern Africa - - Northern America - - Northern Europe - - Polynesia - - South-eastern Asia - - Southern Asia - - Southern Europe - - Sub-Saharan Africa - - Western Asia - - Western Europe - - Global - urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic: - type: string - description: >- - Characteristic for defining the enumeration of valid accounting - standards used for product carbon footprint calculation as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - enum: - - GHG Protocol Product standard - - ISO Standard 14067 - - ISO Standard 14044 - urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandard: - description: >- - Entity for defining an accounting standard used for product carbon - footprint calculation as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - crossSectoralStandard: - description: >- - Discloses a cross-sectoral standard applied for calculating or - allocating GHG (Greenhouse Gas) emissions as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandardsUsedEnumerationCharacteristic - required: - - crossSectoralStandard - urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandardSet: - description: >- - Characteristic for defining the list of valid accounting standards used - for product carbon footprint calculation as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandard - urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRuleOperator: - type: string - description: >- - Enumeration of PCR (Product Category Rule) operators as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from the - WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension for example in Catena-X. - enum: - - PEF - - EPD International - - Other - urn_bamm_io.catenax.pcf_4.0.0_RuleName: - description: >- - Name of a rule applied by a specified operator as specified in the - Catena-X PCF Rulebook in accordance with the technical specifications - for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business - Council for Sustainable Development)/ PACT initiative. - type: object - properties: - ruleName: - description: >- - Name of a rule applied by a specific operator as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_NonEmptyStringTrait - required: - - ruleName - urn_bamm_io.catenax.pcf_4.0.0_RuleNamesTrait: - description: >- - Constraint for defining a non-empty set of rule names as specified in - the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_RuleName' - uniqueItems: true - minItems: 1 - urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRule: - description: >- - Entity for defining a product or sector specific rule of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - type: object - properties: - extWBCSD_operator: - description: >- - Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) - as specified in the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example must always be "Other". - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRuleOperator - productOrSectorSpecificRules: - description: >- - Product-specific or sector-specific set of rules used for - calculating or allocating GHG (Greenhouse Gas) emissions applied - from the specified operator as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_RuleNamesTrait' - extWBCSD_otherOperatorName: - description: >- - Other operator of PCR (Product Category Rule)/ PSR (Product Specific - Rule) as specified in the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. WBCSD specific extension, - in Catena-X for example specified by a default value. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_NonEmptyStringTrait - required: - - extWBCSD_operator - - productOrSectorSpecificRules - urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRuleSet: - description: >- - Characteristic for defining the set of product or sector specific rules - of a product carbon footprint as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: array - items: - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRule - uniqueItems: true - urn_bamm_io.catenax.pcf_4.0.0_CharacterizationFactorsCharacteristic: - type: string - description: >- - Characteristic for defining the characterization factors of a product - carbon footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. In Catena-X for example specified by a default value. - enum: - - AR5 - - AR6 - urn_bamm_io.catenax.pcf_4.0.0_AllocationWasteIncinerationCharacteristic: - type: string - description: >- - Characteristic for defining the allocation approach used for waste - incineration as specified by the TFS (Together For Sustainability) - initiative. - enum: - - cut-off - - reverse cut-off - - system expansion - urn_bamm_io.catenax.pcf_4.0.0_PercentTrait: - type: number - description: Constraint for a decimal number in the range of and including 0 and 100. - maximum: 100 - exclusiveMaximum: false - minimum: 0 - exclusiveMinimum: false - urn_bamm_io.catenax.pcf_4.0.0_EmissionFactorDS: - description: >- - Entity for defining an emission factor data source used to calculate a - product carbon footprint as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - secondaryEmissionFactorSource: - description: >- - Characteristic for defining an emission factor data source used to - calculate a product carbon footprint as specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - required: - - secondaryEmissionFactorSource - urn_bamm_io.catenax.pcf_4.0.0_EmissionFactorDSSet: - description: >- - Characteristic for defining a set of emission factor sources used for - calculating a product carbon footprint as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - type: array - items: - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_EmissionFactorDS' - uniqueItems: true - urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait: - type: number - description: Constraint for defining a decimal between 1 and 3 including. - maximum: 3 - exclusiveMaximum: false - minimum: 1 - exclusiveMinimum: false - urn_bamm_io.catenax.pcf_4.0.0_DataQualityIndicators: - description: >- - Characteristic for defining the quantitative data quality indicators of a - PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - type: object - properties: - coveragePercent: - description: >- - Percentage of PCF (Product Carbon Footprint) included in the data - quality assessment based on the >5% emissions threshold as specified - in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. In Catena-X for example set to "100" per default. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PercentTrait' - technologicalDQR: - description: >- - Technological representativeness of the sources used for PCF - (Product Carbon Footprint) calculation based on weighted average of - all inputs representing >5% of PCF emissions. Specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait' - temporalDQR: - description: >- - Temporal representativeness of the sources used for PCF (Product - Carbon Footprint) calculation based on weighted average of all - inputs representing >5% of PCF emissions. Specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait' - geographicalDQR: - description: >- - Geographical representativeness of the sources used for PCF (Product - Carbon Footprint) calculation based on weighted average of all - inputs representing >5% of PCF emissions. Specified in the Catena-X - PCF Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait' - completenessDQR: - description: >- - Completeness of the data collected for PCF (Product Carbon - Footprint) calculation based on weighted average of all inputs - representing >5% of PCF emissions. Specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait' - reliabilityDQR: - description: >- - Reliability of the data collected for PCF (Product Carbon Footprint) - calculation based on weighted average of all inputs representing >5% - of PCF emissions. Specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DqiNumberTrait' - urn_bamm_io.openmanufacturing_characteristic_2.0.0_Boolean: - type: boolean - description: Represents a boolean value (i.e. a "flag"). - urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait: - type: number - description: 'Only positive emission values (>0) are valid ' - minimum: 0 - exclusiveMinimum: false - urn_bamm_io.catenax.pcf_4.0.0_PositiveOrNegativeEmission: - type: number - description: >- - Characteristic for defining (positive or negative) emissions in context - of a PCF (Product Carbon Footprint) as specified by the WBCSD (World - Business Council for Sustainable Development) Pathfinder initiative. - urn_bamm_io.catenax.pcf_4.0.0_PcfEntity: - description: >- - Characteristic for defining a PCF (Product Carbon Footprint) as - specified in the Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT initiative. - type: object - properties: - declaredUnit: - description: >- - Unit of analysis of a product in context of the PCF (product carbon - footprint) as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. In Catena-X for example list of valid - units includes "piece". - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DeclaredUnitCharacteristic - unitaryProductAmount: - description: >- - Amount of units contained within a product in context of the PCF - (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_StrictlyPositiveDecimalTrait - productMassPerDeclaredUnit: - description: >- - Mass of a product per declared unit in context of the PCF (Product - Carbon Footprint) as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveDecimalWeightTrait - exemptedEmissionsPercent: - description: >- - Percentage of emissions excluded from PCF (Product Carbon Footprint) - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ExemptedEmissionsPercentTrait - exemptedEmissionsDescription: - description: >- - Rationale behind exclusion of specific PCF (Product Carbon - Footprint) emissions as specified in the Catena-X PCF Rulebook in - accordance with the technical specifications for PCF Data Exchange - (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - boundaryProcessesDescription: - description: >- - Processes attributable to each lifecycle stage as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - geographyCountrySubdivision: - description: >- - Subdivision of a country which must be an ISO 3166-2 subdivision - code as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_GeographyCountrySubdivisionTrait - geographyCountry: - description: >- - Two letter country code that must conform to data type ISO 3166CC as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_GeographyCountryTrait - geographyRegionOrSubregion: - description: >- - Region according to list as specified in the Catena-X PCF Rulebook - in accordance with the technical specifications for PCF Data - Exchange (Version 2.0.0) from the WBCSD (World Business Council for - Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_GeographyRegionOrSubregionCharacteristic - referencePeriodStart: - description: >- - Start of time boundary for which a PCF (Product Carbon Footprint) - value is considered to be representative as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp - referencePeriodEnd: - description: >- - End of time boundary for which a PCF (Product Carbon Footprint) - value is considered to be representative as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Timestamp - crossSectoralStandardsUsed: - description: >- - Discloses the cross-sectoral standards applied for calculating or - allocating GHG (Greenhouse Gas) emissions as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CrossSectoralStandardSet - productOrSectorSpecificRules: - description: >- - Product or sector specific rules applied for calculating or - allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product - Category Rules), including operators or publishers and according rule - names as specified in the Catena-X PCF Rulebook in accordance with - the technical specifications for PCF Data Exchange (Version 2.0.0) - from the WBCSD (World Business Council for Sustainable Development)/ - PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_ProductOrSectorSpecificRuleSet - extWBCSD_characterizationFactors: - description: >- - IPCC (Intergovernmental Panel on Climate Change) version of the GWP - (Global Warming Potential) characterization factors used for - calculating the PCF (Product Carbon Footprint) as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "AR6". - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_CharacterizationFactorsCharacteristic - extWBCSD_allocationRulesDescription: - description: >- - Allocation rules used and underlying reasoning in context of a - product carbon footprint as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example - specified by default with value "In accordance with Catena-X PCF - Rulebook". - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Text - extTFS_allocationWasteIncineration: - description: >- - Allocation approach used for waste incineration with energy recovery - as specified by the TFS (Together For Sustainability) initiative. In - Catena-X for example must be specified by value "cut-off". - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_AllocationWasteIncinerationCharacteristic - primaryDataShare: - description: >- - Share of primary data in percent as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: '#/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PercentTrait' - secondaryEmissionFactorSources: - description: >- - Emission factors used for the PCF (Product Carbon Footprint) - calculation as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_EmissionFactorDSSet - dataQualityRating: - description: >- - Quantitative data quality indicators of a PCF (Product Carbon - Footprint) as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_DataQualityIndicators - extWBCSD_packagingEmissionsIncluded: - description: >- - Flag indicating whether packaging emissions are included in a PCF - (Product Carbon Footprint) as specified in the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example value - is "TRUE" per default. - $ref: >- - #/components/schemas/urn_bamm_io.openmanufacturing_characteristic_2.0.0_Boolean - pcfExcludingBiogenic: - description: >- - Product carbon footprint of a product excluding biogenic emissions - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - pcfIncludingBiogenic: - description: >- - Product carbon footprint of a product including biogenic emissions - as specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. Optional value in current specification version but will - be mandatory in future version. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveOrNegativeEmission - fossilGhgEmissions: - description: >- - Emissions from combustion of fossil sources as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. Identical to "pcfExcludingBiogenic", will be removed in - later version. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - biogenicCarbonEmissionsOtherThanCO2: - description: >- - GWP (Global Warming Potential) of biogenic CO2e-emissions in - production phase which contain only GHG (Greenhouse Gas) emissions - other than CO2 - excludes biogenic CO2. For specification see - Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - biogenicCarbonWithdrawal: - description: >- - Biogenic carbon content in the product converted to CO2e as - specified in the Catena-X PCF Rulebook in accordance with the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveDecimalWeightTrait - dlucGhgEmissions: - description: >- - Direct land use change CO2e emissions in context of a product carbon - footprint as specified in the Catena-X PCF Rulebook in accordance - with the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - extTFS_luGhgEmissions: - description: >- - Land use CO2 emissions in context of a product carbon footprint as - specified by the TFS (Together For Sustainability) initiative. TFS - specific extension. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - aircraftGhgEmissions: - description: >- - GHG (Greenhouse Gas) emissions resulting from aircraft engine usage - for the transport of the product as specified in the Catena-X PCF - Rulebook in accordance with the technical specifications for PCF - Data Exchange (Version 2.0.0) from the WBCSD (World Business Council - for Sustainable Development)/ PACT initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - extWBCSD_packagingGhgEmissions: - description: >- - Emissions resulting from the packaging of the product as specified - in the technical specifications for PCF Data Exchange (Version - 2.0.0) from the WBCSD (World Business Council for Sustainable - Development)/ PACT initiative. WBCSD specific extension, in Catena-X - for example value is zero per default. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - distributionStagePcfExcludingBiogenic: - description: >- - Product carbon footprint for the distribution stage of a product - excluding biogenic emissions as specified in the Catena-X PCF - Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - distributionStagePcfIncludingBiogenic: - description: >- - Product carbon footprint for the distribution stage of a product - including biogenic emissions as specified in the Catena-X PCF - Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveOrNegativeEmission - distributionStageFossilGhgEmissions: - description: >- - Emissions from the combustion of fossil sources in the distribution - stage as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonEmissionsOtherThanCO2: - description: >- - GWP (Global Warming Potential) of biogenic CO2e-emissions in - distribution phase which contain only GHG (Greenhouse Gas) emissions - other than CO2 ? excludes biogenic CO2. For specification see - Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - distributionStageBiogenicCarbonWithdrawal: - description: >- - GWP (Global Warming Potential) of biogenic CO2-withdrawal in - distribution stage (biogenic CO2 contained in the product) as - specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - extTFS_distributionStageDlucGhgEmissions: - description: >- - Direct land use change CO2 emissions during distribution stage in - context of a product carbon footprint as specified in the Catena-X - PCF Rulebook. TFS specific extension. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - extTFS_distributionStageLuGhgEmissions: - description: >- - Land use CO2 emissions in context of a product carbon footprint as - specified by the TFS (Together For Sustainability) initiative. TFS - specific extension. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - carbonContentTotal: - description: >- - Total carbon content per declared unit in context of a product - carbon footprint as specified in the Catena-X PCF Rulebook. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - extWBCSD_fossilCarbonContent: - description: >- - Fossil carbon amount embodied in a product as specified in the - technical specifications for PCF Data Exchange (Version 2.0.0) from - the WBCSD (World Business Council for Sustainable Development)/ PACT - initiative. WBCSD specific extension, in Catena-X for example - specified by a calculated value. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - carbonContentBiogenic: - description: >- - Biogenic carbon amount embodied in a product as specified in the - Catena-X PCF Rulebook in accordance with the technical - specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD - (World Business Council for Sustainable Development)/ PACT - initiative. - $ref: >- - #/components/schemas/urn_bamm_io.catenax.pcf_4.0.0_PositiveEmissionsTrait - required: - - declaredUnit - - unitaryProductAmount - - productMassPerDeclaredUnit - - exemptedEmissionsPercent - - referencePeriodStart - - referencePeriodEnd - - crossSectoralStandardsUsed - - extWBCSD_characterizationFactors - - extTFS_allocationWasteIncineration - - secondaryEmissionFactorSources - - extWBCSD_packagingEmissionsIncluded - - pcfExcludingBiogenic - - extWBCSD_packagingGhgEmissions diff --git a/openApi/pcf/catena-x-pcf-endpoint-1_1_1.yaml b/openApi/pcf/catena-x-pcf-endpoint-1_1_1.yaml new file mode 100644 index 00000000000..0401c7b8187 --- /dev/null +++ b/openApi/pcf/catena-x-pcf-endpoint-1_1_1.yaml @@ -0,0 +1,676 @@ +openapi: 3.0.0 +info: + title: Catena-X-pcf-request-endpoint + version: 1.1.1 +paths: + /productIds/{productId}: + get: + operationId: get_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF is requested for + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the call (will be referenced in corresponding PCF response) + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: true + schema: + type: string + - name: message + in: query + required: false + description: URL encoded, max 250 chars + example: No%20offset%20included%2C%20please%21 + schema: + type: string + responses: + '202': + description: PCF was accepted. PCF will be sent later via to POST endpoint. + put: + operationId: set_pcf + parameters: + - name: Edc-Bpn + description: The caller's Catena-X BusinessPartnerNumber + example: BPNL0000005AMPL3 + in: header + required: true + schema: + type: string + - name: productId + description: ID of the product/materiual the PCF referring to + example: urn:id:8534x67 + in: path + required: true + schema: + type: string + - name: requestId + description: ID identifying the request call (same as within original PCF request), if the PUT is responing to a call. Can be dismissed in a PCF update call. + example: 2daa49aa-ee16-4df3-bca3-69ddead40419 + in: query + required: false + schema: + type: string + requestBody: + description: The requested PCF in WBCSD format + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProductFootprintResponse' + responses: + '200': + description: '' +components: + schemas: + ProductFootprintResponse: + description: A Product (Carbon) Footprint represents the carbon footprint of a product with values as specified in the Catena-X PCF Rulebook in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + specVersion: + description: 'Mandatory: Version of the product footprint data specification as defined in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#specVersion + $ref: '#/components/schemas/Text' + partialFullPcf: + description: 'Mandatory: Indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#partialFullPcf + $ref: '#/components/schemas/PartialFullPcfCharacteristic' + precedingPfIds: + description: 'Optional: Set of preceding PCF (Product Carbon Footprint) identifiers without duplicates as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. Declared as "optional" in WBCSD, needs to be covered by application.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#precedingPfIds + $ref: '#/components/schemas/PrecedingPfIdsCharacteristic' + version: + description: 'Mandatory: Version of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "0" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#version + $ref: '#/components/schemas/ProductFootprintVersion' + created: + description: 'Mandatory: Timestamp of the creation of the Product (Carbon) Footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#created + $ref: '#/components/schemas/Timestamp' + extWBCSD_pfStatus: + description: 'Mandatory: Status indicator of a product (carbon) footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example set to "Active" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#status + $ref: '#/components/schemas/PfStatusCharacteristic' + validityPeriodStart: + description: 'Optional: Start of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. If specified, the validity period start must be equal to or greater than the reference period end.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodStart + $ref: '#/components/schemas/Timestamp' + validityPeriodEnd: + description: 'Optional: End of interval during which the product (carbon) footprint is declared as valid as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#validityPeriodEnd + $ref: '#/components/schemas/Timestamp' + comment: + description: 'Optional: Additional information and instructions related to the calculation of the product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#comment + $ref: '#/components/schemas/Text' + companyName: + description: 'Mandatory: Name of the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyName + $ref: '#/components/schemas/NonEmptyStringTrait' + companyIds: + description: "Mandatory: Non-empty set of Uniform Resource Names (URN). Each value is supposed to uniquely identify the product (carbon) footprint data owner as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For Catena-X Industry Core compliance the set of URNs must contain at least the Business Partner Number Legal Entity (BPNL) in the specified format urn:bpn:id:BPNL[a-zA-Z0-9]{12}.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#companyIds + $ref: '#/components/schemas/IdsTrait' + productDescription: + description: 'Optional: Free-form description of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productDescription + $ref: '#/components/schemas/Text' + productIds: + description: 'Mandatory: Non-empty set of product identifiers. Each value is supposed to uniquely identify the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productId corresponds with Industry Core manufacturerPartId.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productIds + $ref: '#/components/schemas/IdsTrait' + extWBCSD_productCodeCpc: + description: 'Mandatory: UN (United Nations) Product Classification Code (CPC - Central Classification Code) of a given product as specified the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, which will probably be declared as "optional" in a later WBCSD specification version. In Catena-X for example specified with default value "011-99000".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productCategoryCpc + $ref: '#/components/schemas/Text' + productName: + description: "Mandatory: Non-empty trade name of a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X productNameCompany corresponds with Industry Core nameAtManufacturer.\_" + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productNameCompany + $ref: '#/components/schemas/NonEmptyStringTrait' + pcf: + description: A PCF (Product Carbon Footprint) represents the carbon footprint of a product and related data as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcf + $ref: '#/components/schemas/CarbonFootprint' + pcfLegalStatement: + description: 'Optional: Option for legal statement/ disclaimer as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfLegalStatement + $ref: '#/components/schemas/Text' + required: + - id + - specVersion + - partialFullPcf + - version + - created + - extWBCSD_pfStatus + - companyName + - companyIds + - productIds + - extWBCSD_productCodeCpc + - productName + - pcf + UuidV4Trait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.shared.uuid:2.0.0#UuidV4Trait + description: The provided regular expression ensures that the UUID is composed of five groups of characters separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens), optionally prefixed by "urn:uuid:" to make it an IRI. + pattern: (^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$) + Text: + type: string + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Text + description: Describes a Property which contains plain text. This is intended exclusively for human readable strings, not for identifiers, measurement values, etc. + PartialFullPcfCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PartialFullPcfCharacteristic + description: Characteristic for defining an indicator for partial or full PCF (Product Carbon Footprint) declaration as specified in the Catena-X PCF Rulebook (Version 3.0.0). + enum: + - Cradle-to-gate + - Cradle-to-grave + PrecedingPfId: + description: Entity for defining a preceding PCF (Product Carbon Footprint) identifier entity as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfId + type: object + properties: + id: + description: 'Mandatory: The product footprint identifier as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#id + $ref: '#/components/schemas/UuidV4Trait' + required: + - id + PrecedingPfIdsCharacteristic: + description: Characteristic for defining a non-empty set of product (carbon) footprint identifiers as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the WBCSD (World Business Council for Sustainable Development) Pathfinder framework and the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PrecedingPfIdsCharacteristic + type: array + items: + $ref: '#/components/schemas/PrecedingPfId' + ProductFootprintVersion: + type: number + minimum: 0 + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductFootprintVersion + description: Characteristic for defining a product footprint version as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + Timestamp: + type: string + pattern: '-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?' + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Timestamp + description: Describes a Property which contains the date and time with an optional timezone. + PfStatusCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PfStatusCharacteristic + description: Characteristic for defining a status indicator of a product (carbon) footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Enumeration with possible "Active" and "Deprecated". + enum: + - Active + - Deprecated + NonEmptyStringTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NonEmptyStringTrait + description: Constraint for ensuring that a string has at least one character. + minLength: 1 + IdsTrait: + description: Constraint for defining a non-empty set of URIs (Uniform Resource Identifieres). + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#IdsTrait + type: array + items: + type: string + format: uri + minItems: 1 + DeclaredUnitCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DeclaredUnitCharacteristic + description: Unit of analysis of the product with accepted values as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. For countable products/ components/ materials, Catena-X for example adds the unit "piece" to the value list specified by WBCSD. + enum: + - liter + - kilogram + - cubic meter + - kilowatt hour + - megajoule + - ton kilometer + - square meter + - piece + StrictlyPositiveDecimalTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#StrictlyPositiveDecimalTrait + description: Constraint for defining a positive, non-zero decimal. + minimum: 0 + exclusiveMinimum: true + PositiveDecimalWeightTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveDecimalWeightTrait + description: Constraint for defining a decimal equal to or greater than zero. + minimum: 0 + exclusiveMinimum: false + ExemptedEmissionsPercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ExemptedEmissionsPercentTrait + description: Characteristic for defining the percentage of emissions excluded from a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + maximum: 5 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + GeographyCountrySubdivisionTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountrySubdivisionTrait + description: Constraint for defining a geography country subdivision in compliance to ISO 3166-2 as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}-[A-Z0-9]{1,3}|) + GeographyCountryTrait: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyCountryTrait + description: Constraint for defining a geography country conform to ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + pattern: ([A-Z]{2}) + GeographyRegionOrSubregionCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#GeographyRegionOrSubregionCharacteristic + description: Characteristic for defining a list of valid geographic regions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example "Global" has been added to the value list. + enum: + - Africa + - Americas + - Asia + - Europe + - Oceania + - Australia and New Zealand + - Central Asia + - Eastern Asia + - Eastern Europe + - Latin America and the Caribbean + - Melanesia + - Micronesia + - Northern Africa + - Northern America + - Northern Europe + - Polynesia + - South-eastern Asia + - Southern Asia + - Southern Europe + - Sub-Saharan Africa + - Western Asia + - Western Europe + - Global + - Several + CrossSectoralStandardsUsedEnumerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardsUsedEnumerationCharacteristic + description: Characteristic for defining the enumeration of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + enum: + - ISO Standard 14067 + - ISO Standard 14044 + - Pathfinder v1 + - Pathfinder v2 + - PAS 2050 + - ISO Standard 14040 + - ISO Standard 14041 + - ISO Standard 14042 + - ISO Standard 14043 + - PEF + - Other + - GHG Protocol Product Standard + CrossSectoralStandard: + description: Entity for defining an accounting standard used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandard + type: object + properties: + crossSectoralStandard: + description: 'Mandatory: Discloses a cross-sectoral standard applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandard + $ref: '#/components/schemas/CrossSectoralStandardsUsedEnumerationCharacteristic' + required: + - crossSectoralStandard + CrossSectoralStandardSet: + description: Characteristic for defining the list of valid accounting standards used for product carbon footprint calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CrossSectoralStandardSet + type: array + items: + $ref: '#/components/schemas/CrossSectoralStandard' + ProductOrSectorSpecificRuleOperator: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleOperator + description: Enumeration of PCR (Product Category Rule) operators as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension for example in Catena-X. + enum: + - PEF + - EPD International + - Other + RuleName: + description: Name of a rule applied by a specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleName + type: object + properties: + ruleName: + description: Name of a rule applied by a specific operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - ruleName + RuleNamesTrait: + description: Constraint for defining a non-empty set of rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#RuleNamesTrait + type: array + items: + $ref: '#/components/schemas/RuleName' + uniqueItems: true + minItems: 1 + ProductOrSectorSpecificRule: + description: Entity for defining a product or sector specific rule of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRule + type: object + properties: + extWBCSD_operator: + description: 'Mandatory: Operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example must always be "Other".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#operator + $ref: '#/components/schemas/ProductOrSectorSpecificRuleOperator' + productOrSectorSpecificRules: + description: 'Mandatory: Product-specific or sector-specific set of rules used for calculating or allocating GHG (Greenhouse Gas) emissions applied from the specified operator as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ruleNames + $ref: '#/components/schemas/RuleNamesTrait' + extWBCSD_otherOperatorName: + description: 'Optional: Other operator of PCR (Product Category Rule)/ PSR (Product Specific Rule) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by a default value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#otherOperatorName + $ref: '#/components/schemas/NonEmptyStringTrait' + required: + - extWBCSD_operator + - productOrSectorSpecificRules + ProductOrSectorSpecificRuleSet: + description: Characteristic for defining the set of product or sector specific rules of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#ProductOrSectorSpecificRuleSet + type: array + items: + $ref: '#/components/schemas/ProductOrSectorSpecificRule' + uniqueItems: true + CharacterizationFactorsCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CharacterizationFactorsCharacteristic + description: Characteristic for defining the characterization factors of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example specified by a default value. + enum: + - AR5 + - AR6 + AllocationWasteIncinerationCharacteristic: + type: string + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#AllocationWasteIncinerationCharacteristic + description: Characteristic for defining the allocation approach used for waste incineration as specified by the TFS (Together For Sustainability) initiative. + enum: + - cut-off + - reverse cut-off + - system expansion + PercentTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PercentTrait + description: Constraint for a decimal number in the range of and including 0 and 100. + maximum: 100 + exclusiveMaximum: false + minimum: 0 + exclusiveMinimum: false + EmissionFactorDS: + description: Entity for defining an emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDS + type: object + properties: + secondaryEmissionFactorSource: + description: 'Mandatory: Emission factor data source used to calculate a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#emissionFactorDS + $ref: '#/components/schemas/Text' + required: + - secondaryEmissionFactorSource + EmissionFactorDSSet: + description: Characteristic for defining a set of emission factor sources used for calculating a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#EmissionFactorDSSet + type: array + items: + $ref: '#/components/schemas/EmissionFactorDS' + uniqueItems: true + DqiNumberTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DqiNumberTrait + description: Constraint for defining a decimal between 1 and 3 including. + maximum: 3 + exclusiveMaximum: false + minimum: 1 + exclusiveMinimum: false + DataQualityIndicators: + description: Characteristic for defining the quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#DataQualityIndicators + type: object + properties: + coveragePercent: + description: 'Mandatory starting 2025: Percentage of PCF (Product Carbon Footprint) included in the data quality assessment based on the >5% emissions threshold as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example set to "100" per default.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#coveragePercent + $ref: '#/components/schemas/PercentTrait' + technologicalDQR: + description: 'Optional: Technological representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#technologicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + temporalDQR: + description: 'Optional: Temporal representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#temporalDQR + $ref: '#/components/schemas/DqiNumberTrait' + geographicalDQR: + description: 'Optional: Geographical representativeness of the sources used for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographicalDQR + $ref: '#/components/schemas/DqiNumberTrait' + completenessDQR: + description: 'Optional: Completeness of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#completenessDQR + $ref: '#/components/schemas/DqiNumberTrait' + reliabilityDQR: + description: 'Optional: Reliability of the data collected for PCF (Product Carbon Footprint) calculation based on weighted average of all inputs representing >5% of PCF emissions. Specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#reliabilityDQR + $ref: '#/components/schemas/DqiNumberTrait' + Boolean: + type: boolean + x-samm-aspect-model-urn: urn:samm:org.eclipse.esmf.samm:characteristic:2.1.0#Boolean + description: Represents a boolean value (i.e. a "flag"). + PositiveEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveEmissionsTrait + description: 'Only positive emission values (>0) are valid ' + minimum: 0 + exclusiveMinimum: false + PositiveOrNegativeEmission: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PositiveOrNegativeEmission + description: Characteristic for defining (positive or negative) emissions in context of a PCF (Product Carbon Footprint) as specified by the WBCSD (World Business Council for Sustainable Development) Pathfinder initiative. + NegativeEmissionsTrait: + type: number + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#NegativeEmissionsTrait + description: Only negative emission values (<=0) are valid. + maximum: 0 + exclusiveMaximum: false + PcfEntity: + description: Entity for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#PcfEntity + type: object + properties: + declaredUnit: + description: 'Mandatory: Unit of analysis of a product in context of the PCF (product carbon footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. In Catena-X for example list of valid units includes "piece".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#declaredUnit + $ref: '#/components/schemas/DeclaredUnitCharacteristic' + unitaryProductAmount: + description: 'Mandatory: Amount of units contained within a product in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#unitaryProductAmount + $ref: '#/components/schemas/StrictlyPositiveDecimalTrait' + productMassPerDeclaredUnit: + description: 'Mandatory: Mass of a product per declared unit (net, unpackaged) in context of the PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productMassPerDeclaredUnit + $ref: '#/components/schemas/PositiveDecimalWeightTrait' + exemptedEmissionsPercent: + description: |- + Mandatory: Applied cut-off percentage of emissions excluded from PCF (Product Carbon Footprint). + For accordance with Catena-X PCF Rulebook (Version 3.0.0) <3%. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsPercent + $ref: '#/components/schemas/ExemptedEmissionsPercentTrait' + exemptedEmissionsDescription: + description: 'Optional: Rationale behind exclusion of specific PCF (Product Carbon Footprint) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#exemptedEmissionsDescription + $ref: '#/components/schemas/Text' + boundaryProcessesDescription: + description: 'Optional: Processes attributable to each lifecycle stage as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#boundaryProcessesDescription + $ref: '#/components/schemas/Text' + geographyCountrySubdivision: + description: 'Optional: Subdivision of a country which must be an ISO 3166-2 subdivision code as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountrySubdivision + $ref: '#/components/schemas/GeographyCountrySubdivisionTrait' + geographyCountry: + description: 'Optional: Two letter country code that must conform to data type ISO 3166CC as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyCountry + $ref: '#/components/schemas/GeographyCountryTrait' + geographyRegionOrSubregion: + description: 'Mandatory: Region according to list as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#geographyRegionOrSubregion + $ref: '#/components/schemas/GeographyRegionOrSubregionCharacteristic' + referencePeriodStart: + description: 'Mandatory: Start of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodStart + $ref: '#/components/schemas/Timestamp' + referencePeriodEnd: + description: 'Mandatory: End of time boundary for which a PCF (Product Carbon Footprint) value is considered to be representative as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#referencePeriodEnd + $ref: '#/components/schemas/Timestamp' + crossSectoralStandardsUsed: + description: 'Mandatory: Discloses the cross-sectoral standards applied for calculating or allocating GHG (Greenhouse Gas) emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#crossSectoralStandardsUsed + $ref: '#/components/schemas/CrossSectoralStandardSet' + productOrSectorSpecificRules: + description: 'Mandatory: Product or sector specific rules applied for calculating or allocating GHG (Greenhouse Gas) emissions, e.g. PCRs (Product Category Rules), including operators or publishers and according rule names as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#productOrSectorSpecificRules + $ref: '#/components/schemas/ProductOrSectorSpecificRuleSet' + extWBCSD_characterizationFactors: + description: 'Mandatory: IPCC (Intergovernmental Panel on Climate Change) version of the GWP (Global Warming Potential) characterization factors used for calculating the PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value \"AR6\". Default value can be overwritten.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#characterizationFactors + $ref: '#/components/schemas/CharacterizationFactorsCharacteristic' + extWBCSD_allocationRulesDescription: + description: 'Optional: Allocation rules used and underlying reasoning in context of a product carbon footprint as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension, in Catena-X for example specified by default with value "In accordance with Catena-X PCF Rulebook (Version 3.0.0)".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationRulesDescription + $ref: '#/components/schemas/Text' + extTFS_allocationWasteIncineration: + description: 'Mandatory: Allocation approach used for waste incineration with energy recovery as specified by the TFS (Together For Sustainability) initiative. In Catena-X for example must be specified by value "cut-off".' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#allocationWasteIncineration + $ref: '#/components/schemas/AllocationWasteIncinerationCharacteristic' + primaryDataShare: + description: 'Mandatory starting 2025: Share of primary data in percent as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#primaryDataShare + $ref: '#/components/schemas/PercentTrait' + secondaryEmissionFactorSources: + description: 'Mandatory: Emission factors used for the PCF (Product Carbon Footprint) calculation as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#secondaryEmissionFactorSources + $ref: '#/components/schemas/EmissionFactorDSSet' + dataQualityRating: + description: 'Mandatory starting 2025: Quantitative data quality indicators of a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dqi + $ref: '#/components/schemas/DataQualityIndicators' + extWBCSD_packagingEmissionsIncluded: + description: |- + Mandatory: The Catena-X PCF Rulebook requires to include packaging from a system boundary perspective. "FALSE" is only possible due to the application of the cut-off rule. + Flag indicating whether packaging emissions are included in a PCF (Product Carbon Footprint) as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingEmissionsIncluded + $ref: '#/components/schemas/Boolean' + pcfExcludingBiogenic: + description: 'Mandatory: Product carbon footprint of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + pcfIncludingBiogenic: + description: 'Mandatory starting 2025: Product carbon footprint of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Optional value in current specification version but will be mandatory in future version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#pcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + fossilGhgEmissions: + description: 'Mandatory starting 2025: Emissions from combustion of fossil sources as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Identical to "pcfExcludingBiogenic", will be removed in later version.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonEmissionsOtherThanCO2: + description: 'Mandatory starting 2025: GWP (Global Warming Potential) of biogenic CO2e-emissions in production phase which contain only GHG (Greenhouse Gas) emissions other than CO2 - excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + biogenicCarbonWithdrawal: + description: 'Mandatory starting 2025: Biogenic carbon content in the product converted to CO2e as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + dlucGhgEmissions: + description: 'Mandatory starting 2025: Direct land use change CO2e emissions in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#dlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_luGhgEmissions: + description: 'Mandatory starting 2025: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#luGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + aircraftGhgEmissions: + description: 'Mandatory starting 2025: GHG (Greenhouse Gas) emissions resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#aircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_packagingGhgEmissions: + description: 'Optional: Emissions resulting from the packaging of the product as specified in the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. WBCSD specific extension. In Catena-X not relevant to be reported separately.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#packagingGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfExcludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product excluding biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfExcludingBiogenic + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStagePcfIncludingBiogenic: + description: 'Optional: Product carbon footprint for the distribution stage of a product including biogenic emissions as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStagePcfIncludingBiogenic + $ref: '#/components/schemas/PositiveOrNegativeEmission' + distributionStageFossilGhgEmissions: + description: 'Optional: Emissions from the combustion of fossil sources in the distribution stage as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageFossilGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonEmissionsOtherThanCO2: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2e-emissions in distribution phase which contain only GHG (Greenhouse Gas) emissions other than CO2 ? excludes biogenic CO2. For specification see Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonEmissionsOtherThanCO2 + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageBiogenicCarbonWithdrawal: + description: 'Optional: GWP (Global Warming Potential) of biogenic CO2-withdrawal in distribution stage (biogenic CO2 contained in the product) as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageBiogenicCarbonWithdrawal + $ref: '#/components/schemas/NegativeEmissionsTrait' + extTFS_distributionStageDlucGhgEmissions: + description: 'Optional: Direct land use change CO2 emissions during distribution stage in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageDlucGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + extTFS_distributionStageLuGhgEmissions: + description: 'Optional: Land use CO2 emissions in context of a product carbon footprint as specified by the TFS (Together For Sustainability) initiative. TFS specific extension.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageLuGhgEmissions + $ref: '#/components/schemas/PositiveOrNegativeEmission' + carbonContentTotal: + description: 'Mandatory starting 2025: Total carbon content per declared unit in context of a product carbon footprint as specified in the Catena-X PCF Rulebook (Version 3.0.0).' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#carbonContentTotal + $ref: '#/components/schemas/PositiveEmissionsTrait' + extWBCSD_fossilCarbonContent: + description: 'Mandatory starting 2025: Fossil carbon amount embodied in a product as specified in the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero; WBCSD specific extension, in Catena-X specified by a calculated value.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#fossilCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + carbonContentBiogenic: + description: 'Mandatory starting 2025: Biogenic carbon amount embodied in a product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.1.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. Must be calculated with kgC (kilogram Carbon) / declaredUnit equal to or greater zero.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#biogenicCarbonContent + $ref: '#/components/schemas/PositiveEmissionsTrait' + distributionStageAircraftGhgEmissions: + description: 'Optional: GHG (Greenhouse Gas) emissions for the distribution stage resulting from aircraft engine usage for the transport of the product as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative.' + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#distributionStageAircraftGhgEmissions + $ref: '#/components/schemas/PositiveEmissionsTrait' + required: + - declaredUnit + - unitaryProductAmount + - productMassPerDeclaredUnit + - exemptedEmissionsPercent + - geographyRegionOrSubregion + - referencePeriodStart + - referencePeriodEnd + - crossSectoralStandardsUsed + - productOrSectorSpecificRules + - extWBCSD_characterizationFactors + - extTFS_allocationWasteIncineration + - secondaryEmissionFactorSources + - extWBCSD_packagingEmissionsIncluded + - pcfExcludingBiogenic + CarbonFootprint: + description: Characteristic for defining a PCF (Product Carbon Footprint) as specified in the Catena-X PCF Rulebook (Version 3.0.0) in accordance with the technical specifications for PCF Data Exchange (Version 2.0.0) from the WBCSD (World Business Council for Sustainable Development)/ PACT initiative. + x-samm-aspect-model-urn: urn:samm:io.catenax.pcf:7.0.0#CarbonFootprint + type: object + allOf: + - $ref: '#/components/schemas/PcfEntity' \ No newline at end of file diff --git a/openApi/resiliency/kit_osim_openAPI.yaml b/openApi/resiliency/kit_osim_openAPI.yaml new file mode 100644 index 00000000000..23e34a4b5b7 --- /dev/null +++ b/openApi/resiliency/kit_osim_openAPI.yaml @@ -0,0 +1,980 @@ +openapi: 3.0.1 +info: + title: OSim API + description: OSim API for requesting and receiving simulation results as well as for interactions related to scenario management. + version: 2.0.0 +servers: + - url: https://{server-url} +tags: + - name: requestLatestSimulationResult + description: Request Latest Simulation Result + - name: receiveLatestSimulationResult + description: Receive Latest Simulation Result + - name: requestScenarioFeedback + description: Request Scenario Feedback + - name: receiveScenarioFeedback + description: Receive Scenario Feedback +paths: + /api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}: + get: + tags: + - requestLatestSimulationResult + operationId: requestLatestSimulationResult + description: Request latest simulation result by referring the latest simulation run id available in own OSim Manager + parameters: + - name: requestId + in: path + required: true + style: simple + explode: false + schema: + type: string + example: 8d628899-3e6f-4666-91c3-74ee7ab88b2b + - name: bpns + in: path + required: true + style: simple + explode: false + schema: + type: string + example: BPNS00000007OTZ3 + - name: simulationRunId + in: path + required: true + style: simple + explode: false + schema: + type: string + example: 50737df3-4237-4652-b092-1ef8649f6ca6 + responses: + '200': + description: OK + content: + text: + schema: + type: string + example: The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system. + '400': + description: Bad request + content: + text: + schema: + type: string + example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). + '401': + description: Unauthorized + content: + text: + schema: + type: string + example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. + '402': + description: Unknown BPNS + content: + text: + schema: + type: string + example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner. + '403': + description: Forbidden + content: + text: + schema: + type: string + example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. + '404': + description: No simulation results are released + content: + text: + schema: + type: string + example: Data provider doesn’t have any released simulation results + '405': + description: Method not allowed + content: + text: + schema: + type: string + example: The method used to request the data was not GET + '406': + description: No newer simulation available + content: + text: + schema: + type: string + example: The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database + '407': + description: No shipments planned + content: + text: + schema: + type: string + example: No shipments are currently planned for the requestor + '500': + description: Internal server error + content: + text: + schema: + type: string + example: The server has encountered a situation it does not know how to handle. + '501': + description: Service unavailable + content: + text: + schema: + type: string + example: The server is not ready to handle the request. + servers: + - url: https://{server-url} + servers: + - url: https://{server-url} + /api/receiveLatestSimulationResult/requestId/{requestId}: + post: + tags: + - receiveLatestSimulationResult + description: Receive latest simulation result which can be stored in own OSim Manager instance + operationId: receiveLatestSimulationResult + parameters: + - name: requestId + in: path + required: true + style: simple + explode: false + schema: + type: string + example: 8d628899-3e6f-4666-91c3-74ee7ab88b2b + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/requestId_requestId_body' + examples: + '0': + value: |- + { + "owner": { "id": "BPNS00000007OTZ3" }, + "dataQuality": 1, + "description": "Daily standard simulation", + "comment": "successful simulation", + "expirationTimestamp": "2023-03-24T09:15:24.000Z", + "runId": "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments": [ + { + "handlingUnits": [ + { + "name": "Palette", + "volume": 1, + "weight": 189, + "batches": [ + { + "unitOfMeasurement": "KG", + "materialName": "KK1000GR-Gehäuse-Rot", + "quantity": 50, + "materialNumber": "KK1000GR", + "batchOrderId": "Order-0001", + "batchId": "Batch_1", + "hazardousGoods": false, + "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", + "batchNumber": "45" + } + ], + "handlingUnitId": "HUT_1", + "amount": 1 + } + ], + "shipmentId": "DE51515151", + "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", + "destination": { "id": "BPNS00000007OTZ3" }, + "recipient": { "id": "BPNS00000007OTZ4" }, + "logistics": { "id": "BPNS00000007OS0H" }, + "preceding": {}, + "splittingAllowed": true, + "destinationTimestamp": "2023-03-19T09:00:00.000Z" + } + ], + "timestamp": "2023-03-09T14:13:42.806Z" + } + responses: + '200': + description: OK + content: + text: + schema: + type: string + example: The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system. + '400': + description: Bad request + content: + text: + schema: + type: string + example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). + '401': + description: Unauthorized + content: + text: + schema: + type: string + example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. + '402': + description: Payload is empty + content: + text: + schema: + type: string + example: The payload of the API call is empty. + '403': + description: Forbidden + content: + text: + schema: + type: string + example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. + '404': + description: Payload structure unknown + content: + text: + schema: + type: string + example: The payload structure is unknown or correspond not to the defined semantic model + '405': + description: Method not allowed + content: + text: + schema: + type: string + example: The method used to receive the data was not POST + '406': + description: Payload content invalid + content: + text: + schema: + type: string + example: The content of the payload is invalid. E.g. “owner unknown” + '500': + description: Internal server error + content: + text: + schema: + type: string + example: The server has encountered a situation it does not know how to handle. + '501': + description: Service unavailable + content: + text: + schema: + type: string + example: The server is not ready to handle the request. + servers: + - url: https://{server-url} + servers: + - url: https://{server-url} + /api/requestScenarioFeedback/bpns/{bpns}: + post: + tags: + - requestScenarioFeedback + operationId: requestScenarioFeedback + description: The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario. + parameters: + - name: bpns + in: path + required: true + style: simple + explode: false + schema: + type: string + example: BPNS00000007OTZ3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/bpns_bpns_body' + examples: + '0': + value: |- + { + "materialFlowScenarioRequest" : { + "scenarioSimResults" : { + "resultOwnId" : "916b5688-8bd8-4d7e-83b9-e0d40939274e", + "resultOwnSimRunInitial" : { + "owner" : { }, + "dataQuality" : 0, + "description" : "Please simulate asap", + "comment" : "successful simulation ", + "expirationTimestamp" : "2023-03-24T09:15:24.000Z", + "runId" : "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments" : [ { + "handlingUnits" : [ { + "name" : "Palette", + "volume" : 1.0, + "weight" : 189.0, + "batches" : [ { + "unitOfMeasurement" : "KG", + "materialName" : "KK1000GR-Gehäuse-Rot", + "quantity" : 50.0, + "materialNumber" : "KK1000GR", + "materialHazardousGoods" : false, + "batchOrderId" : "Order-0001", + "batchId" : "Batch_1", + "batchExpirationTimestamp" : "2023-08-22T16:00:00.000Z", + "batchNumber" : "45" + } ], + "handlingUnitId" : "HUT_1", + "amount" : 1 + } ], + "shipmentId" : "DE51515151", + "recipientTimestampPlanned" : "2023-04-19T09:00:00.000Z", + "destination" : { }, + "recipient" : { }, + "logistics" : { }, + "preceding" : { }, + "splittingAllowed" : true, + "destinationTimestamp" : "2023-03-19T09:00:00.000Z" + } ], + "timestamp" : "2023-03-09T14:13:42.806Z" + }, + "resultOwnSimRunUpdated" : { + "owner" : { }, + "dataQuality" : 0, + "description" : "Please simulate asap", + "comment" : "successful simulation ", + "expirationTimestamp" : "2023-03-24T09:15:24.000Z", + "runId" : "0fece48b-c8d1-4180-1a9caca6d67e", + "shipments" : [ { + "handlingUnits" : [ { + "name" : "Palette", + "volume" : 1.0, + "weight" : 189.0, + "batches" : [ { + "unitOfMeasurement" : "KG", + "materialName" : "KK1000GR-Gehäuse-Rot", + "quantity" : 50.0, + "materialNumber" : "KK1000GR", + "materialHazardousGoods" : false, + "batchOrderId" : "Order-0001", + "batchId" : "Batch_1", + "batchExpirationTimestamp" : "2023-08-22T16:00:00.000Z", + "batchNumber" : "45" + } ], + "handlingUnitId" : "HUT_1", + "amount" : 1 + } ], + "shipmentId" : "DE51515151", + "recipientTimestampPlanned" : "2023-04-19T09:00:00.000Z", + "destination" : { }, + "recipient" : { }, + "logistics" : { }, + "preceding" : { }, + "splittingAllowed" : true, + "destinationTimestamp" : "2023-03-19T09:00:00.000Z" + } ], + "timestamp" : "2023-03-09T14:13:42.806Z" + } + }, + "scenarioParameter" : { + "unitOfMeasurement" : "KG", + "parameterScenario" : "8d464b8b-6977-4952-8a22-0489067ca081", + "parameterComment" : "updated Delivery Date", + "materialName" : "KK1000GR-Gehäuse-Rot", + "parameterQuantityUpdated" : 1.0, + "parameterId" : "847c71e5-614a-468b-a3a0-674bf2af3004", + "materialNumber" : "KK1000GR", + "parameterDeliveryDateUpdated" : "2023-10-10T09:00:00.000Z", + "parameterDeliveryDateInitial" : "2023-10-09T10:00:00.000Z", + "parameterOrderId" : "OID-011123456", + "parameterQuantityInitial" : 1.0 + }, + "scenarioHeader" : { + "scenarioOwnerRole" : "Customer", + "scenarioCreationTimestamp" : "2023-10-04T09:10:00.000Z", + "scenarioExpirationTimestamp" : "2023-10-07T09:10:00.000Z", + "scenarioOwner" : "BPNS0000007OTZ3", + "scenarioDescription" : "Changes in Delivery Date", + "scenarioId" : "8d464b8b-6977-4952-8a22-0489067ca081", + "scenarioTitle" : "Delivery Modification" + } + } + } + responses: + '200': + description: OK + content: + text: + schema: + type: string + example: The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system. + '400': + description: Bad request + content: + text: + schema: + type: string + example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). + '401': + description: Unauthorized + content: + text: + schema: + type: string + example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. + '402': + description: Unknown BPNS + content: + text: + schema: + type: string + example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner. + '403': + description: Forbidden + content: + text: + schema: + type: string + example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. + '405': + description: Method not allowed + content: + text: + schema: + type: string + example: The method used to request a scenario feedback was not POST + '500': + description: Internal server error + content: + text: + schema: + type: string + example: The server has encountered a situation it does not know how to handle. + '501': + description: Service unavailable + content: + text: + schema: + type: string + example: The server is not ready to handle the request. + servers: + - url: https://{server-url} + servers: + - url: https://{server-url} + /api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}: + get: + tags: + - receiveScenarioFeedback + operationId: receiveScenarioFeedback + description: The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor + parameters: + - name: bpns + in: path + required: true + style: simple + explode: false + schema: + type: string + example: BPNS00000007OTZ3 + - name: scenarioId + in: path + required: true + style: simple + explode: false + schema: + type: string + example: 50737df3-4237-4652-b092-1ef8649f6ca6 + - name: feedback + in: path + required: true + style: simple + explode: false + schema: + type: string + enum: + - Realizable + - NotRealizable + example: Realizable + responses: + '200': + description: OK + content: + text: + schema: + type: string + example: The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system. + '400': + description: Bad request + content: + text: + schema: + type: string + example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). + '401': + description: Unauthorized + content: + text: + schema: + type: string + example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. + '402': + description: Unknown BPNS + content: + text: + schema: + type: string + example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner. + '403': + description: Forbidden + content: + text: + schema: + type: string + example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. + '405': + description: Method not allowed + content: + text: + schema: + type: string + example: The method used to request a scenario feedback was not GET + '406': + description: Unknown Scenario + content: + text: + schema: + type: string + example: The scenarioID which is given as parameter is not registered. + '407': + description: Unknown State + content: + text: + schema: + type: string + example: The feedbackState value is unknown. + '500': + description: Internal server error + content: + text: + schema: + type: string + example: The server has encountered a situation it does not know how to handle. + '501': + description: Service unavailable + content: + text: + schema: + type: string + example: The server is not ready to handle the request. + servers: + - url: https://{server-url} + servers: + - url: https://{server-url} + /api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}: + get: + tags: + - pushScenarioState + operationId: pushScenarioState + description: The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario + parameters: + - name: bpns + in: path + required: true + style: simple + explode: false + schema: + type: string + example: BPNS00000007OTZ3 + - name: scenarioId + in: path + required: true + style: simple + explode: false + schema: + type: string + example: 50737df3-4237-4652-b092-1ef8649f6ca6 + - name: state + in: path + required: true + style: simple + explode: false + schema: + type: string + enum: + - InRealization + - Processed + - Canceled + example: InRealization + responses: + '200': + description: OK + content: + text: + schema: + type: string + example: The GET has succeeded. The pushScenarioState has been successfully processed in the backend system. + '400': + description: Bad request + content: + text: + schema: + type: string + example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). + '401': + description: Unauthorized + content: + text: + schema: + type: string + example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response. + '402': + description: Unknown BPNS + content: + text: + schema: + type: string + example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner. + '403': + description: Forbidden + content: + text: + schema: + type: string + example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. + '405': + description: Method not allowed + content: + text: + schema: + type: string + example: The method used to request a scenario feedback was not GET + '406': + description: Unknown Scenario + content: + text: + schema: + type: string + example: The scenarioID which is given as parameter is not registered. + '407': + description: Unknown State + content: + text: + schema: + type: string + example: The scenarioState value is unknown. + '500': + description: Internal server error + content: + text: + schema: + type: string + example: The server has encountered a situation it does not know how to handle. + '501': + description: Service unavailable + content: + text: + schema: + type: string + example: The server is not ready to handle the request. + servers: + - url: https://{server-url} + servers: + - url: https://{server-url} +components: + schemas: + apireceiveLatestSimulationResultrequestIdrequestId_owner: + type: object + properties: + id: + type: string + apireceiveLatestSimulationResultrequestIdrequestId_batches: + type: object + properties: + unitOfMeasurement: + type: string + materialName: + type: string + quantity: + type: integer + materialNumber: + type: string + batchOrderId: + type: string + batchId: + type: string + hazardousGoods: + type: boolean + batchExpirationTimestamp: + type: string + batchNumber: + type: string + apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits: + type: object + properties: + volume: + type: integer + batches: + type: array + items: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_batches' + handlingUnitId: + type: string + amount: + type: integer + name: + type: string + weight: + type: integer + apireceiveLatestSimulationResultrequestIdrequestId_shipments: + type: object + properties: + handlingUnits: + type: array + items: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits' + shipmentId: + type: string + recipientTimestampPlanned: + type: string + destination: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner' + recipient: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner' + logistics: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner' + preceding: + type: object + properties: {} + splittingAllowed: + type: boolean + destinationTimestamp: + type: string + requestId_requestId_body: + type: object + properties: + owner: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner' + dataQuality: + type: integer + description: + type: string + comment: + type: string + expirationTimestamp: + type: string + runId: + type: string + shipments: + type: array + items: + $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_shipments' + timestamp: + type: string + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches: + required: + - batchExpirationTimestamp + - batchId + - batchNumber + - batchOrderId + - materialHazardousGoods + - materialName + - materialNumber + - quantity + - unitOfMeasurement + type: object + properties: + unitOfMeasurement: + type: string + materialName: + type: string + quantity: + type: number + materialNumber: + type: string + materialHazardousGoods: + type: boolean + batchOrderId: + type: string + batchId: + type: string + batchExpirationTimestamp: + type: string + batchNumber: + type: string + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits: + required: + - amount + - batches + - handlingUnitId + - name + - volume + - weight + type: object + properties: + name: + type: string + volume: + type: number + weight: + type: number + batches: + type: array + items: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches' + handlingUnitId: + type: string + amount: + type: integer + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments: + required: + - destination + - destinationTimestamp + - handlingUnits + - logistics + - preceding + - recipient + - recipientTimestampPlanned + - shipmentId + - splittingAllowed + type: object + properties: + handlingUnits: + type: array + items: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits' + shipmentId: + type: string + recipientTimestampPlanned: + type: string + destination: + type: object + recipient: + type: object + logistics: + type: object + preceding: + type: object + splittingAllowed: + type: boolean + destinationTimestamp: + type: string + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial: + required: + - comment + - dataQuality + - description + - expirationTimestamp + - owner + - runId + - shipments + - timestamp + type: object + properties: + owner: + type: object + dataQuality: + type: integer + description: + type: string + comment: + type: string + expirationTimestamp: + type: string + runId: + type: string + shipments: + type: array + items: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments' + timestamp: + type: string + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults: + required: + - resultOwnId + - resultOwnSimRunInitial + - resultOwnSimRunUpdated + type: object + properties: + resultOwnId: + type: string + resultOwnSimRunInitial: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial' + resultOwnSimRunUpdated: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial' + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter: + required: + - materialName + - materialNumber + - parameterComment + - parameterDeliveryDateInitial + - parameterDeliveryDateUpdated + - parameterId + - parameterOrderId + - parameterQuantityInitial + - parameterQuantityUpdated + - parameterScenario + - unitOfMeasurement + type: object + properties: + unitOfMeasurement: + type: string + parameterScenario: + type: string + parameterComment: + type: string + materialName: + type: string + parameterQuantityUpdated: + type: number + parameterId: + type: string + materialNumber: + type: string + parameterDeliveryDateUpdated: + type: string + parameterDeliveryDateInitial: + type: string + parameterOrderId: + type: string + parameterQuantityInitial: + type: number + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader: + required: + - scenarioCreationTimestamp + - scenarioDescription + - scenarioExpirationTimestamp + - scenarioId + - scenarioOwner + - scenarioOwnerRole + - scenarioTitle + type: object + properties: + scenarioOwnerRole: + type: string + scenarioCreationTimestamp: + type: string + scenarioExpirationTimestamp: + type: string + scenarioOwner: + type: string + scenarioDescription: + type: string + scenarioId: + type: string + scenarioTitle: + type: string + apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest: + required: + - scenarioHeader + - scenarioParameter + - scenarioSimResults + type: object + properties: + scenarioSimResults: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults' + scenarioParameter: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter' + scenarioHeader: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader' + bpns_bpns_body: + required: + - materialFlowScenarioRequest + type: object + properties: + materialFlowScenarioRequest: + $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest' diff --git a/openApi/resiliency/osim-api.json b/openApi/resiliency/osim-api.json deleted file mode 100755 index f602eebe3f2..00000000000 --- a/openApi/resiliency/osim-api.json +++ /dev/null @@ -1,1266 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "OSim API", - "description": "OSim API for requesting and receiving simulation results as well as for interactions related to scenario management.", - "version": "2.0.0" - }, - "servers": [ - { - "url": "https://{server-url}" - } - ], - "tags": [ - { - "name": "requestLatestSimulationResult", - "description": "Request Latest Simulation Result" - }, - { - "name": "receiveLatestSimulationResult", - "description": "Receive Latest Simulation Result" - }, - { - "name": "requestScenarioFeedback", - "description": "Request Scenario Feedback" - }, - { - "name": "receiveScenarioFeedback", - "description": "Receive Scenario Feedback" - } - ], - "paths": { - "/api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}": { - "get": { - "tags": ["requestLatestSimulationResult"], - "operationId": "requestLatestSimulationResult", - "description": "Request latest simulation result by referring the latest simulation run id available in own OSim Manager", - "parameters": [ - { - "name": "requestId", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "8d628899-3e6f-4666-91c3-74ee7ab88b2b" - }, - { - "name": "bpns", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "BPNS00000007OTZ3" - }, - { - "name": "simulationRunId", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "50737df3-4237-4652-b092-1ef8649f6ca6" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system." - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)." - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response." - } - } - } - }, - "402": { - "description": "Unknown BPNS", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The BPNS which is given as parameter is not registered in the data provider database as a direct partner." - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource." - } - } - } - }, - "404": { - "description": "No simulation results are released", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Data provider doesn’t have any released simulation results" - } - } - } - }, - "405": { - "description": "Method not allowed", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The method used to request the data was not GET" - } - } - } - }, - "406": { - "description": "No newer simulation available", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database" - } - } - } - }, - "407": { - "description": "No shipments planned", - "content": { - "text": { - "schema": { - "type": "string", - "example": "No shipments are currently planned for the requestor" - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server has encountered a situation it does not know how to handle." - } - } - } - }, - "501": { - "description": "Service unavailable", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server is not ready to handle the request." - } - } - } - } - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "/api/receiveLatestSimulationResult/requestId/{requestId}": { - "post": { - "tags": ["receiveLatestSimulationResult"], - "description": "Receive latest simulation result which can be stored in own OSim Manager instance", - "operationId": "receiveLatestSimulationResult", - "parameters": [ - { - "name": "requestId", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "8d628899-3e6f-4666-91c3-74ee7ab88b2b" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/requestId_requestId_body" - }, - "examples": { - "0": { - "value": "{ \n \"owner\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"dataQuality\": 1, \n \"description\": \"Daily standard simulation\", \n \"comment\": \"successful simulation\", \n \"expirationTimestamp\": \"2023-03-24T09:15:24.000Z\", \n \"runId\": \"0fece48b-c8d1-4180-1a9caca6d67e\", \n \"shipments\": [ \n { \n \"handlingUnits\": [ \n { \n \"name\": \"Palette\", \n \"volume\": 1, \n \"weight\": 189, \n \"batches\": [ \n { \n \"unitOfMeasurement\": \"KG\", \n \"materialName\": \"KK1000GR-Gehäuse-Rot\", \n \"quantity\": 50, \n \"materialNumber\": \"KK1000GR\", \n \"batchOrderId\": \"Order-0001\", \n \"batchId\": \"Batch_1\", \n \"hazardousGoods\": false, \n \"batchExpirationTimestamp\": \"2023-08-22T16:00:00.000Z\", \n \"batchNumber\": \"45\" \n } \n ], \n \"handlingUnitId\": \"HUT_1\", \n \"amount\": 1 \n } \n ], \n \"shipmentId\": \"DE51515151\", \n \"recipientTimestampPlanned\": \"2023-04-19T09:00:00.000Z\", \n \"destination\": { \"id\": \"BPNS00000007OTZ3\" }, \n \"recipient\": { \"id\": \"BPNS00000007OTZ4\" }, \n \"logistics\": { \"id\": \"BPNS00000007OS0H\" }, \n \"preceding\": {}, \n \"splittingAllowed\": true, \n \"destinationTimestamp\": \"2023-03-19T09:00:00.000Z\" \n } \n ], \n \"timestamp\": \"2023-03-09T14:13:42.806Z\" \n}" - } - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system." - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)." - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response." - } - } - } - }, - "402": { - "description": "Payload is empty", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The payload of the API call is empty." - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource." - } - } - } - }, - "404": { - "description": "Payload structure unknown", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The payload structure is unknown or correspond not to the defined semantic model" - } - } - } - }, - "405": { - "description": "Method not allowed", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The method used to receive the data was not POST" - } - } - } - }, - "406": { - "description": "Payload content invalid", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The content of the payload is invalid. E.g. “owner unknown”" - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server has encountered a situation it does not know how to handle." - } - } - } - }, - "501": { - "description": "Service unavailable", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server is not ready to handle the request." - } - } - } - } - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "/api/requestScenarioFeedback/bpns/{bpns}": { - "post": { - "tags": ["requestScenarioFeedback"], - "operationId": "requestScenarioFeedback", - "description": "The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.", - "parameters": [ - { - "name": "bpns", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "BPNS00000007OTZ3" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/bpns_bpns_body" - }, - "examples": { - "0": { - "value": "{\n \"materialFlowScenarioRequest\" : {\n \"scenarioSimResults\" : {\n \"resultOwnId\" : \"916b5688-8bd8-4d7e-83b9-e0d40939274e\",\n \"resultOwnSimRunInitial\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n },\n \"resultOwnSimRunUpdated\" : {\n \"owner\" : { },\n \"dataQuality\" : 0,\n \"description\" : \"Please simulate asap\",\n \"comment\" : \"successful simulation \",\n \"expirationTimestamp\" : \"2023-03-24T09:15:24.000Z\",\n \"runId\" : \"0fece48b-c8d1-4180-1a9caca6d67e\",\n \"shipments\" : [ {\n \"handlingUnits\" : [ {\n \"name\" : \"Palette\",\n \"volume\" : 1.0,\n \"weight\" : 189.0,\n \"batches\" : [ {\n \"unitOfMeasurement\" : \"KG\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"quantity\" : 50.0,\n \"materialNumber\" : \"KK1000GR\",\n \"materialHazardousGoods\" : false,\n \"batchOrderId\" : \"Order-0001\",\n \"batchId\" : \"Batch_1\",\n \"batchExpirationTimestamp\" : \"2023-08-22T16:00:00.000Z\",\n \"batchNumber\" : \"45\"\n } ],\n \"handlingUnitId\" : \"HUT_1\",\n \"amount\" : 1\n } ],\n \"shipmentId\" : \"DE51515151\",\n \"recipientTimestampPlanned\" : \"2023-04-19T09:00:00.000Z\",\n \"destination\" : { },\n \"recipient\" : { },\n \"logistics\" : { },\n \"preceding\" : { },\n \"splittingAllowed\" : true,\n \"destinationTimestamp\" : \"2023-03-19T09:00:00.000Z\"\n } ],\n \"timestamp\" : \"2023-03-09T14:13:42.806Z\"\n }\n },\n \"scenarioParameter\" : {\n \"unitOfMeasurement\" : \"KG\",\n \"parameterScenario\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"parameterComment\" : \"updated Delivery Date\",\n \"materialName\" : \"KK1000GR-Gehäuse-Rot\",\n \"parameterQuantityUpdated\" : 1.0,\n \"parameterId\" : \"847c71e5-614a-468b-a3a0-674bf2af3004\",\n \"materialNumber\" : \"KK1000GR\",\n \"parameterDeliveryDateUpdated\" : \"2023-10-10T09:00:00.000Z\",\n \"parameterDeliveryDateInitial\" : \"2023-10-09T10:00:00.000Z\",\n \"parameterOrderId\" : \"OID-011123456\",\n \"parameterQuantityInitial\" : 1.0\n },\n \"scenarioHeader\" : {\n \"scenarioOwnerRole\" : \"Customer\",\n \"scenarioCreationTimestamp\" : \"2023-10-04T09:10:00.000Z\",\n \"scenarioExpirationTimestamp\" : \"2023-10-07T09:10:00.000Z\",\n \"scenarioOwner\" : \"BPNS0000007OTZ3\",\n \"scenarioDescription\" : \"Changes in Delivery Date\",\n \"scenarioId\" : \"8d464b8b-6977-4952-8a22-0489067ca081\",\n \"scenarioTitle\" : \"Delivery Modification\"\n }\n }\n}" - } - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system." - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)." - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response." - } - } - } - }, - "402": { - "description": "Unknown BPNS", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The BPNS which is given as parameter is not registered in the data provider database as a direct partner." - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource." - } - } - } - }, - "405": { - "description": "Method not allowed", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The method used to request a scenario feedback was not POST" - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server has encountered a situation it does not know how to handle." - } - } - } - }, - "501": { - "description": "Service unavailable", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server is not ready to handle the request." - } - } - } - } - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "/api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}": { - "get": { - "tags": ["receiveScenarioFeedback"], - "operationId": "receiveScenarioFeedback", - - "description": "The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor", - "parameters": [ - { - "name": "bpns", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "BPNS00000007OTZ3" - }, - { - "name": "scenarioId", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "50737df3-4237-4652-b092-1ef8649f6ca6" - }, - { - "name": "feedback", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string", - "enum": ["Realizable", "NotRealizable"] - }, - "example": "Realizable" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system." - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)." - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response." - } - } - } - }, - "402": { - "description": "Unknown BPNS", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The BPNS which is given as parameter is not registered in the data provider database as a direct partner." - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource." - } - } - } - }, - "405": { - "description": "Method not allowed", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The method used to request a scenario feedback was not GET" - } - } - } - }, - "406": { - "description": "Unknown Scenario", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The scenarioID which is given as parameter is not registered." - } - } - } - }, - "407": { - "description": "Unknown State", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The feedbackState value is unknown." - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server has encountered a situation it does not know how to handle." - } - } - } - }, - "501": { - "description": "Service unavailable", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server is not ready to handle the request." - } - } - } - } - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "/api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}": { - "get": { - "tags": ["pushScenarioState"], - "operationId": "pushScenarioState", - - "description": "The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario", - "parameters": [ - { - "name": "bpns", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "BPNS00000007OTZ3" - }, - { - "name": "scenarioId", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string" - }, - "example": "50737df3-4237-4652-b092-1ef8649f6ca6" - }, - { - "name": "state", - "in": "path", - "required": true, - "style": "simple", - "explode": false, - "schema": { - "type": "string", - "enum": ["InRealization", "Processed", "Canceled"] - }, - "example": "InRealization" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The GET has succeeded. The pushScenarioState has been successfully processed in the backend system." - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)." - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text": { - "schema": { - "type": "string", - "example": "Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response." - } - } - } - }, - "402": { - "description": "Unknown BPNS", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The BPNS which is given as parameter is not registered in the data provider database as a direct partner." - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource." - } - } - } - }, - "405": { - "description": "Method not allowed", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The method used to request a scenario feedback was not GET" - } - } - } - }, - "406": { - "description": "Unknown Scenario", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The scenarioID which is given as parameter is not registered." - } - } - } - }, - "407": { - "description": "Unknown State", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The scenarioState value is unknown." - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server has encountered a situation it does not know how to handle." - } - } - } - }, - "501": { - "description": "Service unavailable", - "content": { - "text": { - "schema": { - "type": "string", - "example": "The server is not ready to handle the request." - } - } - } - } - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - }, - "servers": [ - { - "url": "https://{server-url}" - } - ] - } - }, - "components": { - "schemas": { - "apireceiveLatestSimulationResultrequestIdrequestId_owner": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - }, - "apireceiveLatestSimulationResultrequestIdrequestId_batches": { - "type": "object", - "properties": { - "unitOfMeasurement": { - "type": "string" - }, - "materialName": { - "type": "string" - }, - "quantity": { - "type": "integer" - }, - "materialNumber": { - "type": "string" - }, - "batchOrderId": { - "type": "string" - }, - "batchId": { - "type": "string" - }, - "hazardousGoods": { - "type": "boolean" - }, - "batchExpirationTimestamp": { - "type": "string" - }, - "batchNumber": { - "type": "string" - } - } - }, - "apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits": { - "type": "object", - "properties": { - "volume": { - "type": "integer" - }, - "batches": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_batches" - } - }, - "handlingUnitId": { - "type": "string" - }, - "amount": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "weight": { - "type": "integer" - } - } - }, - "apireceiveLatestSimulationResultrequestIdrequestId_shipments": { - "type": "object", - "properties": { - "handlingUnits": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits" - } - }, - "shipmentId": { - "type": "string" - }, - "recipientTimestampPlanned": { - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner" - }, - "recipient": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner" - }, - "logistics": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner" - }, - "preceding": { - "type": "object", - "properties": {} - }, - "splittingAllowed": { - "type": "boolean" - }, - "destinationTimestamp": { - "type": "string" - } - } - }, - "requestId_requestId_body": { - "type": "object", - "properties": { - "owner": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner" - }, - "dataQuality": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "expirationTimestamp": { - "type": "string" - }, - "runId": { - "type": "string" - }, - "shipments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_shipments" - } - }, - "timestamp": { - "type": "string" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches": { - "required": [ - "batchExpirationTimestamp", - "batchId", - "batchNumber", - "batchOrderId", - "materialHazardousGoods", - "materialName", - "materialNumber", - "quantity", - "unitOfMeasurement" - ], - "type": "object", - "properties": { - "unitOfMeasurement": { - "type": "string" - }, - "materialName": { - "type": "string" - }, - "quantity": { - "type": "number" - }, - "materialNumber": { - "type": "string" - }, - "materialHazardousGoods": { - "type": "boolean" - }, - "batchOrderId": { - "type": "string" - }, - "batchId": { - "type": "string" - }, - "batchExpirationTimestamp": { - "type": "string" - }, - "batchNumber": { - "type": "string" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits": { - "required": [ - "amount", - "batches", - "handlingUnitId", - "name", - "volume", - "weight" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "volume": { - "type": "number" - }, - "weight": { - "type": "number" - }, - "batches": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches" - } - }, - "handlingUnitId": { - "type": "string" - }, - "amount": { - "type": "integer" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments": { - "required": [ - "destination", - "destinationTimestamp", - "handlingUnits", - "logistics", - "preceding", - "recipient", - "recipientTimestampPlanned", - "shipmentId", - "splittingAllowed" - ], - "type": "object", - "properties": { - "handlingUnits": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits" - } - }, - "shipmentId": { - "type": "string" - }, - "recipientTimestampPlanned": { - "type": "string" - }, - "destination": { - "type": "object" - }, - "recipient": { - "type": "object" - }, - "logistics": { - "type": "object" - }, - "preceding": { - "type": "object" - }, - "splittingAllowed": { - "type": "boolean" - }, - "destinationTimestamp": { - "type": "string" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial": { - "required": [ - "comment", - "dataQuality", - "description", - "expirationTimestamp", - "owner", - "runId", - "shipments", - "timestamp" - ], - "type": "object", - "properties": { - "owner": { - "type": "object" - }, - "dataQuality": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "expirationTimestamp": { - "type": "string" - }, - "runId": { - "type": "string" - }, - "shipments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments" - } - }, - "timestamp": { - "type": "string" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults": { - "required": [ - "resultOwnId", - "resultOwnSimRunInitial", - "resultOwnSimRunUpdated" - ], - "type": "object", - "properties": { - "resultOwnId": { - "type": "string" - }, - "resultOwnSimRunInitial": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial" - }, - "resultOwnSimRunUpdated": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter": { - "required": [ - "materialName", - "materialNumber", - "parameterComment", - "parameterDeliveryDateInitial", - "parameterDeliveryDateUpdated", - "parameterId", - "parameterOrderId", - "parameterQuantityInitial", - "parameterQuantityUpdated", - "parameterScenario", - "unitOfMeasurement" - ], - "type": "object", - "properties": { - "unitOfMeasurement": { - "type": "string" - }, - "parameterScenario": { - "type": "string" - }, - "parameterComment": { - "type": "string" - }, - "materialName": { - "type": "string" - }, - "parameterQuantityUpdated": { - "type": "number" - }, - "parameterId": { - "type": "string" - }, - "materialNumber": { - "type": "string" - }, - "parameterDeliveryDateUpdated": { - "type": "string" - }, - "parameterDeliveryDateInitial": { - "type": "string" - }, - "parameterOrderId": { - "type": "string" - }, - "parameterQuantityInitial": { - "type": "number" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader": { - "required": [ - "scenarioCreationTimestamp", - "scenarioDescription", - "scenarioExpirationTimestamp", - "scenarioId", - "scenarioOwner", - "scenarioOwnerRole", - "scenarioTitle" - ], - "type": "object", - "properties": { - "scenarioOwnerRole": { - "type": "string" - }, - "scenarioCreationTimestamp": { - "type": "string" - }, - "scenarioExpirationTimestamp": { - "type": "string" - }, - "scenarioOwner": { - "type": "string" - }, - "scenarioDescription": { - "type": "string" - }, - "scenarioId": { - "type": "string" - }, - "scenarioTitle": { - "type": "string" - } - } - }, - "apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest": { - "required": [ - "scenarioHeader", - "scenarioParameter", - "scenarioSimResults" - ], - "type": "object", - "properties": { - "scenarioSimResults": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults" - }, - "scenarioParameter": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter" - }, - "scenarioHeader": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader" - } - } - }, - "bpns_bpns_body": { - "required": ["materialFlowScenarioRequest"], - "type": "object", - "properties": { - "materialFlowScenarioRequest": { - "$ref": "#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest" - } - } - } - } - } -} diff --git a/sidebarsDocsKits.js b/sidebarsDocsKits.js index da3e0797666..ff0b2fd7cc9 100644 --- a/sidebarsDocsKits.js +++ b/sidebarsDocsKits.js @@ -239,44 +239,19 @@ const sidebars = { items: [ 'kits/Business Partner Kit/Software Development View/Specification', { - type: "category", + type: "link", label: "Gate API", - link: { - type: "generated-index", - }, - items: require('./docs-kits/kits/Business Partner Kit/Software Development View/Gate Api/sidebar.js'), + href: 'https://eclipse-tractusx.github.io/api-hub/bpdm/6.2.0/gate/swagger-ui/' }, { - type: "category", + type: "link", label: "Pool API", - link: { - type: "generated-index", - }, - items: require('./docs-kits/kits/Business Partner Kit/Software Development View/Pool Api/sidebar.js'), - }, - { - type: "category", - label: "Bridge Dummy API", - link: { - type: "generated-index", - }, - items: require('./docs-kits/kits/Business Partner Kit/Software Development View/Bridge Dummy Api/sidebar.js'), + href: 'https://eclipse-tractusx.github.io/api-hub/bpdm/6.2.0/pool/swagger-ui/' }, { - type: "category", - label: "Cleaning Dummy API", - link: { - type: "generated-index", - }, - items: require('./docs-kits/kits/Business Partner Kit/Software Development View/Cleaning Dummy Api/sidebar.js'), - }, - { - type: "category", + type: "link", label: "Orchestrator API", - link: { - type: "generated-index", - }, - items: require('./docs-kits/kits/Business Partner Kit/Software Development View/Orchestrator Api/sidebar.js'), + href: 'https://eclipse-tractusx.github.io/api-hub/bpdm/6.2.0/orchestrator/swagger-ui/' }, 'kits/Business Partner Kit/Software Development View/Use Cases' ] @@ -402,18 +377,109 @@ const sidebars = { ], }, { - type: "category", - label: "DCM KIT", + type: 'category', + label: 'Demand and Capacity Management KIT', link: { - type: "generated-index" + type: 'doc', + id: 'kits/Demand and Capacity Management Kit/adoption-view/overview', + }, + collapsed: true, + items: [ + 'kits/Demand and Capacity Management Kit/changelog', + { + type: 'category', + label: 'Adoption View', + link: { + type: 'doc', + id: 'kits/Demand and Capacity Management Kit/adoption-view/overview', + }, + items: [ + 'kits/Demand and Capacity Management Kit/adoption-view/glossary', + { + type: 'category', + label: 'Use Case', + link: { + type: 'generated-index', }, collapsed: true, items: [ { - type: "autogenerated", - dirName: "kits/DCM-Kit" - } - ] + type: 'autogenerated', + dirName: 'kits/Demand and Capacity Management Kit/adoption-view/use-case' + } + ] + }, + 'kits/Demand and Capacity Management Kit/adoption-view/onboarding', + 'kits/Demand and Capacity Management Kit/adoption-view/qna', + 'kits/Demand and Capacity Management Kit/adoption-view/foss-app', +] +}, +{ +type: 'category', +label: 'Development View', +link: { + type: 'doc', + id: 'kits/Demand and Capacity Management Kit/development-view/overview', +}, +items: [ + 'kits/Demand and Capacity Management Kit/development-view/model-WeekBasedMaterialDemand', + 'kits/Demand and Capacity Management Kit/development-view/model-WeekBasedCapacityGroup', + 'kits/Demand and Capacity Management Kit/development-view/model-IdBasedRequestForUpdate', + 'kits/Demand and Capacity Management Kit/development-view/model-IdBasedComment', + 'kits/Demand and Capacity Management Kit/development-view/api-WeekBasedMaterialDemand', + { + type: "category", + label: "API Specification", + link: { + type: "generated-index", + }, + items: require('./docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-material-demand-api/sidebar.js'), + }, + 'kits/Demand and Capacity Management Kit/development-view/api-WeekBasedCapacityGroup', + { + type: "category", + label: "API Specification", + link: { + type: "generated-index", + }, + items: require('./docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-capacity-group-api/sidebar.js'), + }, + 'kits/Demand and Capacity Management Kit/development-view/api-IdBasedRequestForUpdate', + { + type: "category", + label: "API Specification", + link: { + type: "generated-index", + }, + items: require('./docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-rfu-api/sidebar.js'), + }, + 'kits/Demand and Capacity Management Kit/development-view/api-IdBasedComment', + { + type: "category", + label: "API Specification", + link: { + type: "generated-index", + }, + items: require('./docs-kits/kits/Demand and Capacity Management Kit/development-view/plugin-generated-comment-api/sidebar.js'), + }, + 'kits/Demand and Capacity Management Kit/development-view/api-aas', + 'kits/Demand and Capacity Management Kit/development-view/test-customer', + 'kits/Demand and Capacity Management Kit/development-view/test-supplier', +] +}, +{ +type: 'category', +label: 'Architecture View', +link: { + type: 'doc', + id: 'kits/Demand and Capacity Management Kit/architecture-view/overview', +}, +items: [ + 'kits/Demand and Capacity Management Kit/architecture-view/dependencies', +] +}, + 'kits/Demand and Capacity Management Kit/operation-view', + ] }, { type: 'category', @@ -565,6 +631,20 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Supply Chain Disruption Notifications KIT', + link: { + type: 'generated-index', + }, + collapsed: true, + items: [ + { + type: 'autogenerated', + dirName: 'kits/Supply Chain Disruption Notifications KIT', + }, + ], + }, { type: 'category', label: 'PCF Exchange KIT', @@ -624,19 +704,7 @@ const sidebars = { dirName: 'kits/Traceability Kit', }, ], - }, - { - type: 'category', - label: 'Upcoming KITs', - link: { - type: 'doc', - id: 'kits/Resiliency/resiliency' - }, - items: [ - 'kits/Resiliency/maas', - 'kits/Resiliency/PURIS' - ] - }, + } ] }; module.exports = sidebars; diff --git a/src/components/CarouselComponent/index.js b/src/components/CarouselComponent/index.js index 3d8be05bd36..b05f37c2bd8 100644 --- a/src/components/CarouselComponent/index.js +++ b/src/components/CarouselComponent/index.js @@ -71,7 +71,11 @@ return (
                                    - + {typeof kit.img === 'function' ? ( + + ) : ( + {kit.name} + )}
                                    ) diff --git a/src/components/KitsGallery/index.js b/src/components/KitsGallery/index.js index d781f77965c..2de2a9c5543 100644 --- a/src/components/KitsGallery/index.js +++ b/src/components/KitsGallery/index.js @@ -39,7 +39,12 @@ export default function KitsGallery({itemsArray, title, description}) { return(
                                    - + {typeof kit.img === 'function' ? ( + + ) : ( + {kit.name} + )} +
                                    ) diff --git a/src/components/KitsGallery/styles.module.css b/src/components/KitsGallery/styles.module.css index 1837bb7f2ca..49eef067643 100644 --- a/src/components/KitsGallery/styles.module.css +++ b/src/components/KitsGallery/styles.module.css @@ -43,6 +43,7 @@ .item_img { border-radius: 10px; + height: 100%; width: 100%; object-fit: cover; } diff --git a/src/components/KitsGalleryMDX/index.js b/src/components/KitsGalleryMDX/index.js index 2f617a936dc..fc62387eb43 100644 --- a/src/components/KitsGalleryMDX/index.js +++ b/src/components/KitsGalleryMDX/index.js @@ -39,7 +39,12 @@ return(
                                    - + {typeof kit.img === 'function' ? ( + + ) : ( + {kit.name} + )} +
                                    ) diff --git a/src/components/KitsGalleryMDX/styles.module.css b/src/components/KitsGalleryMDX/styles.module.css index 78904a90d90..4ce9e3c3e47 100644 --- a/src/components/KitsGalleryMDX/styles.module.css +++ b/src/components/KitsGalleryMDX/styles.module.css @@ -47,6 +47,7 @@ .item_img { border-radius: 10px; + height: 100%; width: 100%; object-fit: cover; } diff --git a/src/components/KitsGalleryWithFilters/index.js b/src/components/KitsGalleryWithFilters/index.js index b7cb7833cc8..6bd79847bbc 100644 --- a/src/components/KitsGalleryWithFilters/index.js +++ b/src/components/KitsGalleryWithFilters/index.js @@ -142,10 +142,11 @@ export default function KitsGalleryWithFilters({itemsArray, title, description}) }} > All Domains - Network & Core Services + Industry Core + Network Services PLM / Quality - Sustainability Resiliency + Sustainability @@ -167,7 +168,12 @@ export default function KitsGalleryWithFilters({itemsArray, title, description}) return(
                                    - + {typeof kit.img === 'function' ? ( + + ) : ( + {kit.name} + )} +
                                    ) diff --git a/src/components/KitsGalleryWithFilters/styles.module.css b/src/components/KitsGalleryWithFilters/styles.module.css index ff69eb5a25a..2630e99d657 100644 --- a/src/components/KitsGalleryWithFilters/styles.module.css +++ b/src/components/KitsGalleryWithFilters/styles.module.css @@ -64,6 +64,7 @@ .item_img { border-radius: 10px; + height: 100%; width: 100%; object-fit: cover; } diff --git a/src/pages/CHANGELOG.md b/src/pages/CHANGELOG.md index a3930dba47b..f1716dbc9be 100644 --- a/src/pages/CHANGELOG.md +++ b/src/pages/CHANGELOG.md @@ -8,6 +8,111 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Tractus-X operates on YY.0M.MICRO [Calendar Versioning](https://calver.org/) for overarching, quarterly Releases. Semantic Versioning remains unchanged for all components. +## [24.08] - 2024-08-05 + +### Added + +| Component | Helm Chart (s) | App-/KIT Version (s) | +| :-------- | :-------------: | :------------------: | +| [Knowledge Agents AAS Bridge](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge) | aas-bridge: [1.13.7](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge/releases/tag/aas-bridge-1.13.7) | [1.13.7](https://github.com/eclipse-tractusx/knowledge-agents-aas-bridge/releases/tag/v1.13.7) | +| [Supply Chain Disruption Notifications Kit](https://eclipse-tractusx.github.io/docs-kits/category/supply-chain-disruption-notifications-kit) | n/a | [1.0.0](https://eclipse-tractusx.github.io/docs-kits/kits/Supply%20Chain%20Disruption%20Notifications%20KIT/Supply%20Chain%20Disruption%20Notifications%20Changelog) | +| [SSI Authority & Schema Registry](https://github.com/eclipse-tractusx/ssi-authority-schema-registry) | ssi-asr: [1.0.0](https://github.com/eclipse-tractusx/ssi-authority-schema-registry/releases/tag/ssi-asr-1.0.0) | [1.0.0](https://github.com/eclipse-tractusx/ssi-authority-schema-registry/releases/tag/v1.0.0) | + +### Updated + +| Component | Helm Chart (s) | App-/KIT Version (s) | +| :-------- | :-------------: | :------------------: | +| [BPDM Kit](https://eclipse-tractusx.github.io/docs-kits/category/business-partner-kit) | n/a | [6.0.0](https://eclipse-tractusx.github.io/docs-kits/kits/Business%20Partner%20Kit/Changelog) | +| [BPN DID Resolution Service (BDRS)](https://github.com/eclipse-tractusx/bpn-did-resolution-service) | bdrs: [0.5.2](https://github.com/eclipse-tractusx/bpn-did-resolution-service/releases/tag/0.5.2) | [0.5.2](https://github.com/eclipse-tractusx/bpn-did-resolution-service/releases/tag/0.5.2) | +| [Circularity Kit](https://eclipse-tractusx.github.io/docs-kits/kits/Circularity_KIT/page-adoption-view) | n/a | [1.2.0](https://eclipse-tractusx.github.io/docs-kits/kits/Data%20Chain%20Kit/data%20chain%20kit%20changelog) | +| [DCM Kit](https://eclipse-tractusx.github.io/docs-kits/kits/DCM-Kit/adoption-view/overview) | n/a | [1.1.0](https://eclipse-tractusx.github.io/docs-kits/kits/DCM-Kit/changelog) | +| [Digital Product Pass (DPP)](https://github.com/eclipse-tractusx/digital-product-pass) | digital-product-pass: [4.0.1](https://github.com/eclipse-tractusx/digital-product-pass/releases/tag/digital-product-pass-4.0.1) | [v4.0.1](https://github.com/eclipse-tractusx/digital-product-pass/releases/tag/v4.0.1) | +| [Digital Twin Kit](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit) | n/a | [2.0.1](https://eclipse-tractusx.github.io/docs-kits/kits/Digital%20Twin%20Kit/Digital%20Twin%20Kit%20Changelog) | +| [Digital Twin Registry](https://github.com/eclipse-tractusx/sldt-digital-twin-registry) | digital-twin-registry: [0.5.2](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/releases/tag/digital-twin-registry-0.5.2) | [v0.5.0](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/releases/tag/v0.5.0) | +| [Discovery Finder](https://github.com/eclipse-tractusx/sldt-discovery-finder) | discoveryfinder: [0.3.1](https://github.com/eclipse-tractusx/sldt-discovery-finder/releases/tag/discoveryfinder-0.3.1) | [v0.4.0](https://github.com/eclipse-tractusx/sldt-discovery-finder/releases/tag/v0.4.0) | +| [Discovery Service (BPN Finder)](https://github.com/eclipse-tractusx/sldt-bpn-discovery) | bpndiscovery: [0.3.1](https://github.com/eclipse-tractusx/sldt-bpn-discovery/releases/tag/bpndiscovery-0.3.1) | [v0.4.0](https://github.com/eclipse-tractusx/sldt-bpn-discovery/releases/tag/v0.4.0) | +| [Eclipse Data Space Connector (Tractus-X EDC)](https://github.com/eclipse-tractusx/tractusx-edc) | tractusx-connector: [0.7.3](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.7.3) | [0.7.3](https://github.com/eclipse-tractusx/tractusx-edc/releases/tag/0.7.3) | +| [EcoPass Kit](https://eclipse-tractusx.github.io/docs-kits/category/eco-pass-kit) | n/a | [1.5.0](https://eclipse-tractusx.github.io/docs-kits/kits/Eco_Pass_KIT/changelog) | +| [ESS Kit](https://eclipse-tractusx.github.io/docs-kits/category/ess-kit) | n/a | [0.3.0](https://eclipse-tractusx.github.io/docs-kits/kits/ESS-Kit/ESS%20Kit%20Changelog) | +| [Golden Record Business Partner Number (BPN) Service](https://github.com/eclipse-tractusx/bpdm) | bpdm: [5.1.0](https://github.com/eclipse-tractusx/bpdm/releases/tag/bpdm-5.1.0) | [v6.1.0](https://github.com/eclipse-tractusx/bpdm/releases/tag/v6.1.0) | +| [Identity and Access Management (IAM)](https://github.com/eclipse-tractusx/portal-iam) | centralidp: [3.0.1](https://github.com/eclipse-tractusx/portal-iam/releases/tag/centralidp-3.0.1)
                                    sharedidp: [3.0.1](https://github.com/eclipse-tractusx/portal-iam/releases/tag/sharedidp-3.0.1) | keycloak: [23.0.7](https://www.keycloak.org/docs/latest/release_notes/index.html#keycloak-23-0-7) | +| [Industry Core KIT](https://eclipse-tractusx.github.io/docs-kits/category/industry-core-kit) | n/a | [1.1.0](https://eclipse-tractusx.github.io/docs-kits/kits/Industry%20Core%20Kit/Industry%20Core%20Kit%20Changelog) | +| [Item Relationship Service (IRS)](https://github.com/eclipse-tractusx/item-relationship-service) | item-relationship-service: [7.4.0](https://github.com/eclipse-tractusx/item-relationship-service/releases/tag/item-relationship-service-7.4.0) | [5.4.0](https://github.com/eclipse-tractusx/item-relationship-service/releases/tag/5.4.0) | +| [Knowledge Agents](https://github.com/eclipse-tractusx/knowledge-agents) | remoting-agent: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/remoting-agent-1.13.22)
                                    provisioning-agent: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/provisioning-agent-1.13.22)
                                    conforming-agent: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/conforming-agent-1.13.22)
                                    matchmaking-agent: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/matchmaking-agent-1.13.22) | [v1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/v1.13.22)
                                    matchmaking-agent: [v1.13.22](https://github.com/eclipse-tractusx/knowledge-agents/releases/tag/v1.13.22) | +| [Knowledge Agents EDC](https://github.com/eclipse-tractusx/knowledge-agents-edc) | agent-plane: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents-edc/releases/tag/agent-plane-1.13.22)
                                    agent-plane-azure-vault: [1.13.22](https://github.com/eclipse-tractusx/knowledge-agents-edc/releases/tag/agent-plane-azure-vault-1.13.22) | [v1.13.22](https://github.com/eclipse-tractusx/knowledge-agents-edc/releases/tag/v1.13.22) | +| [Managed Service Orchestrator](https://github.com/eclipse-tractusx/managed-service-orchestrator) | managed-service-orchestrator: [1.6.0](https://github.com/eclipse-tractusx/managed-service-orchestrator/releases/tag/managed-service-orchestrator-1.6.0) | [v1.5.7](https://github.com/eclipse-tractusx/managed-service-orchestrator/releases/tag/v1.5.7) | +| [Managed Simple Data Exchanger (SDE)](https://github.com/eclipse-tractusx/managed-simple-data-exchanger) | sde: [0.1.12](https://github.com/eclipse-tractusx/managed-simple-data-exchanger/releases/tag/sde-0.1.12) | frontend: [v2.4.3](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-frontend/releases/tag/v2.4.3)
                                    backend: [v2.4.3](https://github.com/eclipse-tractusx/managed-simple-data-exchanger-backend/releases/tag/v2.4.3) | +| [PCF Exchange Kit](https://eclipse-tractusx.github.io/docs-kits/category/pcf-exchange-kit) | n/a | [1.2.0](https://eclipse-tractusx.github.io/docs-kits/kits/PCF%20Exchange%20Kit/PCF%20Exchange%20Kit%20Changelog) | +| [Policy Hub](https://github.com/eclipse-tractusx/policy-hub) | policy-hub: [1.1.0](https://github.com/eclipse-tractusx/policy-hub/releases/tag/policy-hub-1.1.0) | [v1.1.0](https://github.com/eclipse-tractusx/policy-hub/releases/tag/v1.1.0) | +| [Portal](https://github.com/eclipse-tractusx/portal) | portal: [2.1.0](https://github.com/eclipse-tractusx/portal/releases/tag/portal-2.1.0) | registration: [v2.0.1](https://github.com/eclipse-tractusx/portal-frontend-registration/releases/tag/v2.0.1)
                                    frontend: [v2.1.0](https://github.com/eclipse-tractusx/portal-frontend/releases/tag/v2.1.0)
                                    backend: [v2.1.0](https://github.com/eclipse-tractusx/portal-backend/releases/tag/v2.1.0)
                                    assets: [v2.1.0](https://github.com/eclipse-tractusx/portal-assets/releases/tag/v2.1.0) | +| [PURIS](https://github.com/eclipse-tractusx/puris) | puris: [2.7.0](https://github.com/eclipse-tractusx/puris/releases/tag/puris-2.7.0) | [2.1.0](https://github.com/eclipse-tractusx/puris/releases/tag/2.1.0) | +| [PURIS Kit](https://eclipse-tractusx.github.io/docs-kits/category/puris-kit) | n/a | [0.3.0](https://eclipse-tractusx.github.io/docs-kits/kits/PURIS%20Kit/PURIS%20Kit%20Changelog) | +| [Self Description (SD) Factory](https://github.com/eclipse-tractusx/sd-factory) | sdfactory: [2.1.21](https://github.com/eclipse-tractusx/sd-factory/releases/tag/sdfactory-2.1.21) | [v2.1.13](https://github.com/eclipse-tractusx/sd-factory/releases/tag/v2.1.13) | +| [Semantic Hub](https://github.com/eclipse-tractusx/sldt-semantic-hub) | semantic-hub: [0.3.1](https://github.com/eclipse-tractusx/sldt-semantic-hub/releases/tag/semantic-hub-0.3.1) | [v0.4.0](https://github.com/eclipse-tractusx/sldt-semantic-hub/releases/tag/v0.4.0) | +| [SSI Credential Issuer](https://github.com/eclipse-tractusx/ssi-credential-issuer) | ssi-credential-issuer: [1.1.0](https://github.com/eclipse-tractusx/ssi-credential-issuer/releases/tag/ssi-credential-issuer-1.1.0) | [v1.1.0](https://github.com/eclipse-tractusx/ssi-credential-issuer/releases/tag/v1.1.0) | +| [Trace-X Traceability Application](https://github.com/eclipse-tractusx/traceability-foss) | traceability-foss: [1.3.43](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/helm-charts-1.3.43) | [13.0.1](https://github.com/eclipse-tractusx/traceability-foss/releases/tag/13.0.1) | +| [Traceability Kit](https://eclipse-tractusx.github.io/docs-kits/category/traceability-kit) | n/a | [5.1.0](https://eclipse-tractusx.github.io/docs-kits/kits/Traceability%20Kit/Traceability%20Kit%20Changelog) | +| [OSIM Kit](https://eclipse-tractusx.github.io/docs-kits/category/osim-kit) | n/a | [3.0.0](https://eclipse-tractusx.github.io/docs-kits/kits/OSim%20Kit/OSim%20Kit%20Changelog) | + +### Unchanged, untested + +| Component | Helm Chart (s) | App-/KIT Version (s) | +| :-------- | :-------------: | :------------------: | +| [Country Risk](https://github.com/eclipse-tractusx/vas-country-risk) | country-risk: [4.0.2](https://github.com/eclipse-tractusx/vas-country-risk/releases/tag/country-risk-4.0.2) | [1.3.1](https://github.com/eclipse-tractusx/vas-country-risk/releases/tag/v1.3.1) | + +### Incompatible + +| Component | Helm Chart (s) | App-/KIT Version (s) | +| :-------- | :-------------: | :------------------: | +| [Managed Identity Wallet (MIW)](https://github.com/eclipse-tractusx/managed-identity-wallet) | managed-identity-wallet: [0.5.0](https://github.com/eclipse-tractusx/managed-identity-wallet/releases/tag/v0.5.0) | [v0.5.0](https://github.com/eclipse-tractusx/managed-identity-wallet/releases/tag/v0.5.0) | + +### Known Knowns + +:::note +For known knowns of unchanged/untested components, please refer to previous changelog(s) +::: + +- Relevant components and interfaces developed considering Gaia-X Trust Framework - 22.10 +- Connection to an external Clearing House service for the entire Catena-X ecosystem is required. The Gaia-X compliance service should generally be capable of recognizing all companies that are able to register with the Catena-X Portal. +- This Tractus-X release does not include a Managed Identity Wallet (MIW). The development team decided on a temporary bridging solution, based on a commercial application, to test and ship Release 24.08. Without implementing this interim solution, participants will not be able to fully utilize this Tractus-X release in consequence. +- For E2E Testing, the [1.2.0](https://github.com/SAP/ssi-dim-middle-layer/releases/tag/v1.2.0) of the [SSI DIM Middle Layer](https://github.com/SAP/ssi-dim-middle-layer) was used - this component is FOSS but the currently used wallet (see previous item) is not. +- Documentation content (e.g. architecture, manuals etc) and folder structure have not explicitly been checked for this Release, as relevant TRGs are not yet in force. The vast majority of components are evolutions of previous Releases, with a thorough review undergone. This leads to a high confidence in the quality of existing documentation within the product repositories. +- FOSS components developed and pre-tested to TRL6 with artificial test data only +- No crosscheck of functionality in verification environment +- No execution of Load-, Performance- or Penetration Tests +- No assignment of Export Control Classification Numbers (ECCN) to FOSS components +- GeoBlocking recommended for Operations (GBaaS) +- Security concept (overall) recommended for Operations +- Listed components in "Unchanged, untested" category were not verified in combination with the current release package and are only compatible with Catena-X standards as specified. Use at your own risk at this time. +- Listed components in "Incompatible" category are not compatible with the current release package and the latest standards. +- BPDM has some Known Knowns regarding Portal integration listed in detail [here](https://github.com/eclipse-tractusx/bpdm/blob/release/6.1.x/docs/architecture/11_Risks_And_Technical_Debts.md) +- BPDM standard configuration not compatible with Portal's Central-IDP configuration +- Portal's Partner Network page does not currently show business partner member data due to an authorization issue +- Currently not possible to add company's site and address business partners over the Portal due to authorization issue +- Security concern about exposed technical users when subscribing BPDM services over the Portal +- DTR introduces the DTR-EDC Access Control extension. The goal of this EDC extension is to enforce authorized access to submodel implementations according to AAS and Catena-X concluded contracts. It is a Maven artifact that can be used for building their own EDC dataplane image with the extension. For more details, see [here](https://github.com/eclipse-tractusx/sldt-digital-twin-registry/tree/main/libraries/edc-extension). + +### Runtime + +The release has been tested + +- on [Kubernetes](https://en.wikipedia.org/wiki/Kubernetes) versions: `1.28.9` +- with [PostgreSQL](https://en.wikipedia.org/wiki/PostgreSQL) versions: `15` + +Note: Tractus-X EDC has been tested on both Postgresql versions: 15.x and 16.x + +### Using helm with central helm registry + +You can search all released helm charts with the following commands: + +```shell +helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev +helm repo update tractusx-dev +helm search repo tractusx-dev --versions +``` + +For installation details, please see the referenced Repositories / Releases. + ## [24.05] - 2024-05-29 ### Added diff --git a/src/pages/release-information.md b/src/pages/release-information.md index 9ae5f9286c8..486fc44eee8 100644 --- a/src/pages/release-information.md +++ b/src/pages/release-information.md @@ -1,10 +1,38 @@ # Release Information -[Catena-X Standards](https://catena-x.net/de/standard-library) are the foundation for certifying any software product operating in the Catena-X data space. Those standards are the binding reference to obtain a valid certificate. To make adopting the latest Catena-X standards easier, reference implementations are provided through the Eclipse Tractus-X Project. Those Releases are published in a periodic cadence. +[Catena-X Standards](https://catena-x.net/de/standard-library) are the foundation for certifying any software product operating in the Catena-X data space. These standards are the +binding reference to obtain a valid certificate. To facilitate the adoption of the latest Catena-X standards, the Eclipse Tractus-X Project provides reference implementations, released +on a quarterly basis. -We recommend you to visit the [sig-release repo](https://github.com/eclipse-tractusx/sig-release) and start with the [README.md](https://github.com/eclipse-tractusx/sig-release/blob/main/README.md) for a consolidated package on Release-relevant information. -In addition you may want to check the recent releases for content which was published so far, and check the Changelog(s) for features, known knowns and compatibility. +## Quarterly Release Cycle -Go to the [sig-release/README.md](https://github.com/eclipse-tractusx/sig-release/blob/main/README.md) for a consolidated package on release-relevant information. +Eclipse Tractus-X follows a structured release cycle, delivering four releases annually. Each release encompasses several key milestones: -Visit [tractus-x-release/CHANGELOG.md](https://github.com/eclipse-tractusx/tractus-x-release/blob/main/CHANGELOG.md) for our periodic release info. +- **Refinement Phase:** Initial discussions to outline and prioritize features for the upcoming release. +- **Refinement Day 1:** Collaborative sessions to refine feature requirements and identify dependencies. +- **Refinement Day 2:** Continued refinement, focusing on resolving dependencies and finalizing feature scopes. +- **DRAFT Feature Freeze:** A preliminary cutoff point where feature definitions are solidified, allowing for adjustments before finalization. +- **Release Planning Days:** Finalization of the release plan, confirming feature inclusion and setting development timelines. + +:::tip +For detailed timelines and specific dates of these milestones, refer to the [sig-release milestones](https://github.com/eclipse-tractusx/sig-release/milestones) and the timeline on the +[Release Planning Board](https://github.com/orgs/eclipse-tractusx/projects/26/views/35) +::: + +## Feature Submission Process + +To propose new features for inclusion in an upcoming release, contributors must utilize the [Feature Template](https://github.com/eclipse-tractusx/sig-release/issues/new?assignees=&labels=&projects=&template=1_feature_template.md). +This template ensures consistent and comprehensive feature proposals. The `sig-release` repository serves as the management hub for new features in the next release. + +:::note +All other tasks and issues should be created in their respective repositories where the actual work is conducted. These issues must be linked within the feature proposal to maintain traceability and coherence. +::: + +## Additional Resources + +- [sig-release Repository](https://github.com/eclipse-tractusx/sig-release): Central hub for release management and feature tracking. +- [Release Planning Board](https://github.com/orgs/eclipse-tractusx/projects/26/views/35): Monitor the progress of current and upcoming releases. +- [tractus-x-release/CHANGELOG.md](https://github.com/eclipse-tractusx/tractus-x-release/blob/main/CHANGELOG.md): Access detailed information on periodic releases. +- [Open Meetings Page](https://eclipse-tractusx.github.io/community/open-meetings/): Find Teams session links and more information for key milestones. + +By adhering to these guidelines and utilizing the provided resources, contributors can effectively participate in the Eclipse Tractus-X release process, ensuring alignment with Catena-X standards and contributing to the project's success. diff --git a/static/img/MaaSKIT.png b/static/img/MaaSKIT.png index 522cbd12194..dd30b0cd18c 100644 Binary files a/static/img/MaaSKIT.png and b/static/img/MaaSKIT.png differ diff --git a/static/img/architecture.drawio.svg b/static/img/architecture.drawio.svg index 955fc28f889..f76119e2783 100644 --- a/static/img/architecture.drawio.svg +++ b/static/img/architecture.drawio.svg @@ -1,948 +1,4 @@ - - - - - - - - - -
                                    -
                                    -
                                    - - - Catena-X Association - - -
                                    - [Person] -
                                    -
                                    -
                                    - - - Association for certification and standardization of Catena-X -
                                    -
                                    -
                                    -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X Association... - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - - - Tractus-X - - -
                                    - [Person] -
                                    -
                                    -
                                    - - - Open-Source Community that maintains FOSS Components compliant to Catena-X Standards - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Tractus-X... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X Environment -
                                    -
                                    -
                                    -
                                    - [system] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X Environment... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X Partner Consumer -
                                    -
                                    -
                                    -
                                    - [ENTERPRISE] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X Partner Consumer... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X Partner Provider -
                                    -
                                    -
                                    -
                                    - [ENTERPRISE] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X Partner Provider... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - EDC - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - EDC... - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - - - Business Application - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Business Application... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - EDC - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - EDC... - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - communicates -
                                    -
                                    -
                                    -
                                    - - communicates - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - Uses -
                                    -
                                    -
                                    -
                                    - - Uses - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Asset Administration Shell Registry / Digital Twin Registry - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Asset Administration Shell Registry / Di... - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - Uses -
                                    -
                                    -
                                    -
                                    - - Uses - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Asset Administration Shell Server or Repository - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Asset Administration Shell Server or Rep... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Any Source System for Data - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Any Source System for Data... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Business Application aaS - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Business Application aaS... - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - Uses -
                                    -
                                    -
                                    -
                                    - - Uses - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - Uses -
                                    -
                                    -
                                    -
                                    - - Uses - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - EDCaaS - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - EDCaaS... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X SaaS Consumer (optional) -
                                    -
                                    -
                                    -
                                    - [ENTERPRISE] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X SaaS Consumer (optional)... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X SaaS Provider (optional) -
                                    -
                                    -
                                    -
                                    - [ENTERPRISE] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X SaaS Provider (optional)... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Asset Administration Shell Registry / Digital Twin Registry aaS - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Asset Administration Shell Registry / Di... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Asset Administration Shell Server or Repository aaS - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Asset Administration Shell Server or Rep... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - -
                                    - Catena-X Operating Company -
                                    -
                                    -
                                    -
                                    - [ENTERPRISE] -
                                    -
                                    -
                                    -
                                    -
                                    - - Catena-X Operating Company... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - Portal - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Portal... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - BPDM - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - BPDM... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - MIW - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - MIW... - -
                                    -
                                    - - - - - -
                                    -
                                    -
                                    - configure BPN -
                                    -
                                    -
                                    -
                                    - - configure BPN - -
                                    -
                                    - - - - - - -
                                    -
                                    -
                                    - get BPN -
                                    -
                                    -
                                    -
                                    - - get BPN - -
                                    -
                                    - - - - - -
                                    -
                                    -
                                    - - - Database - - -
                                    - [Container: e.g. PostgreSQL] -
                                    -
                                    -
                                    - - - Stores assets, policies ... - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Database... - -
                                    -
                                    - - - - - - - -
                                    -
                                    -
                                    - - - Keycloak - - -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Keycloak... - -
                                    -
                                    - - - - - -
                                    -
                                    -
                                    - - - Database - - -
                                    - [Container: e.g. PostgreSQL] -
                                    -
                                    -
                                    - - - Stores assets, policies ... - - -
                                    -
                                    -
                                    -
                                    -
                                    - - Database... - -
                                    -
                                    - - - - - - - -
                                    -
                                    -
                                    - Already included in MXD / Tutorial -
                                    -
                                    -
                                    -
                                    - - Already included in... - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - planned to be included  in MXD / Tutorial -
                                    -
                                    -
                                    -
                                    - - planned to be includ... - -
                                    -
                                    - - - - - -
                                    -
                                    -
                                    - configure BPN -
                                    -
                                    -
                                    -
                                    - - configure BPN - -
                                    -
                                    - - - - -
                                    -
                                    -
                                    - - - AAS Discovery Finder/ -
                                    - AAS Discovery Services -
                                    -
                                    -
                                    - [system] -
                                    -
                                    -
                                    - - - -
                                    -
                                    -
                                    -
                                    -
                                    - - AAS Discovery Finder/... - -
                                    -
                                    -
                                    - - - - - Text is not SVG - cannot display - - - -
                                    + + + +
                                    Catena-X Association
                                    [Person]

                                    Association for certification and standardization of Catena-X
                                    Catena-X Association...
                                    Tractus-X
                                    [Person]

                                    Open-Source Community that maintains FOSS Components compliant to Catena-X Standards
                                    Tractus-X...
                                    Catena-X Environment
                                    [system]
                                    Catena-X Environment...
                                    Catena-X Partner Consumer
                                    [ENTERPRISE]
                                    Catena-X Partner Consumer...
                                    Catena-X Partner Provider
                                    [ENTERPRISE]
                                    Catena-X Partner Provider...
                                    EDC
                                    [system]

                                    EDC...
                                    Business Application
                                    [system]

                                    Business Application...
                                    EDC
                                    [system]

                                    EDC...
                                    communicates
                                    communicates
                                    Uses
                                    Uses
                                    Asset Administration Shell Registry / Digital Twin Registry
                                    [system]

                                    Asset Administration She...
                                    Uses
                                    Uses
                                    Asset Administration Shell Server or Repository
                                    [system]

                                    Asset Administration She...
                                    Any Source System for Data
                                    [system]

                                    Any Source System for Da...
                                    Business Application aaS
                                    [system]

                                    Business Application aaS...
                                    Uses
                                    Uses
                                    Uses
                                    Uses
                                    EDCaaS
                                    [system]

                                    EDCaaS...
                                    Catena-X SaaS Consumer (optional)
                                    [ENTERPRISE]
                                    Catena-X SaaS Consumer (optional)...
                                    Catena-X SaaS Provider (optional)
                                    [ENTERPRISE]
                                    Catena-X SaaS Provider (optional)...
                                    Asset Administration Shell Registry / Digital Twin Registry aaS
                                    [system]

                                    Asset Administration She...
                                    Asset Administration Shell Server or Repository aaS
                                    [system]

                                    Asset Administration She...
                                    Catena-X Operating Company
                                    [ENTERPRISE]
                                    Catena-X Operating Company...
                                    Portal
                                    [system]

                                    Portal...
                                    BPDM
                                    [system]

                                    BPDM...
                                    MIW
                                    [system]

                                    MIW...
                                    configure BPN
                                    configure BPN
                                    get BPN
                                    get BPN
                                    Database
                                    [Container: e.g. PostgreSQL]

                                    Stores assets, policies ...
                                    Database...
                                    KeyCloak
                                    [system]

                                    KeyCloak...
                                    Database
                                    [Container: e.g. PostgreSQL]

                                    Stores assets, policies ...
                                    Database...
                                    Already included in deployed components / Tutorial
                                    Already included in...
                                    planned to be included  in deployed components / Tutorial
                                    planned to be includ...
                                    configure BPN
                                    configure BPN
                                    AAS Discovery Finder/
                                    AAS Discovery Services
                                    [system]

                                    AAS Discovery Finder/...
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/static/img/kit-icons/edc-usage-1-1.drawio.svg b/static/img/kit-icons/edc-usage-1-1.drawio.svg new file mode 100644 index 00000000000..91394745897 --- /dev/null +++ b/static/img/kit-icons/edc-usage-1-1.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Customer / CX Member
                                    Customer / CX Member
                                    Third Party Service Provider
                                    Third Party Service Provider
                                    Operating Environment
                                    Operating Environment
                                    EDC
                                    EDC
                                    <<Data Consumer>>
                                    Web Application Backend-Service
                                    <<Data Consumer>>...
                                    BPDM Gate
                                    BPDM Gate
                                    BPDM Pool
                                    BPDM Pool
                                    EDC
                                    EDC
                                    Customer
                                    Customer
                                    Web Frontend
                                    Web Frontend
                                    Master Data Management System
                                    Master Data Management Sy...
                                    EDC
                                    EDC
                                    Accesses
                                    Accesses
                                    EDC
                                    EDC
                                    Data flow
                                    Data flow
                                    Accesses
                                    Accesses
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/static/img/kit-icons/edc-usage-1-2.drawio.svg b/static/img/kit-icons/edc-usage-1-2.drawio.svg new file mode 100644 index 00000000000..44f1f6488e6 --- /dev/null +++ b/static/img/kit-icons/edc-usage-1-2.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Customer / CX Member
                                    Customer / CX Member
                                    Operating Environment
                                    Operating Environment
                                    Web Application Backend-Service
                                    Web Application Backend-S...
                                    BPDM Gate
                                    BPDM Gate
                                    BPDM Pool
                                    BPDM Pool
                                    Customer
                                    Customer
                                    Web Frontend
                                    Web Frontend
                                    Master Data Management System
                                    Master Data Management Sy...
                                    EDC
                                    EDC
                                    Accesses
                                    Accesses
                                    Data Flow
                                    Data Flow
                                    EDC
                                    EDC
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/static/img/kit-icons/edc-usage-2-1.drawio.svg b/static/img/kit-icons/edc-usage-2-1.drawio.svg new file mode 100644 index 00000000000..41a8b77b863 --- /dev/null +++ b/static/img/kit-icons/edc-usage-2-1.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Customer / CX Member
                                    Customer / CX Member
                                    Third Party Service Provider
                                    Third Party Service Provider
                                    Operating Environment
                                    Operating Environment
                                    EDC
                                    EDC
                                    Web Application Backend-Service
                                    Web Application Backend-S...
                                    Accesses
                                    Accesses
                                    BPDM Gate
                                    BPDM Gate
                                    BPDM Pool
                                    BPDM Pool
                                    EDC
                                    EDC
                                    Customer
                                    Customer
                                    Data Flow
                                    Data Flow
                                    Master Data Management System
                                    Master Data Management Sy...
                                    EDC
                                    EDC
                                    EDC
                                    EDC
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/static/img/kit-icons/edc-usage-2-2.drawio.svg b/static/img/kit-icons/edc-usage-2-2.drawio.svg new file mode 100644 index 00000000000..f032885ea14 --- /dev/null +++ b/static/img/kit-icons/edc-usage-2-2.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Customer / CX Member
                                    Customer / CX Member
                                    Operating Environment
                                    Operating Environment
                                    Web Application Backend-Service
                                    Web Application Backend-S...
                                    Accesses
                                    Accesses
                                    BPDM Gate
                                    BPDM Gate
                                    BPDM Pool
                                    BPDM Pool
                                    EDC
                                    EDC
                                    Customer
                                    Customer
                                    Data Flow
                                    Data Flow
                                    Master Data Management System
                                    Master Data Management Sy...
                                    EDC
                                    EDC
                                    EDC
                                    EDC
                                    Text is not SVG - cannot display
                                    \ No newline at end of file diff --git a/static/img/kit-icons/puris-kit-icon.svg b/static/img/kit-icons/puris-kit-icon.svg new file mode 100644 index 00000000000..b3147503875 --- /dev/null +++ b/static/img/kit-icons/puris-kit-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/kit-icons/puris-kit-icon.svg.license b/static/img/kit-icons/puris-kit-icon.svg.license new file mode 100644 index 00000000000..4d5356d8c19 --- /dev/null +++ b/static/img/kit-icons/puris-kit-icon.svg.license @@ -0,0 +1,4 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kit-icons/puris-kit-icon.svg diff --git a/static/img/DataChainKitIcon.png b/static/img/kits/data-chain/DataChainKitIcon.png similarity index 100% rename from static/img/DataChainKitIcon.png rename to static/img/kits/data-chain/DataChainKitIcon.png diff --git a/static/img/kits/data-chain/DataChainKitIcon.png.license b/static/img/kits/data-chain/DataChainKitIcon.png.license new file mode 100644 index 00000000000..4a50699a000 --- /dev/null +++ b/static/img/kits/data-chain/DataChainKitIcon.png.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/data-chain/DataChainKitIcon.png diff --git a/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg b/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg new file mode 100644 index 00000000000..517cfeefae4 --- /dev/null +++ b/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Data Chain
                                    Data Chain Kit is made for apps and services to access connected data distributed between organizations.
                                    \ No newline at end of file diff --git a/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg.license b/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg.license new file mode 100644 index 00000000000..6d49c3af361 --- /dev/null +++ b/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg.license @@ -0,0 +1,5 @@ +img/This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg diff --git a/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg b/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg new file mode 100644 index 00000000000..191da0e55f5 --- /dev/null +++ b/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg.license b/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg.license new file mode 100644 index 00000000000..bc5fec79b06 --- /dev/null +++ b/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/data-chain/data-chain-kit-logo.drawio.svg diff --git a/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg b/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg new file mode 100644 index 00000000000..6922398fa94 --- /dev/null +++ b/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg @@ -0,0 +1,4 @@ + + + +
                                    Industry Core
                                    Connceting Use-Cases with Core Services
                                    \ No newline at end of file diff --git a/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg.license b/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg.license new file mode 100644 index 00000000000..4b9e6e94f2f --- /dev/null +++ b/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg diff --git a/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg b/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg new file mode 100644 index 00000000000..58e078672c6 --- /dev/null +++ b/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg.license b/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg.license new file mode 100644 index 00000000000..8bc1a916324 --- /dev/null +++ b/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/industry-core/industry-core-kit-logo.drawio.svg diff --git a/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg new file mode 100644 index 00000000000..21e1ad33475 --- /dev/null +++ b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg @@ -0,0 +1,83 @@ + + + + + + + + + + Supply Chain Disruption + + + Notifications + + + + + + + + + + + + + + Inform partners about disruptions in + + + the supply chain. + + + + \ No newline at end of file diff --git a/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg.license b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg.license new file mode 100644 index 00000000000..824f4ef9439 --- /dev/null +++ b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg \ No newline at end of file diff --git a/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg new file mode 100644 index 00000000000..2c8e05c0db1 --- /dev/null +++ b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg.license b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg.license new file mode 100644 index 00000000000..47cc94b06d4 --- /dev/null +++ b/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg.license @@ -0,0 +1,5 @@ +This work is licensed under the CC-BY-4.0 + +- SPDX-License-Identifier: CC-BY-4.0 +- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation +- Source URL: https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/blob/main/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-kit-icon.drawio.svg \ No newline at end of file diff --git a/static/img/tractus-x-community-days-24-12.png b/static/img/tractus-x-community-days-24-12.png new file mode 100644 index 00000000000..1a60ec4aa5a Binary files /dev/null and b/static/img/tractus-x-community-days-24-12.png differ diff --git a/static/img/tractus-x-community-days-agenda-24-12-day1.png b/static/img/tractus-x-community-days-agenda-24-12-day1.png new file mode 100644 index 00000000000..48f38c2f8e0 Binary files /dev/null and b/static/img/tractus-x-community-days-agenda-24-12-day1.png differ diff --git a/static/img/tractus-x-community-days-agenda-24-12-day2.png b/static/img/tractus-x-community-days-agenda-24-12-day2.png new file mode 100644 index 00000000000..6f5ce7bb19f Binary files /dev/null and b/static/img/tractus-x-community-days-agenda-24-12-day2.png differ diff --git a/static/meetings/alignment-and-planning-trace-x.ics b/static/meetings/alignment-and-planning-trace-x.ics deleted file mode 100644 index 295b063483a..00000000000 --- a/static/meetings/alignment-and-planning-trace-x.ics +++ /dev/null @@ -1,64 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Martin Kanal:mailto:martin.kanal@doubleslash.de -DESCRIPTION:Microsoft Teams-Besprechung\nNehmen Sie auf dem Computer\, in d - er mobilen App oder im Raumgerät teil\nHier klicken\, um an der Besprechu - ng teilzunehmen\nBesprechungs-ID: 398 755 550 092\n - Passcode: q9b7H4\nTeams herunterladen | Im Web beitreten\n -UID:040000008200E00074C5B7101A82E00800000000AE27B76AE649DA01000000000000000 - 010000000C3CE29B53C3E8648A87B7C828F916A2C -SUMMARY:[C-X] Alignment & Open Planning Trace-X (Follow-up) -DTSTART:20240122T143000Z -DTEND:20240122T150000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240118T081455Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:0 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_NTA2NTRhNjAtYzMyYi00OTBkLWIxYTUtM2FhNjgzOGU2ZjBk%40thread.v2/ - 0?context=%7b%22Tid%22%3a%2226f86412-f875-4281-b566-fe6fe385e17c%22%2c%22O - id%22%3a%22db3ba521-7335-4e4f-b672-fc9f7c3f5536%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_NTA2NTRhNjAtYzMyYi00OTB - kLWIxYTUtM2FhNjgzOGU2ZjBk@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/committer-office-hour.ics b/static/meetings/committer-office-hour.ics deleted file mode 100644 index c085798cccc..00000000000 --- a/static/meetings/committer-office-hour.ics +++ /dev/null @@ -1,55 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -RRULE:FREQ=WEEKLY;UNTIL=20241229T230000Z;INTERVAL=2;BYDAY=FR;WKST=MO -UID:040000008200E00074C5B7101A82E00800000000BEC23346A689DA01000000000000000 - 0100000005B5619B57D8ABD45AA6CC43444A08EF3 -SUMMARY:Committer Meeting -DTSTART:20240412T120500Z -DTEND:20240412T130000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240408T111709Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_ZjlmNTc5MjMtN2Y2YS00YjliLTg3NTItNWE1MmMzMWUzNmYw%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_ZjlmNTc5MjMtN2Y2YS00Yjl - iLTg3NTItNWE1MmMzMWUzNmYw@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0\,"ct":null\,"btid":null} -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/coordination-feature-development-trace-x.ics b/static/meetings/coordination-feature-development-trace-x.ics deleted file mode 100644 index 443f5194bad..00000000000 --- a/static/meetings/coordination-feature-development-trace-x.ics +++ /dev/null @@ -1,79 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Martin Kanal:mailto:Martin.Kanal@doubleslash.de -DESCRIPTION:Trace-X Open Meeting\n\nVisibility: Public (Tractus-X)\nTitle: - Trace-X Open Meeting\nScope: Coordination of feature development & concept - s\nParticipants: Core Team & Contributors\nDuration: 40 min\nFrequency: We - ekly\nGithub Project:\nhttps://github.com/orgs/eclipse-tractusx/projects/4 - 5/views/5\n\nLink to repository:\nhttps://github.com/eclipse-tractusx/trac - eability-foss\n\nAgenda of the weeklies will be managed in the Projects Di - scussions:\nhttps://github.com/eclipse-tractusx/traceability-foss/discussi - ons\n\n___________________________________________________________________ - ____________\nMicrosoft Teams-Besprechung\nNehmen Sie auf dem Computer\, i - n der mobilen App oder im Raumgerät teil\nHier klicken\, um an der Bespre - chung teilzunehmen\nBesprechungs-ID: 326 272 032 68 - \nPasscode: 6LjF9m\nTeams herunterladen | Im Web beitreten\n[https://www.doubleslash.de/fileadmin/doub - leslash/Bilder/Logo_doubleSlash/logo_doubleSlash_Sonderform_black_p_V1.jpg - ]\nWeitere Infos | Besprechungsoptionen\n__________________________________________________ - ______________________________\n\n -RRULE:FREQ=WEEKLY;COUNT=20;INTERVAL=1;BYDAY=TH;WKST=MO -UID:040000008200E00074C5B7101A82E0080000000060E55CB66353DA01000000000000000 - 01000000022D74E86EAB7A9458533696031E195CD -SUMMARY:[TRACE-X] Trace-X Open Meeting -DTSTART:20240208T130500Z -DTEND:20240208T134500Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240130T095443Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams-Besprechung -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_MTEyNTAyNTYtY2VkOC00ZDdjLTk0NTItNWViYTJmNmJmOTlh%40thread.v2/ - 0?context=%7b%22Tid%22%3a%2226f86412-f875-4281-b566-fe6fe385e17c%22%2c%22O - id%22%3a%22db3ba521-7335-4e4f-b672-fc9f7c3f5536%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_MTEyNTAyNTYtY2VkOC00ZDd - jLTk0NTItNWViYTJmNmJmOTlh@thread.v2"\,"private":true\,"type":0\,"mid":0\," - rid":0\,"uid":null} -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams-Besprechung -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/draft-feature-freeze-r2412.ics b/static/meetings/draft-feature-freeze-r2412.ics deleted file mode 100644 index ef0016674d7..00000000000 --- a/static/meetings/draft-feature-freeze-r2412.ics +++ /dev/null @@ -1,71 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Please have a look at https://eclipse-tractusx.github.io/blog f - or detailed information about the Release Planning for 24.12\n\n__________ - ______________________________________________________________________\nMi - crosoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\nBesprec - hungs-ID: 339 266 968 799\nKennung: oGwMWP\n______________________________ - __\nFür Organisatoren: Besprechungsoptionen | Ein - wahl-PIN zurücksetzen\n___________________________________________________________________ - _____________\n -UID:040000008200E00074C5B7101A82E008000000002F6D5A2FD08FDA01000000000000000 - 01000000009C8655129D2E84B811AD33D4B685D9A -SUMMARY:Draft Feature Freeze - Release 24.12 -DTSTART:20240712T070500Z -DTEND:20240712T100000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240416T073210Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:0 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_YmRhMWViMmUtOTAzYS00YjNmLTgwMDMtMDJhOGZiOGUwOWQ0%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_YmRhMWViMmUtOTAzYS00YjN - mLTgwMDMtMDJhOGZiOGUwOWQ0@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/edc-weekly-extended.ics b/static/meetings/edc-weekly-extended.ics deleted file mode 100644 index 6acf5f69161..00000000000 --- a/static/meetings/edc-weekly-extended.ics +++ /dev/null @@ -1,95 +0,0 @@ -BEGIN:VCALENDAR -PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN -VERSION:2.0 -METHOD:REQUEST -X-MS-OLK-FORCEINSPECTOROPEN:TRUE -BEGIN:VTIMEZONE -TZID:W. Europe Standard Time -BEGIN:STANDARD -DTSTART:16011028T030000 -RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 -TZOFFSETFROM:+0200 -TZOFFSETTO:+0100 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010325T020000 -RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 -TZOFFSETFROM:+0100 -TZOFFSETTO:+0200 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -CLASS:PUBLIC -CREATED:20240619T122822Z -DESCRIPTION:Hello all\,\n\n \n\nThis meeting is s - et up for the greater Catena-X community to get in touch with the EDC deve - lopment team in order to ask questions or discuss issues around the Tractu - s-X EDC.\n\n \n\nTo raise questions in advance of the meeting\, please go - to the EDC repo: https://github.com/eclipse-tractusx/tractusx-edc/discuss - ions \n\n \ - n\nAnd create a question:\n\n1. Create a new discussion on the repo’s di - scussion tab\n2. Select the Q&A category for the issue\n3. Start the title - with the prefix [Extended Sync]…your title goes here\n\n \n\nPoint 3 en - sures we are able to filter accordingly and find your questions fast and e - asy.\n\n \n\nIf you have any questions\, please get back to me or contact - the team via the matrix channel and we will try to help as fast as possibl - e.\n\n \n\nThanks and have a nice day\,\n\nLars\n\n\nJoin Zoom Meeting\nht - tps://eclipse.zoom.us/j/85945828202?pwd=YODkCen20BOQV9WNJEeNFM8zaOlxo9.1 < - https://eclipse.zoom.us/j/85945828202?pwd=YODkCen20BOQV9WNJEeNFM8zaOlxo9.1 - > \n\nMeeting ID: 859 4582 8202\nPasscode: 186934\n\n---\n\nOne tap mobile - \n+17193594580\,\,85945828202# US\n+12532050468\,\,85945828202# US\n\n---\ - n\nDial by your location\n• +1 719 359 4580 US\n• +1 253 205 0468 US\n - • +1 253 215 8782 US (Tacoma)\n• +1 301 715 8592 US (Washington DC)\n - • +1 305 224 1968 US\n• +1 309 205 3325 US\n• +1 312 626 6799 US (Ch - icago)\n• +1 346 248 7799 US (Houston)\n• +1 360 209 5623 US\n• +1 3 - 86 347 5053 US\n• +1 507 473 4847 US\n• +1 564 217 2000 US\n• +1 646 - 876 9923 US (New York)\n• +1 646 931 3860 US\n• +1 669 444 9171 US\n - • +1 669 900 6833 US (San Jose)\n• +1 689 278 1000 US\n• +1 647 558 - 0588 Canada\n• +1 778 907 2071 Canada\n• +1 780 666 0144 Canada\n• + - 1 204 272 7920 Canada\n• +1 438 809 7799 Canada\n• +1 587 328 1099 Can - ada\n• +1 647 374 4685 Canada\n• +33 1 7095 0350 France\n• +33 1 869 - 9 5831 France\n• +33 1 7037 2246 France\n• +33 1 7037 9729 France\n• - +33 1 7095 0103 France\n• +49 695 050 2596 Germany\n• +49 69 7104 992 - 2 Germany\n• +49 69 3807 9883 Germany\n• +49 69 3807 9884 Germany\n• - +49 69 5050 0951 Germany\n• +49 69 5050 0952 Germany\n• +44 208 080 6 - 591 United Kingdom\n• +44 208 080 6592 United Kingdom\n• +44 330 088 5 - 830 United Kingdom\n• +44 131 460 1196 United Kingdom\n• +44 203 481 5 - 237 United Kingdom\n• +44 203 481 5240 United Kingdom\n• +44 203 901 7 - 895 United Kingdom\n• +41 43 210 71 08 Switzerland\n• +41 44 529 92 72 - Switzerland\n• +41 22 591 00 05 Switzerland\n• +41 22 591 01 56 Switz - erland\n• +41 31 528 09 88 Switzerland\n• +41 43 210 70 42 Switzerland - \n• +46 8 5052 0017 Sweden\n• +46 850 539 728 Sweden\n• +46 8 4468 2 - 488 Sweden\n• +46 8 5016 3827 Sweden\n• +46 8 5050 0828 Sweden\n• +4 - 6 8 5050 0829 Sweden\n• +45 47 37 25 75 Denmark\n• +45 89 88 37 88 Den - mark\n• +45 32 70 12 06 Denmark\n• +45 32 71 31 57 Denmark\n• +45 32 - 72 80 10 Denmark\n• +45 32 72 80 11 Denmark\n• +31 20 794 7345 Nether - lands\n• +31 707 006 526 Netherlands\n• +31 20 241 0288 Netherlands\n - • +31 20 794 0854 Netherlands\n• +31 20 794 6519 Netherlands\n• +31 - 20 794 6520 Netherlands\n\nMeeting ID: 859 4582 8202\n\nFind your local nu - mber: https://eclipse.zoom.us/u/kitPLq9X0 \n\n -DTEND;TZID="W. Europe Standard Time":20240625T110000 -DTSTAMP:20240619T095755Z -DTSTART;TZID="W. Europe Standard Time":20240625T103000 -LAST-MODIFIED:20240619T122822Z -LOCATION:https://eclipse.zoom.us/j/85945828202?pwd=YODkCen20BOQV9WNJEeNFM8z - aOlxo9.1 -ORGANIZER;CN="Lars Geyer-Blaumeiser":mailto:lars.blaumeiser@cofinity-x.com -PRIORITY:5 -RRULE:FREQ=WEEKLY;COUNT=53;BYDAY=TU -SEQUENCE:2 -SUMMARY:EDC Weekly | Extended -TRANSP:OPAQUE -UID:ZOOM85945828202 -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MS-OLK-APPTLASTSEQUENCE:2 -BEGIN:VALARM -TRIGGER:-PT10M -ACTION:DISPLAY -DESCRIPTION:Reminder -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/newjoiner-office-hour.ics b/static/meetings/newjoiner-office-hour.ics deleted file mode 100644 index bede6c709d7..00000000000 --- a/static/meetings/newjoiner-office-hour.ics +++ /dev/null @@ -1,72 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Open hour meeting for all new joiner. The goal of the meeting i - s to provide an easy entry on all topics. The meeting will only take place - if specific questions have been submitted.\n\n\n\n_______________________ - _________________________________________________________\nMicrosoft Teams - meeting\nJoin on your computer\, mobile app or room device\nClick here to - join the meeting\nMeeting ID: 367 675 055 002\nPas - scode: EBDt6W\nDownload Teams | Join on the web\nLearn More | Meeting - options\n________________________________________ - ________________________________________\n -RRULE:FREQ=WEEKLY;UNTIL=20241230T230000Z;INTERVAL=4;BYDAY=FR;WKST=MO -UID:040000008200E00074C5B7101A82E00800000000C9B82E063B5BDA01000000000000000 - 010000000B9AF638BBA08F84CA9941F2C0756EE85 -SUMMARY:NewJoiner - Office Hour -DTSTART:20240308T130500Z -DTEND:20240308T140000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240221T103932Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_ZjAzYzVjZGEtZjEwNC00NDI5LWEwODEtN2RhNmI0NDEzNTI2%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_ZjAzYzVjZGEtZjEwNC00NDI - 5LWEwODEtN2RhNmI0NDEzNTI2@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0\,"ct":null\,"btid":null} -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/office-hour.ics b/static/meetings/office-hour.ics deleted file mode 100644 index 0ddc622e77f..00000000000 --- a/static/meetings/office-hour.ics +++ /dev/null @@ -1,55 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -RRULE:FREQ=WEEKLY;UNTIL=20241229T230000Z;INTERVAL=1;BYDAY=FR;WKST=MO -UID:040000008200E00074C5B7101A82E00800000000AA5570E7A589DA01000000000000000 - 0100000008A72A38523A5574690821DB20381A598 -SUMMARY:Office Hour -DTSTART:20240412T110500Z -DTEND:20240412T120000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240408T111427Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_MDFiNDJjMmQtNjFkYi00ODdjLTk2NDgtZGMwNTRmYzg3NzM0%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_MDFiNDJjMmQtNjFkYi00ODd - jLTk2NDgtZGMwNTRmYzg3NzM0@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0\,"ct":null\,"btid":null} -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/open-planning-r2408.ics b/static/meetings/open-planning-r2408.ics deleted file mode 100644 index 4a841b3fc7e..00000000000 --- a/static/meetings/open-planning-r2408.ics +++ /dev/null @@ -1,74 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Hello Tractus-X Community\,\n\nwe want to plan the release 24.0 - 8 together with you and hereby invite you to the Open Planning.\nYou can f - ind the agenda and further information under the following link.\n\nBest regards\n\n__ - __________________________________________________________________________ - ____\nMicrosoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\ - nBesprechungs-ID: 322 884 704 332\nKennung: vv9zsC\n______________________ - __________\nEinwählen per Telefon\nFür Organisatoren: Besprechungsoption - en | Einwahl-PIN zurücksetzen\n___________________________________ - _____________________________________________\n -RRULE:FREQ=WEEKLY;UNTIL=20240413T220000Z;INTERVAL=1;BYDAY=WE,TH;WKST=MO -UID:040000008200E00074C5B7101A82E0080000000002D4B9B91863DA01000000000000000 - 010000000E19998C151F27A428E4D6D5E99149FC8 -SUMMARY:Tractus-X Open Planning R24.08 -DTSTART:20240410T060000Z -DTEND:20240410T100000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240219T094804Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_NzlmMTQzMjktMmQ4YS00ODAxLWIwMjktZmZmZmZiOGY2ZDYy%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_NzlmMTQzMjktMmQ4YS00ODA - xLWIwMjktZmZmZmZiOGY2ZDYy@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/open-planning-r2412.ics b/static/meetings/open-planning-r2412.ics deleted file mode 100644 index 1ae28cb8670..00000000000 --- a/static/meetings/open-planning-r2412.ics +++ /dev/null @@ -1,72 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Please have a look at https://eclipse-tractusx.github.io/blog f - or detailed information about the Release Planning for 24.12\n\n__________ - ______________________________________________________________________\nMi - crosoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\nBesprec - hungs-ID: 344 731 276 68\nKennung: abwjeM\n_______________________________ - _\nFür Organisatoren: Besprechungsoptionen | Einw - ahl-PIN zurücksetzen\n____________________________________________________________________ - ____________\n -RRULE:FREQ=WEEKLY;UNTIL=20240803T220000Z;INTERVAL=1;BYDAY=WE,TH;WKST=MO -UID:040000008200E00074C5B7101A82E00800000000E9AAEA0ECF8FDA01000000000000000 - 010000000FAD04F6D310F94499D61486CCD2FBA1D -SUMMARY:Open Planning Days - Release 24.12 -DTSTART:20240731T060500Z -DTEND:20240731T100000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240416T101617Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_ZWY0ODI3ZmYtNjFiOS00OTI1LTlmNWMtZGUzNTFhNzg2OWI3%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_ZWY0ODI3ZmYtNjFiOS00OTI - 1LTlmNWMtZGUzNTFhNzg2OWI3@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/osp-feature-demo.ics b/static/meetings/osp-feature-demo.ics deleted file mode 100644 index 5464415328f..00000000000 --- a/static/meetings/osp-feature-demo.ics +++ /dev/null @@ -1,694 +0,0 @@ -BEGIN:VCALENDAR -PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN -VERSION:2.0 -METHOD:REQUEST -X-MS-OLK-FORCEINSPECTOROPEN:TRUE -BEGIN:VTIMEZONE -TZID:W. Europe Standard Time -BEGIN:STANDARD -DTSTART:16011028T030000 -RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 -TZOFFSETFROM:+0200 -TZOFFSETTO:+0100 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010325T020000 -RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 -TZOFFSETFROM:+0100 -TZOFFSETTO:+0200 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -CLASS:PUBLIC -CREATED:20240222T102406Z -DESCRIPTION: \n____________________________________________________________ - ____________________ \nMicrosoft Teams-Besprechung \nNehmen Sie auf dem Co - mputer\, in der mobilen App oder im Raumgerät teil \nHier klicken\, um an - der Besprechung teilzunehmen \nBesprechungs-ID: - 311 355 291 02 \nPasscode: qmLFzx \nTeams herunterladen | Im Web beitreten \nMit einem Videokonfere - nzgerät teilnehmen \n176000@videocall.bmwgroup.net \nVideokonferenz-ID: 1 - 26 311 195 1 \nAlternative VTC-Anweisungen \nOder rufen Sie an (nur Audio) \n+49 69 365057718 - \,\,288711585# Germany\, Frankfurt a - m Main \nTelefonkonferenz-ID: 288 711 585# \nLokale Nummer suchen | PIN zurücksetzen \nWeitere Infos | Besprechun - gsoptionen \n___________________________________ - _____________________________________________ \n \n -DTEND;TZID="W. Europe Standard Time":20240226T120000 -DTSTAMP:20240222T102406Z -DTSTART;TZID="W. Europe Standard Time":20240226T110000 -LAST-MODIFIED:20240222T102406Z -LOCATION:Microsoft Teams-Besprechung -ORGANIZER;CN="Graeb Leon, (Leon.Graeb@partner.bmwgroup.com)":mailto:Leon.Gr - aeb@partner.bmwgroup.com -PRIORITY:5 -SEQUENCE:0 -SUMMARY;LANGUAGE=de:OSP Feature Demo -TRANSP:OPAQUE -UID:040000008200E00074C5B7101A82E00800000000E099DA428165DA01000000000000000 - 010000000D2E1654F7C969D48B47F6054BB366D5D -X-ALT-DESC;FMTTYPE=text/html:

                                     \;

                                    ________________________________________________ - ________________________________

                                    Microsoft Teams-Besprechung

                                    Nehmen Sie auf dem Computer\, in der mobilen App oder im R - aumgerät teil < - /span>

                                    Hier klicke - n\, um an der Besprechung teilzunehmen

                                    Besprechungs-ID: 311 355 291 02
                                    Passcode - : qmLFzx

                                    < - span style='font-size:10.5pt\;font-family:"Segoe UI"\,sans-serif\;mso-fare - ast-font-family:"Times New Roman"\;color:#252424'>Teams herunterladen | Im Web beitreten

                                    -

                                    Mit einem Videokonferenzgerät teiln - ehmen

                                    176000@videocall.bmwgroup.net

                                    Videokonfe - renz-ID: 126 311 - 195 1

                                    Oder rufen Sie an - (nur Audio) -

                                    +49 69 365057718\,\,288711585# -  \; Ger - many\, Frankfurt am Main

                                    Telefonkonferenz-ID: 288 711 585#

                                    ___________________________________ - _____________________________________________

                                     \;

                                    -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MS-OLK-AUTOFILLLOCATION:FALSE -X-MS-OLK-CONFTYPE:0 -BEGIN:VALARM -TRIGGER:-PT15M -ACTION:DISPLAY -DESCRIPTION:Reminder -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/portal-open-meeting.ics b/static/meetings/portal-open-meeting.ics deleted file mode 100644 index 60a7e900ab7..00000000000 --- a/static/meetings/portal-open-meeting.ics +++ /dev/null @@ -1,78 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:https://teams.microsoft.com/l/meetup-join/19%3ameeting_YmIyYjgw - OTQtZjI1Ny00YmM0LTlmOWQtODRjZWFmZWM1Y2E3%40thread.v2/0?context=%7b%22Tid%2 - 2%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-6 - 6ff-4695-afa2-08f893d8aaf6%22%7d\n________________________________________ - ________________________________________\nMicrosoft Teams Benötigen Sie H - ilfe?\nJetzt an der Besprechun - g teilnehmen\nBesprechungs-ID: 323 046 266 737\nKen - nung: 5rX5Vy\n________________________________\nFür Organisatoren: Bespre - chungsoptionen\n__________________________________ - ______________________________________________\n -RRULE:FREQ=WEEKLY;UNTIL=20241230T230000Z;INTERVAL=1;BYDAY=TH;WKST=MO -UID:040000008200E00074C5B7101A82E0080000000027A164AF93CBDA01000000000000000 - 010000000FB448A362B62AC4F8BCA460CB8DE3866 -SUMMARY:Portal - Open Meeting -DTSTART:20240704T113500Z -DTEND:20240704T120000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240701T114651Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:https://teams.microsoft.com/l/meetup-join/19%3ameeting_YmIyYjgwOTQ - tZjI1Ny00YmM0LTlmOWQtODRjZWFmZWM1Y2E3%40thread.v2/0?context=%7b%22Tid%22%3 - a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oid%22%3a%22a8b7a5ee-66ff - -4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_YmIyYjgwOTQtZjI1Ny00YmM0LTlmOWQtODRjZWFmZWM1Y2E3%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_YmIyYjgwOTQtZjI1Ny00YmM - 0LTlmOWQtODRjZWFmZWM1Y2E3@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:https://teams.microsoft.com/l/meetup-join/1 - 9%3ameeting_YmIyYjgwOTQtZjI1Ny00YmM0LTlmOWQtODRjZWFmZWM1Y2E3%40thread.v2/0 - ?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22Oi - d%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/refinement-day-1-r2412.ics b/static/meetings/refinement-day-1-r2412.ics deleted file mode 100644 index 054b8e6b3af..00000000000 --- a/static/meetings/refinement-day-1-r2412.ics +++ /dev/null @@ -1,71 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Please have a look at https://eclipse-tractusx.github.io/blog f - or detailed information about the Release Planning for 24.12\n\n\n________ - ________________________________________________________________________\n - Microsoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\nBespr - echungs-ID: 329 979 340 528\nKennung: ytFAeo\n____________________________ - ____\nFür Organisatoren: Besprechungsoptionen | E - inwahl-PIN zurücksetzen\n_________________________________________________________________ - _______________\n -UID:040000008200E00074C5B7101A82E008000000009BE2FFB5CF8FDA01000000000000000 - 010000000E4546C4CCB105D4694A4BFD0F2DA1383 -SUMMARY:Refinement Day 1 - Release 24.12 -DTSTART:20240701T070500Z -DTEND:20240701T100000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240416T073434Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:0 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_OWE3ZjJmZTItN2ZlYi00YjFkLWIwMGQtNDBmMTBiOTdiZTE2%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_OWE3ZjJmZTItN2ZlYi00YjF - kLWIwMGQtNDBmMTBiOTdiZTE2@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/refinement-day-2-r2412.ics b/static/meetings/refinement-day-2-r2412.ics deleted file mode 100644 index de84d500b7d..00000000000 --- a/static/meetings/refinement-day-2-r2412.ics +++ /dev/null @@ -1,71 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Please have a look at https://eclipse-tractusx.github.io/blog f - or detailed information about the Release Planning for 24.12\n\n\n________ - ________________________________________________________________________\n - Microsoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\nBespr - echungs-ID: 370 799 059 313\nKennung: UqYpeW\n____________________________ - ____\nFür Organisatoren: Besprechungsoptionen | E - inwahl-PIN zurücksetzen\n_________________________________________________________________ - _______________\n -UID:040000008200E00074C5B7101A82E00800000000994F3CFBCF8FDA01000000000000000 - 0100000001866A3188EE8ED4EB0B0FAA5D2791049 -SUMMARY:Refinement Day 2 - Release 24.12 -DTSTART:20240722T070500Z -DTEND:20240722T100000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240416T073242Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:0 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_ZDFjMWQzNmYtZGZkOS00MDFmLWI5ZjYtNDRhNDRjZjIxNDQ4%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_ZDFjMWQzNmYtZGZkOS00MDF - mLWI5ZjYtNDRhNDRjZjIxNDQ4@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/refinement-phase-r2412.ics b/static/meetings/refinement-phase-r2412.ics deleted file mode 100644 index f0978e01c38..00000000000 --- a/static/meetings/refinement-phase-r2412.ics +++ /dev/null @@ -1,71 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -DESCRIPTION:Please have a look at https://eclipse-tractusx.github.io/blog f - or detailed information about the Release Planning for 24.12\n\n__________ - ______________________________________________________________________\nMi - crosoft Teams Benötigen Sie Hilfe?\nJetzt an der Besprechung teilnehmen\nBesprec - hungs-ID: 336 486 915 461\nKennung: bpiHcy\n______________________________ - __\nFür Organisatoren: Besprechungsoptionen | Ein - wahl-PIN zurücksetzen\n___________________________________________________________________ - _____________\n -UID:040000008200E00074C5B7101A82E00800000000CDCE013FCE8FDA01000000000000000 - 010000000F897806F026016449F59ADEC647D3FB5 -SUMMARY:Refinement Phase - Release 24.12 -DTSTART;VALUE=DATE:20240624 -DTEND;VALUE=DATE:20240729 -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240416T072529Z -TRANSP:TRANSPARENT -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:FREE -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:TRUE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:0 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_ZTQ5ZWMzNDUtMWQ0My00MDFhLWIxZmYtZjRlNTU2NzFmYmFk%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_ZTQ5ZWMzNDUtMWQ0My00MDF - hLWIxZmYtZjRlNTU2NzFmYmFk@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0} -X-MICROSOFT-ONLINEMEETINGEXTERNALLINK: -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT18H -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/meetings/security-office-hour.ics b/static/meetings/security-office-hour.ics deleted file mode 100644 index 7b1fd6212ae..00000000000 --- a/static/meetings/security-office-hour.ics +++ /dev/null @@ -1,55 +0,0 @@ -BEGIN:VCALENDAR -METHOD:PUBLISH -PRODID:Microsoft Exchange Server 2010 -VERSION:2.0 -BEGIN:VTIMEZONE -TZID:tzone://Microsoft/Utc -BEGIN:STANDARD -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:STANDARD -BEGIN:DAYLIGHT -DTSTART:16010101T000000 -TZOFFSETFROM:+0000 -TZOFFSETTO:+0000 -END:DAYLIGHT -END:VTIMEZONE -BEGIN:VEVENT -ORGANIZER;CN=Stephan Bauer:mailto:stephan.bauer@catena-x.net -RRULE:FREQ=WEEKLY;UNTIL=20241229T230000Z;INTERVAL=2;BYDAY=TH;WKST=MO -UID:040000008200E00074C5B7101A82E008000000001FCA7B6BA689DA01000000000000000 - 01000000091B106F143A50941B72CBC0BABE2F653 -SUMMARY:Security - Office Hour -DTSTART:20240411T063500Z -DTEND:20240411T073000Z -CLASS:PUBLIC -PRIORITY:5 -DTSTAMP:20240408T111808Z -TRANSP:OPAQUE -STATUS:CONFIRMED -LOCATION:Microsoft Teams Meeting -X-MICROSOFT-CDO-BUSYSTATUS:BUSY -X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY -X-MICROSOFT-CDO-ALLDAYEVENT:FALSE -X-MICROSOFT-CDO-IMPORTANCE:1 -X-MICROSOFT-CDO-INSTTYPE:1 -X-MICROSOFT-SKYPETEAMSMEETINGURL:https://teams.microsoft.com/l/meetup-join/ - 19%3ameeting_MzYzMzVhODMtYWQyOC00NWVlLWEyMjMtNjVlZmY2NTlkNTdk%40thread.v2/ - 0?context=%7b%22Tid%22%3a%221ad22c6d-2f08-4f05-a0ba-e17f6ce88380%22%2c%22O - id%22%3a%22a8b7a5ee-66ff-4695-afa2-08f893d8aaf6%22%7d -X-MICROSOFT-SKYPETEAMSPROPERTIES:{"cid":"19:meeting_MzYzMzVhODMtYWQyOC00NWV - lLWEyMjMtNjVlZmY2NTlkNTdk@thread.v2"\,"rid":0\,"mid":0\,"uid":null\,"priva - te":true\,"type":0\,"ct":null\,"btid":null} -X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin - eMeetingProvider":3} -X-MICROSOFT-DONOTFORWARDMEETING:FALSE -X-MICROSOFT-DISALLOW-COUNTER:FALSE -X-MICROSOFT-LOCATIONDISPLAYNAME:Microsoft Teams Meeting -BEGIN:VALARM -DESCRIPTION:REMINDER -TRIGGER;RELATED=START:-PT15M -ACTION:DISPLAY -END:VALARM -END:VEVENT -END:VCALENDAR diff --git a/static/tutorials/e2e/dtr-access-token.png b/static/tutorials/e2e/dtr-access-token.png new file mode 100644 index 00000000000..a1b25dfa306 Binary files /dev/null and b/static/tutorials/e2e/dtr-access-token.png differ diff --git a/static/tutorials/e2e/dtr-get-aas-ids.png b/static/tutorials/e2e/dtr-get-aas-ids.png new file mode 100644 index 00000000000..9cee90eb3cf Binary files /dev/null and b/static/tutorials/e2e/dtr-get-aas-ids.png differ diff --git a/static/tutorials/e2e/dtr-get-data.png b/static/tutorials/e2e/dtr-get-data.png new file mode 100644 index 00000000000..e5da2a4543a Binary files /dev/null and b/static/tutorials/e2e/dtr-get-data.png differ diff --git a/static/tutorials/e2e/dtr-get-descriptor.png b/static/tutorials/e2e/dtr-get-descriptor.png new file mode 100644 index 00000000000..c694217ad63 Binary files /dev/null and b/static/tutorials/e2e/dtr-get-descriptor.png differ diff --git a/static/tutorials/e2e/dtr-get-token.png b/static/tutorials/e2e/dtr-get-token.png new file mode 100644 index 00000000000..ccc08e8f87f Binary files /dev/null and b/static/tutorials/e2e/dtr-get-token.png differ diff --git a/docs/tutorials/e2e/connect/assets/img.png b/static/tutorials/e2e/img.png similarity index 100% rename from docs/tutorials/e2e/connect/assets/img.png rename to static/tutorials/e2e/img.png diff --git a/docs/tutorials/e2e/connect/assets/scr_pgadmin1.png b/static/tutorials/e2e/scr_pgadmin1.png similarity index 100% rename from docs/tutorials/e2e/connect/assets/scr_pgadmin1.png rename to static/tutorials/e2e/scr_pgadmin1.png diff --git a/utils/kitsGallery.js b/utils/kitsGallery.js index 1c3f0edb33e..f080f68dd4b 100644 --- a/utils/kitsGallery.js +++ b/utils/kitsGallery.js @@ -1,5 +1,24 @@ +/********************************************************************************* + * Copyright (c) 2023, 2024 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + import Business_Kit from "@site/static/img/bpkit.png"; -import DataChain_Kit from "@site/static/img/datachainkit.png"; +import DataChain_Kit from "@site/static/img/kits/data-chain/data-chain-kit-gallery.drawio.svg"; import Connector_Kit from "@site/static/img/connectorkit-min.png"; import Traceability_Kit from "@site/static/img/traceabilitykit.png"; import BehaviourTwin_Kit from "@site/static/img/behaviourtwinkit.png"; @@ -15,17 +34,19 @@ import Circularity_Kit from "@site/static/img/Circularity_Kit.png"; import Agents_Kit from "@site/static/img/Agents_Kit.png"; import Maas_Kit from "@site/static/img/MaaSKIT.png"; import PURIS_Kit from '@site/static/img/PURISKIT.png'; -import Industry_Kit from "@site/static/img/Industry_Kit.png" +import Industry_Kit from "@site/static/img/kits/industry-core/industry-core-kit-gallery.drawio.svg"; +import SupplyChainsDisruptionNotifications_Kit from "@site/static/img/kits/supply-chain-disruption-notification/supply-chain-disruption-notification-gallery.drawio.svg"; // import MoreToCome from "@site/static/img/gallery-more_coming-minified.png"; //************************** IMPORTANT **************************** */ // WHEN DEFINING A "DOMAIN" IN THE kitsGallery ARRAY, MAKE SURE TO SELECT/TYPE EXACTLY AS BELOW: -// * Network & Core Services +// * Industry Core +// * Network Services // * PLM / Quality -// * Sustainability // * Resiliency +// * Sustainability //**************************************************************** */ @@ -33,21 +54,21 @@ export const kitsGallery = [ { id: 1, name: 'Business Partner Kit', - domain: 'Network & Core Services', + domain: 'Network Services', img: Business_Kit, pageRoute: "/docs-kits/kits/Business Partner Kit/Adoption View" }, { id: 2, name: 'Data Chain Kit', - domain: 'Network & Core Services', + domain: 'Industry Core', img: DataChain_Kit, pageRoute: "/docs-kits/kits/Data%20Chain%20Kit/Adoption%20View%20Data%20Chain%20Kit" }, { id: 3, name: 'Connector Kit', - domain: 'Network & Core Services', + domain: 'Network Services', img: Connector_Kit, pageRoute: "/docs-kits/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view" }, @@ -68,7 +89,7 @@ export const kitsGallery = [ { id: 6, name: 'Digital Twin Kit', - domain: 'Network & Core Services', + domain: 'Network Services', img: DigitalTwin, pageRoute: "/docs-kits/kits/Digital%20Twin%20Kit/Adoption%20View%20Digital%20Twin%20Kit" }, @@ -96,7 +117,7 @@ export const kitsGallery = [ { id: 10, name: 'Agents Kit', - domain: 'Network & Core Services', + domain: 'Network Services', img: Agents_Kit, pageRoute: "/docs-kits/kits/knowledge-agents/adoption-view/intro" }, @@ -112,7 +133,7 @@ export const kitsGallery = [ name: 'DCM Kit', domain: 'Resiliency', img: DemandandCapacityManagement_Kit, - pageRoute: "/docs-kits/kits/DCM-Kit/adoption-view" + pageRoute: "/docs-kits/kits/Demand%20and%20Capacity%20Management%20Kit/adoption-view/overview" }, { id: 13, @@ -145,7 +166,7 @@ export const kitsGallery = [ { id: 17, name: "Industry Core Kit", - domain: 'Network & Core Services', + domain: 'Industry Core', img: Industry_Kit, pageRoute: "/docs-kits/kits/Industry%20Core%20Kit/Business%20View%20Industry%20Core%20Kit" }, @@ -156,4 +177,11 @@ export const kitsGallery = [ pageRoute: '/docs-kits/kits/PURIS%20Kit/Adoption%20View%20PURIS%20Kit', img: PURIS_Kit, }, + { + id: 19, + name: 'Supply Chain Disruption Notifications KIT', + domain: 'Resiliency', + pageRoute: '/docs-kits/next/kits/Supply%20Chain%20Disruption%20Notifications%20KIT/Adoption%20View%20PURIS-DCM%20Supply%20Chain%20Disruption%20Notifications', + img: SupplyChainsDisruptionNotifications_Kit, + }, ] diff --git a/utils/newsTitles.js b/utils/newsTitles.js index 63f427cdd1e..e8d1ecfc105 100644 --- a/utils/newsTitles.js +++ b/utils/newsTitles.js @@ -1,27 +1,27 @@ export const newsTitles = [ { - date: "28.05.2024", - title: "Tractus-X 24.05 is available now", - blogLink: "/blog/new-release-2405" - }, + date: "18.11.2024", + title: "Eclipse Tractus-X Release 25.03 Planning Recap", + blogLink: "/blog/open-planning-recap-R25.03" + }, { - date: "31.07.2024", - title: "Tractus-X Open Planning R24.12", - blogLink: "/blog/open-planning-r24-12" + date: "13.11.2024", + title: "Open Planning for Release 25.03", + blogLink: "/blog/open-planning-R25.03" }, { - date: "08.03.2024", - title: "Tractus-X 24.03 available now", - blogLink: "/blog/new-release-2403" + date: "06.11.2024", + title: "Refinement Day 2 for Release 25.03", + blogLink: "/blog/refinement-day-2-R25.03" }, { - date: "19.02.2024", - title: "Tractus-X Open Planning R24.08", - blogLink: "/blog/open-planning-r24-08" + date: "16.10.2024", + title: "Refinement Day 1 for Release 25.03", + blogLink: "/blog/refinement-day-1-R25.03" }, { - date: "19.02.2024", - title: "Second Eclipse Tractus-X Community Days", - blogLink: "/blog/community-days-05-2024" - } + date: "05.12.2024", + title: "Third Eclipse Tractus-X Community Days", + blogLink: "/blog/community-days-12-2024" + }, ]